Dans Excel, vous avez la possibilité d’appliquer automatiquement votre travail sur une feuille à d’autres feuilles également. Pour ce faire, regroupez les feuilles individuelles du classeur. Cela fonctionne manuellement en maintenant la touche Ctrl enfoncée et en cliquant sur les onglets individuels avec le bouton gauche de la souris. Vous pouvez bien sûr également obtenir ce résultat de cette action avec VBA:
Sub Selectionnezplusieursfeuilles () On Error Resume Next Sheets (Array ("Feuil1", "Feuil2", _ "Feuil3")).Select End Sub
La fonction Array vous permet de spécifier une liste de valeurs (ici les noms de feuilles de calcul) séparées par des virgules. Ici aussi, l’instruction On Error est importante pour éviter un message d’erreur si l’une des feuilles du tableau n’est pas disponible.
Tableau: Surmonter plusieurs feuilles de tableaux
Si vous souhaitez regrouper toutes les feuilles d’un classeur, vous pouvez lire les feuilles dans un tableau, puis les regrouper. Pour ce faire, utilisez la macro .
Sub selectionneztouteslestables () Dim l As Long Dim lTab As Long Dim TabArray () As Long lTab = ThisWorkbook.Worksheets.Count ReDim TabArray (1 To lTab) On Error Resume Next For l = 1 To lTab TabArray (l) = l Next l ThisWorkbook.Worksheets (TabArray) .Select End Sub
Utilisez la propriété Count pour rechercher le nombre de feuilles dans le classeur. Avec l’instruction ReDim, vous réservez de l’espace mémoire pour la variable de champ de données dynamiques TabArray. Remplissez ensuite le tableau en utilisant une boucle For Next. Ensuite, toutes les feuilles du classeur sont regroupées.
Dans l’exemple suivant, toutes les feuilles de calcul groupées sont insérées dans un nouveau classeur.
Sub groupeesdansunnouveautransfertdossier () Dim Sheet As Worksheet For Each Sheet In ActiveWindow.SelectedSheets Sheet.Copy Next End Sub
Utilisez la propriété SelectedSheets pour déterminer toutes les feuilles sélectionnées. Copiez toutes ces tables à l’aide de la méthode Copy.