VBA Destination de Copie (Copier une Plage vers une Autre Feuille)
In this Article
Cet article explique comment utiliser VBA pour copier une plage de cellules dans une autre feuille ou un autre classeur.
Pour plus d’informations, lisez notre tutoriel VBA sur le copier-coller.
Copier dans une Feuille Existante
Pour copier une plage de cellules d’une feuille vers une autre feuille qui existe déjà, nous pouvons utiliser le code suivant :
Sub CopierEtColler()
ActiveSheet.Range("A1:D10").Select
Selection.Copy
Sheets("Sheet2").Select
ActiveSheet.Paste
End Sub
Ce code copiera les informations stockées dans la plage A1:D10 de la feuille active et les collera dans une feuille existante (Feuil2). Comme nous n’avons pas spécifié la plage à sélectionner dans la feuille 2, il la collera automatiquement dans Range(« A1 »). Il collera également tout formatage dans la feuille 2 qui se trouvait dans la plage de la feuille 1.
Si nous souhaitons coller les informations à un autre endroit de la feuille 2, nous pouvons sélectionner la cellule ou la plage de départ à coller. Le code ci-dessous collera les informations à partir de la cellule E2.
Sub CopierEtCollerVersPlage()
ActiveSheet.Range("A1:D10").Select
Selection.Copy
Sheets("Sheet2").Select
Range("E1").Select
ActiveSheet.Paste
End Sub
Pour coller simplement les valeurs dans la feuille 2 sans inclure le formatage, nous pouvons utiliser le code suivant. Une fois encore, il n’est pas nécessaire de spécifier de pages si nous souhaitons coller dans la cellule A1.
Sub CopierEtCollerValeurs()
ActiveSheet.Range("A1:D10").Select
Selection.Copy
Sheets("Sheet2").Select
Selection.PasteSpecial Paste:=xlPasteValues
End Sub
Copier dans une Nouvelle Feuille
Pour copier puis coller dans une nouvelle feuille, nous pouvons utiliser le code suivant :
Sub CopierEtCollerFeuille()
ActiveSheet.Range("A1:D10").Select
Selection.Copy
Sheets.Add After:=ActiveSheet
ActiveSheet.Paste
End Sub
Pour copier uniquement des valeurs, nous pouvons à nouveau utiliser xlPasteValues.
Copier dans un Classeur Existant
Pour copier et coller dans un classeur différent, nous pouvons soit avoir les deux classeurs déjà ouverts, soit utiliser le code pour ouvrir un autre classeur, puis coller dans ce classeur.
Le code ci-dessous copie dans un classeur déjà ouvert.
Sub CopierEtCollerClasseurOuvert()
Range("A1:D10").Select
Selection.Copy
Windows("BranchesCombinées.xlsx").Activate
Sheets.Add After:=ActiveSheet
ActiveSheet.Paste
End Sub
Le code ci-dessous copiera et collera dans une nouvelle feuille d’un deuxième classeur qui sera ouvert par le code.
Sub CopierEtCollerOuvrirClasseur()
Range("A1:D9").Select
Selection.Copy
Workbooks.Open Filename:= "C:ExcelFiles\BranchesCombinées.xlsx"
Sheets.Add After:=ActiveSheet
ActiveSheet.Paste
End Sub
CONSEIL : remplacez le nom du fichier dans l’argument Workbooks.Open par votre propre nom de fichier!
Copier dans un Nouveau Classeur
Nous pouvons également effectuer un copier-coller dans un nouveau classeur.
Sub CopierEtCollerNouveauClasseur()
Range("A1:D9").Select
Selection.Copy
Workbooks.Add
ActiveSheet.Paste
End Sub