Copier des données dans un autre classeur dans Excel

Lorsque vous manipulez des données dans Microsoft Excel, la commande Déplacer ou copier une feuille est un moyen simple et rapide de déplacer ou de copier des feuilles entières à d’autres emplacements, dans le même fichier ou dans un autre classeur. Vous pouvez également utiliser VBA (Visual Basic pour Applications) pour automatiser la tâche et la rendre beaucoup moins fastidieuse.

Cet article vous présente les deux méthodes de copie de données dans un autre classeur dans Microsoft Excel.

  • Déplacer ou copier des données dans le même classeur
  • Déplacer ou copier des données dans différents classeurs
  • Déplacer ou copier des données à l'aide de VBA

Déplacer ou copier des données dans le même classeur

La première étape consiste à sélectionner la ou les feuilles que vous souhaitez déplacer ou copier. Pour sélectionner plusieurs feuilles, sélectionnez simplement votre première feuille, puis maintenez la touche Ctrl enfoncée tout en cliquant sur les feuilles supplémentaires que vous souhaitez copier.

Dans l'onglet Accueil de la barre d'outils supérieure, recherchez le groupe Cellules, puis cliquez sur Format . Sous Organiser les feuilles, cliquez sur Déplacer ou copier une feuille .

Une boîte de dialogue s'ouvrira. Dans la liste Avant, vous pouvez soit cliquer sur la feuille avant laquelle vous souhaitez insérer les feuilles déplacées ou copiées, soit cliquer sur déplacer pour terminer insérer les feuilles après la dernière feuille de votre classeur.

Pour copier les feuilles au lieu de les déplacer, cochez la case Créer une copie située dans la boîte de dialogue Déplacer ou copier .

Déplacer ou copier des données dans différents classeurs

Si vous souhaitez déplacer ou copier des feuilles de calcul Excel dans un autre classeur, vous devez d'abord vous assurer que le classeur cible est ouvert dans la même version de Microsoft Excel.

Sélectionnez les feuilles que vous souhaitez déplacer ou copier. Ensuite, accédez à l'onglet Accueil de la barre d'outils, puis cliquez sur le groupe Cellules > Format . Sous Organiser les feuilles, cliquez sur Déplacer ou copier une feuille .

Une boîte de dialogue s'ouvrira. Dans la liste Au livre, choisissez de déplacer ou de copier les feuilles sélectionnées dans un classeur existant ou de déplacer ou de copier les feuilles dans un nouveau classeur.

Dans la liste Avant, vous pouvez soit cliquer sur la feuille avant laquelle vous souhaitez insérer les feuilles déplacées ou copiées, soit cliquer sur déplacer pour terminer insérer les feuilles après la dernière feuille de votre classeur.

Déplacer ou copier des données à l'aide de VBA

Sub CopyOpenItems ()

'

Macro CopyOpenItems

'Copier les éléments ouverts sur la feuille.

'

'Raccourci clavier: Ctrl + Maj + O

'

Dim wbTarget As Workbook 'classeur où les données doivent être collées

Dim wbThis As Workbook 'classeur à partir duquel les données doivent être copiées

Dim strName As String 'nom de la feuille source / du classeur cible

'défini sur le classeur actif en cours (le classeur source)

Définir wbThis = ActiveWorkbook

'obtenir le nom de feuille actif du livre

strName = ActiveSheet.Name

'ouvre un classeur portant le même nom que le nom de la feuille

Définissez wbTarget = Workbooks.Open ("C: \ chemin du fichier \" & strName & ".xlsx")

'sélectionnez la cellule A1 sur le livre cible

wbTarget.Range ("A1"). Sélectionnez

'effacer les valeurs existantes du livre cible

wbTarget.Range ("A1: M51"). ClearContents

'activer le livre source

wbThis.Activate

'effacez tout ce qui est sur le presse-papiers pour maximiser la mémoire disponible

Application.CutCopyMode = False

'copier la plage du livre source

wbThis.Range ("A12: M62"). Copier

'coller les données sur le livre cible

wbTarget.Range ("A1"). PasteSpecial

'effacez tout ce qui est sur le presse-papiers pour maximiser la mémoire disponible

Application.CutCopyMode = False

'enregistrer le livre cible

wbTarget.Save

'fermez le cahier

wbTarget.Fermer

'réactiver le livre source

wbThis.Activate

'Mémoire claire

Définir wbTarget = Nothing

Définir wbThis = Nothing

End Sub

Article Précédent Article Suivant

Les Meilleurs Conseils