Suppression de toutes les feuilles de calcul sauf la feuille active avec Excel VBA

Il est souvent nécessaire de supprimer toutes les feuilles, sauf celles qui sont actives. Dans ce cas, vous pouvez utiliser la macro ci-dessous.
C’est une boucle qui vérifie séquentiellement chaque feuille et trie leurs noms en fonction du nom de la feuille active. Si une feuille portant un nom différent est trouvée, elle est supprimée. Faites attention à l’utilisation de la méthode DisplayAlerts à la quatrième étape car vous n’avez donc pas besoin de confirmer la suppression de chaque feuille.

Sub SuppressionToutesFeuilles ()
'Étape 1: Déclarez la variable
Dim mafeuille As Worksheet
'Étape 2: Commencez la boucle pour toutes les feuilles
For Each mafeuille In ThisWorkbook.Worksheets
'Étape 3: Vérifiez le nom de chaque feuille
If mafeuille.Name <> ThisWorkbook.ActiveSheet.Name Then
'Étape 4: Désactivez les messages et supprimez la feuille
Application.DisplayAlerts = False
mafeuille.Delete
Application.DisplayAlerts = True
End If
'Étape 5: Passer à la feuille suivante Suivant
Next mafeuille
End Sub

Commentaires

1. Dans un premier temps, une variable nommée mafeuille est déclarée, ce qui créera un conteneur en mémoire pour chaque feuille qui sera traitée dans la boucle.
2. Dans la deuxième étape, l’action démarre une boucle qui demande à Excel d’analyser toutes les feuilles du classeur. Il y a une différence entre l’utilisation de ThisWorkbook et ActiveWorkbook. L’objet ThisWorkbook fait référence à un classeur contenant le code. D’autre part, l’objet Acti veWorkbook s’applique au classeur actif.
Par conséquent, les mêmes objets sont renvoyés, mais si le classeur dans lequel le code a été exécuté n’est pas actif, les résultats seront différents. Dans notre cas, nous ne voulons pas risquer de retirer des feuilles d’autres classeurs, c’est pourquoi nous allons utiliser la méthode ThisWorkbook.
3. Dans cette étape, la macro fait simplement correspondre le nom de la feuille de calcul active avec le nom de la feuille de calcul traitée par la boucle.
4. Si des noms sont requis, l’une des feuilles est supprimée. Comme mentionné précédemment, en utilisant la méthode DisplayAlerts, nous avons compilé des messages dans Excel.
5. À l’étape 5, passez à la feuille suivante. Après avoir analysé toutes les feuilles du classeur de macros, le travail est terminé.
Comment utiliser la macro?
Pour implémenter cette macro, vous pouvez copier et coller son code dans un module standard. À cette fin:
1. Utilisez les touches Alt + F11 pour activer Visual Basic Editor.
2. Dans la fenêtre Projet, cliquez avec le bouton droit sur le nom du projet ou de la feuille de calcul.
3. Sélectionnez Insérer / Module dans le menu.
4. Tapez ou collez le code dans le module nouvellement créé.
NOTE
Il est à noter que lorsque vous utilisez l’objet ThisWorkbook au lieu de ActiveWorkbook, vous ne pouvez pas exécuter de macros dans le dossier des macros personnelles. Cela est dû au fait que l’objet ThisWorkbook est redéfini non sur le classeur dans lequel la macro doit être exécutée, mais plutôt sur le classeur de macros personnelles.

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

Initiation à Excel

Fonctions Excel

Excel VBA

Macros VBA Utiles

Plus d'outils

Sur Facebook

Sur YouTube

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