begin process at 2008 07 20 13:08:01
1 213 234 membres
151 nouveaux aujourd'hui
14 166 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : transfert de donnée d'un fichier à l'autre [ Langages dérivés / VBA ] (inge68)

transfert de donnée d'un fichier à l'autre le 15/05/2008 10:38:10

inge68

Bonjour, j'essaie de recuperer une plage d'un fichier .xls et la mettre dans un autre (essai.xls)
Ce que je comprends pas c'est qu'en mode pas à pas, quand je selectionne les 2 fichiers manuelement pour  copier/coller, là ca marche nickel. Mais quand j'execute mon progr directement. ca marche pas!!!

Je procede de la facon suivante:
Sub essai()

Dim xApp As Object
Dim wBook1 As Object
Dim wBook2 As Object
Dim wSheet1 As Object
Dim wSheet2 As Object

'créer les objets excel + classeur
Set xApp = CreateObject("Excel.Application")

Set wBook1 = xApp.Workbooks.Open("C:\Documents and Settings\youmane\Bureau\mon_fichier.xls")
Set wSheet1 = wBook1.Worksheets("mafeuille")

wSheet1.Select
Range("A1:B1890").Copy  

wBook1.Close False

Set wBook2 = xApp.Workbooks.Open("C:\Documents and Settings\youmane\Bureau\essai.xls")
Set wSheet2 = wBook2.Worksheets("essai")

wSheet2.Select
Range("A1").Select    
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

'wBook2.Close False
'xApp.Quit

End Sub

Merci pour votre réponse



Re : transfert de donnée d'un fichier à l'autre le 15/05/2008 11:02:42

jrivet
Membre Club
Salut,
Essaie d'adapter ceci

Dim XlApp As Object
Dim W1 As Object
Dim W2 As Object
Set XlApp = CreateObject("Excel.Application")
   
   'ouvre le Classeur destination
   Set W1 = XlApp.Workbooks.Open("C:\PP.Xls")
   'Ouvre Classeur Source
   Set W2 = XlApp.Workbooks.Open("C:\Test1.Xls")
   
   Call W2.Worksheets("Feuil1").Range("A1:H33").Copy(W1.Worksheets("Feuil1").Range("A1"))

   'ferme Source sans sauver
   Call W1.Close(False)
   'ferme destination en sauvant les modif
   Call W2.Close(True)
   'ferme Excel
   Call XlApp.Quit
   'destruction des objets
   Set XlApp = Nothing
   Set W1 = Nothing
   Set W2 = Nothing
By Renfield


@+: Ju£i€n
Pensez: Réponse acceptée

Re : transfert de donnée d'un fichier à l'autre le 15/05/2008 11:05:53

jrivet
Membre Club
Re,
Une petite erreur s'est glissée dans mon code

ceci
   'ferme Source sans sauver
   Call W1.Close(False)
   'ferme destination en sauvant les modif
   Call W2.Close(True)

devient

   'ferme Source sans sauver
   Call W2.Close(False)
   'ferme destination en sauvant les modif
   Call W1.Close(True)


@+: Ju£i€n
Pensez: Réponse acceptée

Re : transfert de donnée d'un fichier à l'autre le 15/05/2008 11:25:22

inge68
Merci jrivet pour ta réponse,
ça marche mais seulement il me transfert pas ce que je veux dans le fichier de destination, il me demande de sauvegarder dans un autre fichier, c'est normal?

Re : transfert de donnée d'un fichier à l'autre le 15/05/2008 11:28:19

jrivet
Membre Club
Est tu sur que tout tes classeur et autres applications Excel sont bien fermées?

Regarde dans la  liste des processus si tu n'as pas des Application EXCEL.EXE "fantôme"

@+: Ju£i€n
Pensez: Réponse acceptée

Re : transfert de donnée d'un fichier à l'autre le 15/05/2008 11:30:54

inge68
mon fichier de destination est ouvert c'est depuis ce fichier que je lance mon code, c'est le but

Re : transfert de donnée d'un fichier à l'autre le 15/05/2008 11:35:13

jrivet
Membre Club
Re,
Bah je croyais que tu faisais tout cela depuis VB6 moi.

Dans ce cas si c'est le fichier de destination qui est ouvert tu peux simplifier le code plus besoin de l'ouvrir.

De plus si tu es directement sous Excel tu n'as pas besoin de créer une nouvelle application EXCEL.

@+: Ju£i€n
Pensez: Réponse acceptée

Re : transfert de donnée d'un fichier à l'autre le 15/05/2008 11:37:15

jrivet
Membre Club
Réponse acceptée !
Re,
Ceci devrait suffir alors si tu travaille directement sous EXCEL


Dim W1 As Workbook
Dim W2 As Workbook
 
  'le Classeur destination est dejà ouvert donc c'est le classeur actif
  Set W1 = ActiveWorkbook
  'Ouvre Classeur Source
  Set W2 = Application.Workbooks.Open("C:\Test1.Xls")

  Call W2.Worksheets("Feuil1").Range("A1:H33").Copy(W1.Worksheets("Feuil1").Range("A1"))

  'ferme Source sans sauver
  Call W2.Close(False)
  'Sauve classeur destination
  Call W1.Save
 
  Set W1 = Nothing
  Set W2 = Nothing
By Renfield


@+: Ju£i€n
Pensez: Réponse acceptée

Re : transfert de donnée d'un fichier à l'autre le 15/05/2008 11:47:22

inge68
si j'ai fait ce code mais ca marche pas!! Dsl je suis encore debutant

Dim
XlApp As Object
Dim W1 As Object
Dim W2 As Object
Set XlApp = CreateObject("Excel.Application")
   
   'Ouvre Classeur Source
   Set W2 = XlApp.Workbooks.Open("C:\Test1.Xls")
   
   Call W2.Worksheets("Feuil1").Range("A1:H33").Copy(workbooks("PP.Xls").Worksheets("Feuil1").Range("A1"))

   'ferme Source sans sauver
   Call W1.Close(False)
   'ferme Excel
   Call XlApp.Quit
   'destruction des objets
   Set XlApp = Nothing
   Set W1 = Nothing
   Set W2 = Nothing

Re : transfert de donnée d'un fichier à l'autre le 15/05/2008 11:48:34

inge68
excuse moi j'ai pas vu ton dernier message
je vais l'essaier merci bcp jrivet


[Page 1 Page 2]
Classé sous : fichier, xls, essai, objectdim, xapp

Participer à cet échange

Pub



Appels d'offres

Dessins techniques
Budget : 60€
Animation Flash - Doma...
Budget : 370€
Application flash medi...
Budget : 1 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS