VBA Destination de Copie (Copier une Plage vers une Autre Feuille)

Written by

Mel Jenkins

Reviewed by

Steve Rynearson

Translated by

David Gagnon

Last updated on mai 25, 2023

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

copier plage vers classeur existant nouvelle feuille

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
vba-free-addin

Module Complémentaire d'Exemples de Code VBA

Accédez facilement à tous les exemples disponibles sur le site.

Naviguez simplement dans le menu, cliquez, et le code sera inséré directement dans votre module. Module complémentaire .xlam.

(Aucune installation requise!)

Téléchargement gratuit

Retour aux exemples de code VBA