Destination de copie VBA (plage de copie vers une autre feuille)

Cet article montrera comment utiliser VBA pour copier une plage de cellules dans une autre feuille ou un autre classeur.

Pour plus d'informations, lisez notre didacticiel de copier-coller VBA.

Copier sur une feuille existante

Pour copier une plage de cellules d'une feuille à une autre feuille qui existe déjà, nous pouvons utiliser le code suivant :

123456 Sous CopierEtCollerActiveSheet.Range("A1:D10").SélectionnezSélection.CopieFeuilles("Feuille2").SélectionnezActiveFeuille.CollerFin du sous-marin

Cela copiera les informations stockées dans la plage de feuilles active A1:D10 et les collera dans une feuille Sheet2 existante. Comme nous n'avons pas spécifié la plage à sélectionner dans la feuille 2, elle la collera automatiquement dans Range ("A1"). Il collera également toute mise en forme dans la feuille 2 qui se trouvait dans la plage de la feuille 1.

Si nous souhaitons le coller à un emplacement différent dans la feuille 2, nous pouvons sélectionner la cellule ou la plage de départ dans laquelle coller. Le code ci-dessous collera les informations à partir de la cellule E2.

1234567 Sous CopierEtCollerDansPlageActiveSheet.Range("A1:D10").SélectionnezSélection.CopieFeuilles("Feuille2").SélectionnezPlage("E1").SélectionnezActiveFeuille.CollerFin du sous-marin

Pour simplement coller les valeurs dans la feuille 2 et ne pas inclure la mise en forme, nous pouvons utiliser le code suivant. Encore une fois, nous n'avons pas à spécifier la plage à laquelle paginer si nous souhaitons coller dans la cellule A1.

123456 Sous CopyAndPasteValuesActiveSheet.Range("A1:D10").SélectionnezSélection.CopieFeuilles("Feuille2").SélectionnezSelection.PasteSpecial Paste:=xlPasteValuesFin du sous-marin

Copier dans une nouvelle feuille

Pour copier puis coller dans une nouvelle feuille, nous pouvons utiliser le code suivant :

123456 Sous CopierEtCollerNouvelleFeuilleActiveSheet.Range("A1:D10").SélectionnezSélection.CopieSheets.Add After :=ActiveSheetActiveFeuille.CollerFin du sous-marin

Pour simplement copier des valeurs, nous pouvons à nouveau utiliser xlPasteValues.

Copier dans un classeur existant

Pour copier et coller entièrement 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.

Ce code ci-dessous est copié dans un classeur existant déjà ouvert.

1234567 Sous CopierEtCollerLivre ExistantPlage ("A1:D10").SélectionnezSélection.CopieWindows("CombinedBranches.xlsx").ActiverSheets.Add After :=ActiveSheetActiveFeuille.CollerFin du sous-marin

Programmation VBA | Le générateur de code fonctionne pour vous !

Ce code ci-dessous sera copié et collé dans une nouvelle feuille dans un 2ème classeur qui sera ouvert par le code.

1234567 Sous CopierEtCollerOpenWorkbookPlage ("A1:D9").SélectionnezSélection.CopieWorkbooks.Open Filename:= "C:\ExcelFiles\CombinedBranches.xlsx"Sheets.Add After :=ActiveSheetActiveFeuille.CollerFeuille de fin

ASTUCE : remplacez le nom du fichier dans l'argument Workbooks.Open par votre propre nom de fichier !

Copier dans un nouveau classeur

Nous pouvons également copier et coller dans un nouveau classeur.

123456 Sous CopierEtCollerNouveauCahierPlage ("A1:D9").SélectionnezSélection.CopieClasseurs.AjouterActiveFeuille.CollerFin du sous-marin

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave