Macro pour copier la feuille de calcul, Excel VBA

Copier des feuilles de tableau, déplacer   et insérer

Vous devez souvent accéder à des feuilles de calcul existantes pour les copier ou les déplacer vers un autre emplacement. Comment ça marche avec VBA?

1-Copier la feuille de travail

Dans le premier exemple, une copie d’une feuille de calcul existante doit être créée. Vous pouvez déterminer vous-même le nom de la copie via une zone de saisie. La copie doit être insérée à la fin du classeur, c’est-à-dire à la dernière position à l’extrême droite, en utilisant la méthode Copy.

Sub tableauxFeuilleCopie ()
Dim s As String
Dim i As Integer
  s = _
InputBox ("Veuillez saisir le nom de la feuille!", _
"Attribuer des noms de feuille", "Feuil1")
If s = "" Then Exit Sub
  i = Sheets.Count
  On Error Resume Next
  Sheets (1). Copy After: = Sheets (i)
  ActiveSheet.Name = s
End Sub

La fonction de zone de saisie est idéale pour travailler de manière interactive avec l’utilisateur. Ici, l’utilisateur entre le nom de la feuille copiée. Pour soulager un peu, entrez le nom de la table ici.

Dans l’exemple suivant, la zone utilisée dans FEUIL1 est copiée et collée dans FEUIL2. La macro pour cette tâche se trouve dans l’extrait .

Sub zoneUtiliseeCopierDansUneAutreTable ()
Worksheets("Feuil1").UsedRange.Copy
 Worksheets("Feuil2").Paste _
 Worksheets("Feuil2").Range("A1")
 Application.CutCopyMode = False
End Sub

Utilisez la propriété UsedRange pour déterminer la plage utilisée de la table. Utilisez la méthode Copy pour copier cette zone. Utilisez la méthode Paste pour coller la zone copiée dans FEUIL2. N’oubliez pas de définir la propriété CutCopyMode sur False à la fin. Cela supprime les marges de copie qui sont automatiquement générées pendant un processus de copie.

Si vous ne souhaitez pas utiliser la méthode Copy et que vous souhaitez plutôt transférer des données à l’aide de variables, vous pouvez également choisir une approche différente. suivante transfère toutes les cellules de la colonne A de FEUIL1 à FEUIL2.

Sub transfertfeuil ()
Dim mafeuil1 As Worksheet
Dim mafeuil2 As Worksheet
Dim i As Integer
Dim y As Integer
    Set mafeuil1 = ThisWorkbook.Worksheets("Feuil1")
    Set mafeuil2 = ThisWorkbook.Worksheets("Feuil2")
    For i = 1 To mafeuil1.UsedRange.Rows.Count
        y = y + 1
        mafeuil2.Cells(i, 1) = mafeuil1.Cells(y, 1)
    Next i
End Sub

 

Dans la première étape, définissez la table source (mafeuil1) et la table cible (mafeuil2). Pour ce faire, utilisez l’instruction Set. Ensuite, vous formez une boucle qui traverse toutes les lignes utilisées dans Table1. Dans la boucle, vous transférez les cellules une par une d’une table à une autre.

S’abonner
Notifier de
0 Commentaires
Inline Feedbacks
Voir tous les commentaires

Fonctions Excel

Macro VBA Utiles

Excel Pratique

Programmation VBA

Sur Facebook

Sur YouTube

0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x
()
x