Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

copier deux feuilles excel d'un classeur, les coller sur une autre feuille

1 réponse
Avatar
struter
Bonjour,

Je souhaiterais copier les données de deux feuilles d'un classeur excel et les coller à la suite dans une autre feuille excel, dans un autre classeur.
Les colonnes des deux feuilles à copier/coller sont de titre et de format identiques.
J'arrive à copier/coller les données de la première feuille mais je n'arrive pas à mettre à la suite celles de la deuxième feuille...
Pouvez-vous m'aider svp ?
Je vous met la première partie de mon code VBA :


Sub Auto_Open()

Dim classeurSource As Workbook, classeurDestination As Workbook

'ouvrir le classeur source (en lecture seule)
Set classeurSource = Application.Workbooks.Open("C:\feuille 1", , True)
'définir le classeur destination
Set classeurDestination = ThisWorkbook

'copier les données de la "Feuil1" du classeur source vers la "Feuil1" du classeur destination
classeurSource.Sheets("Feuil1").Cells.Copy classeurDestination.Sheets("Feuil1").Range("A1")


Je vous en remercie vivement.

1 réponse

Avatar
stormtroopertk1230
Le samedi 03 Mars 2012 à 20:39 par struter :
Bonjour,

Je souhaiterais copier les données de deux feuilles d'un classeur excel
et les coller à la suite dans une autre feuille excel, dans un autre
classeur.
Les colonnes des deux feuilles à copier/coller sont de titre et de
format identiques.
J'arrive à copier/coller les données de la première
feuille mais je n'arrive pas à mettre à la suite celles de la
deuxième feuille...
Pouvez-vous m'aider svp ?
Je vous met la première partie de mon code VBA :


Sub Auto_Open()

Dim classeurSource As Workbook, classeurDestination As Workbook

'ouvrir le classeur source (en lecture seule)
Set classeurSource = Application.Workbooks.Open("C:feuille 1", ,
True)
'définir le classeur destination
Set classeurDestination = ThisWorkbook

'copier les données de la "Feuil1" du classeur source vers la
"Feuil1" du classeur destination
classeurSource.Sheets("Feuil1").Cells.Copy
classeurDestination.Sheets("Feuil1").Range("A1")


Je vous en remercie vivement.


Bonsoir Struter,

Ci-joint.

Le "Selection. End" sert à sélectionner toutes les données en allant directement vers le bas pour "xlDown" puis vers la droite "xlToRight" . Par contre, cela suppose que votre base ne contient aucune colonne vide, sinon il faudra recopier une nouvelle fois la ligne jusqu'à ce que votre base soit sélectionnée.

La 2ième particularité est d'utiliser "ActiveCell.Offset(1, 0).Select" La macro va activer la cellule qui suit la dernière ligne et se décaler ".Offset" d'une ligne mais de 0 colonne (1,0).

Chris.

Sheets("Feuil2").Select
Range("A1").Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy

Sheets("Dest").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:úlse, Transpose:úlse
Range("A1").Select

Sheets("Feuil3").Select
Range("A1").Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy

Sheets("Dest").Select
Range("A1").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
ActiveSheet.Paste