Table des matières:
Vidéo: Comment effacer le contenue des cellules par une macro commande.avi 2025
Il peut arriver que vous souhaitiez supprimer tout sauf la feuille de calcul active dans un classeur Excel. Dans ces situations, vous pouvez utiliser la macro suivante.
Fonctionnement de la macro
La macro ici parcourt les feuilles de calcul en faisant correspondre chaque nom de feuille de calcul avec le nom de la feuille active. Chaque fois que la macro boucle, elle supprime toute feuille de calcul non concordante. Notez l'utilisation de la propriété DisplayAlerts à l'étape 4. Cela efface efficacement les avertissements d'Excel pour que vous n'ayez pas à confirmer chaque suppression.
Sub Macro1 () 'Étape 1: Déclarez vos variables Dim ws As Worksheet' Étape 2: Commencer à faire défiler toutes les feuilles de calcul Pour chaque ws Dans ThisWorkbook. Worksheets 'Étape 3: Vérifiez chaque nom de feuille de calcul Si ws. Nom ThisWorkbook. Feuille active. Nom Puis "Étape 4: Désactiver les avertissements et supprimer l'application. DisplayAlerts = Faux ws. Supprimer l'application. DisplayAlerts = True End If 'Étape 5: Boucle vers la feuille de calcul suivante Suivant ws End Sub
La macro déclare d'abord un objet appelé ws. Cette étape crée un conteneur de mémoire pour chaque feuille de calcul qu'il parcourt.
À l'étape 2, la macro commence à faire une boucle, indiquant à Excel qu'elle évaluera toutes les feuilles de calcul de ce classeur. Il existe une différence entre ThisWorkbook et ActiveWorkbook. L'objet ThisWorkBook fait référence au classeur qui contient le code. L'objet ActiveWorkBook fait référence au classeur actuellement actif. Ils retournent souvent le même objet, mais si le classeur qui exécute le code n'est pas le classeur actif, ils renvoient des objets différents. Dans ce cas, vous ne voulez pas risquer de supprimer des feuilles dans d'autres classeurs, vous utilisez donc ThisWorkBook.
À l'étape 3, la macro compare simplement le nom de la feuille active à la feuille en cours de mise en boucle.
À l'étape 4, si les noms de feuille sont différents, la macro supprime la feuille. Comme mentionné, vous utilisez DisplayAlerts pour supprimer les vérifications de confirmation d'Excel. Si vous voulez être averti avant de supprimer les feuilles, vous pouvez omettre Application. DisplayAlerts = False. Si vous omettez l'instruction DisplayAlerts, le message affiché s'affiche, ce qui vous permet de revenir sur la décision de supprimer les feuilles de calcul.
À l'étape 5, la macro revient en boucle pour obtenir la feuille suivante. Une fois toutes les feuilles évaluées, la macro se termine.
Comment utiliser la macro
Pour implémenter cette macro, vous pouvez la copier et la coller dans un module standard:
-
Activez Visual Basic Editor en appuyant sur Alt + F11.
-
Cliquez avec le bouton droit sur le nom du projet / classeur dans la fenêtre du projet.
-
Choisissez Insérer → Module.
-
Tapez ou collez le code dans le nouveau module.
Lorsque vous utilisez ThisWorkbook au lieu d'ActiveWorkbook dans une macro, vous ne pouvez pas exécuter la macro à partir du classeur de macros personnelles. Pourquoi? Parce que ThisWorkbook se référerait au classeur de macros personnelles, pas au classeur auquel la macro doit s'appliquer.
