VBA Supprimer ou effacer la feuille de calcul

Ce didacticiel vous apprendra comment supprimer ou effacer une feuille de calcul à l'aide de VBA.

Supprimer la feuille de calcul

Utilisez la commande delete pour supprimer une feuille de calcul.

Supprimer la feuille de calcul par nom

1 Feuilles("Feuille1").Supprimer

Supprimer la feuille de calcul par numéro d'index

Ce code supprime la première feuille de calcul du classeur :

1 Feuilles(1).Supprimer

Ce code supprime la dernière feuille de calcul du classeur :

1 Sheets(Sheets.Count).Supprimer

Supprimer la feuille de calcul sans invite

Lorsque vous essayez de supprimer une feuille de calcul, Excel vous demande de confirmer votre action :

Vous pouvez désactiver ces invites (alertes) en activant DisplayAlerts :

123 Application.DisplayAlerts = FauxFeuilles("Feuille1").SupprimerApplication.DisplayAlerts = True

Supprimer la feuille si elle existe

Si vous essayez de supprimer une feuille de calcul qui n'existe pas, VBA générera une erreur. Avec On Error Resume Next, vous pouvez dire à VBA de supprimer une feuille si elle existe, sinon passez à la ligne de code suivante :

123 En cas d'erreur Reprendre ensuiteFeuilles("Feuille1").SupprimerEn cas d'erreur GoTo 0

Vous pouvez également utiliser notre fonction RangeExists pour vérifier si une feuille existe et si oui la supprimer. :

123 Si RangeExists("Feuille1") AlorsFeuilles("Feuille1").SupprimerFin si

Feuille claire

Ce code effacera une feuille entière de contenu, de formats et tout le reste :

1 Sheets("Sheet1").Cells.Clear

Effacer le contenu de la feuille

Ce code effacera le contenu d'une feuille entière. Il laissera le formatage, les commentaires et tout le reste seuls :

1 Sheets("Sheet1").Cells.ClearContents

Effacer la feuille UsedRange

Les exemples ci-dessus effaceront TOUTES les cellules d'une feuille de calcul. Cela peut prendre beaucoup de temps dans les grandes feuilles. Si vous utilisez plutôt UsedRange, VBA n'effacera que les cellules «utilisées» qui contiennent des valeurs, des formats, etc.

1 Sheets("Sheet1").UsedRange.Clear
wave wave wave wave wave