Copier/Coller entre classeur

Bonjour à tous ,

J'aimerais effectuer un copier/coller d'une plage de valeurs d'un classeur vers un autre à l'aide d'un bouton associé à une macro. Soit par exemple :

  • un classeur 1, feuille 1, avec une plage de valeur (A1:AA8765) que je souhaite copier
  • un classeur 2, feuille 1, dans lequel je souhaiter coller la plage de valeur à partir d'une cellule, prenons A2 par exemple

Pour copier ces valeurs, j'aimerais simplement avoir à ouvrir les 2 classeurs et cliquer sur un bouton situé sur le classeur 2, feuille 1. Est-ce possible d'après vous ?

Si vous avez d'autre idée bien évidemment je suis preneur !

Merci par avance !

Bonjour,

simple d'obtenir une base de code en activant le Générateur de macros puis en effectuant les manipulations …

Comment dire ! Je suis plutôt débutant sur VBA du coup j'ai pas vraiment compris, tu pourrais me guider dans ton explication si c'est possible ?

Merci

Rechercher dans l'aide d'Excel : « créer une macro »

Sinon en cherchant sur le Web un tutoriel tu trouveras.

Voir aussi l'aide VBA de la méthode Range.Copy

Edit : Je vais reformuler mon besoin car il a un peu changé...

La nuance, et c'est la mon problème majeur, c'est que la plage source (classeur 1, feuille 1) est composée de texte sur les 3 premières lignes (donc A1:AA3) et de valeurs sur le reste (donc A4:AA8765). Et j'aimerais si possible que la macro exécute le copier coller de la façon suivante :

  • > Elle colle le texte (les 3 premières lignes, classeur 1 , feuille 1) à partir de la cellule A2
  • > Elle colle le reste (les valeurs) à partir de la 1ère cellule non vide de la colonne A

J'espérait donc que le code suivant fonctionne :

Sub Bouton1_Cliquer()

Dim Destination As Workbook
Dim Source As Workbook
    Set Destination = ThisWorkbook
    Set Source = Workbooks("Classeur2.xlsm")
    Source.Sheets("Feuil1").Range("A1:AA3").Copy Destination.Sheets("Feuil1").Range("A2")
    Source.Sheets("Feuil1").Range("A4:AA8765).Copy Destination.Sheets("Feuil1").Range("A1:A8765")'.End(xlUp).Offset(1, 0)

End Sub

Je ne sais pas pourquoi j'ai une erreur sur la ligne suivante, au niveau de Destination.Sheets("Feuil1") :

Source.Sheets("Feuil1").Range("A4:AA8765).Copy Destination.Sheets("Feuil1").Range("A1:A8795")'.End(xlUp).Offset(1, 0)

En espérant que tu puisses m'aider... Merci

Rechercher des sujets similaires à "copier coller entre classeur"