Comment copier coller des données d'un classeur à un autre ?

Comment copier coller des données d'un classeur à un autre ? - VB/VBA/VBS - Programmation

Marsh Posté le 28-02-2013 à 20:19:38    

Bonjour, je galère bcp avec plusieurs codes que j'ai essayé de faire et je n'arrive tj pas à résoudre mon pb.  
 
 
Le but est d’avoir un fichier Excel nommé « classeur1 » qui récupère toutes les données de plusieurs fichiers excel présents dans un répertoire qui stocke ces fichiers excel (fichier 1 puis 2 puis 3 et 4 ...), le chemin d’accès est connu, la macro doit ouvrir un par un ces fichiers et coller les données de la colonne A du fichier 1 dans le classeur 1 destiné à la récupération de l’ensemble des données.  
 
Exemple : classeur1 ouvert  
 
Clique sur la macro qui ...  
 
Ouvre le fichier 1 excel copie la colonne A et la colle en ligne dans la ligne A1 du fichier Classeur1  
 
Puis fermeture du fichier 1  
 
Ouverture du fichier 2 copie la colonne A et la colle en ligne A2 du fichier Classeur1 puis ferme le fichier 2 et ainsi desuite  
 
 
 

Code :
  1. Sub transfert()
  2. Dim fichier As String
  3. Dim chemin As String
  4. Dim derlig As Long
  5. Dim Xks As Worksheet
  6. Dim lifin As String
  7. Set wks = ThisWorkbook.Sheets("Feuil" ) 'fichier excel ouvert qui va récupérer les données
  8. chemin = "C:\Bibliothèque\Document\test macro\"
  9. derlig = 2
  10. fichier = Dir(chemin & "*.xls" )
  11. Do While fichier <> ""
  12. Workbooks.Open (chemin & fichier)
  13. derlig = Range("A7:A" & Rows.Count).End(xlUp).Row
  14. lifin = Range("A" & Rows.Count).End(xlUp).Row
  15. With Sheets("Harnais" ).Range("A7:A" & lifin).Copy
  16. End With
  17. wks.Range("A" & derlig).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
  18. SkipBlanks:=False, Transpose:=False
  19. derlig = derlig + 1
  20. ActiveWorkbook.Close
  21. fichier = Dir
  22. Loop
  23. Set wks = Nothing
  24. End Sub


 
 
 
 
j'ai également un autre code mais sans succès  
 
 
 

Code :
  1. Sub test()
  2. Dim fichier As String, chemin As String
  3. Dim wb As Workbook
  4. chemin = "C:\Bibliothèque\Documents\test macro\"
  5. fichier = Dir(chemin & "*.xls" )
  6. Do While fichier <> ""
  7. Set wb = Workbooks.Open(chemin & fichier)
  8. Const FO = "Onglet1"
  9. Const FD = "Feuil1"
  10. Dim lifin As Long
  11. Set FDest = ThisWorkbook
  12. Set FPrem = Workbooks.Open(chemin & fichier)
  13. lifin = Range("A" & Rows.Count).End(xlUp).Row
  14. Workbooks("Classeur1.xls" ).Sheets(FD).Ra… (Cells(lig, 1)), (Cells(lig, 1)) = Application.Transpose.Workbook(FPrem).Sh… & lifin)
  15. FPrem.Close True
  16. Set wb = Nothing
  17. fichier = Dir
  18. Loop
  19. End Sub


 
 
 
merci bcp, bonne soirée

Reply

Marsh Posté le 28-02-2013 à 20:19:38   

Reply

Marsh Posté le 04-03-2013 à 20:58:27    

 
           Bonjour,  toujours d'actualité ?
 

Reply

Marsh Posté le 06-03-2013 à 12:18:02    

Salut Marc L,
 
Je ne sais pas si cela est toujours d'actualite pour eglantine 217, mais moi ca peut m'interesser donc si tu as une proposition, n'hesite surtout pas a la partager

Reply

Marsh Posté le 06-03-2013 à 12:38:15    

eglantine217 a écrit :

j'ai également un autre code mais sans succès

            Pas assez précis sur la problématique rencontrée …
 
            Le premier code à la louche m'a l'air correct, juste revoir les options de la méthode  PasteSpecial  …
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed