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 |