J'ai un fichier macro avec 5 feuilles et j'aimerais ajouter un bouton de commande VBA dans le même fichier pour nettoyer tout le contenu du classeur en un seul clic. Est-ce que quelqu'un sait comment faire en utilisant VBA sur Excel 2010?
J'ai un fichier macro avec 5 feuilles et j'aimerais ajouter un bouton de commande VBA dans le même fichier pour nettoyer tout le contenu du classeur en un seul clic. Est-ce que quelqu'un sait comment faire en utilisant VBA sur Excel 2010?
Réponses:
Nettoyage de toutes les feuilles d'un classeur:
Sub ClearAll()
Set wbook = ActiveWorkbook
For Each sht In wbook.Worksheets
sht.Activate
sht.Cells.Select
Selection.ClearContents
Selection.ClearFormats ' edit: clear formats too
sht.Cells(1, 1).Select ' edit: select the first cell to cancel selection of the whole sheet
Next sht
End Sub
Edit1: voir la source
Les supprimer au lieu de les nettoyer:
Sub DeleteAll()
bAlerts = Application.DisplayAlerts
Application.DisplayAlerts = False
Set wbook = ActiveWorkbook
wbook.Sheets(1).Activate
For Each sht In wbook.Worksheets
If sht.Name = wbook.ActiveSheet.Name Then ' we don't delete the active sheet but just its conntet
sht.Cells.Select
Selection.ClearContents
Selection.ClearFormats
sht.Cells(1, 1).Select
Else
sht.Activate
ActiveWindow.SelectedSheets.delete
wbook.Sheets(1).Activate
End If
Next sht
wbook.ActiveSheet.Name = "Sheet1" ' we rename the last remaining sheet to the default name
Application.DisplayAlerts = bAlerts
End Sub
Simple comme ci-dessous. Remplacez Sheet1, Sheet2 par les noms de vos feuilles et ajoutez autant de ces 3 lignes que nécessaire. Je suppose que vous savez comment créer un lien dans Excel et créer un lien vers une macro.
Sub ClearSheets()
Sheets("Sheet1").Select
Cells.Select
Selection.ClearContents
Sheets("Sheet2").Select
Cells.Select
Selection.ClearContents
End Sub