Supprimer des feuilles Excel
Bonjour à tous,
Je souhaite utiliser une macro afin de supprimer toutes les feuilles sauf les 1 et 2. J'utilise une boucle If et While : Si ma feuille est la dernière feuille, alors je fais rien, sinon tant que A3 de la feuille 3 est égal à 1 alors je supprime cette feuille mais ca fonctionne pas .. J'ai une "Erreur d'exécution 438 - Propriété ou méthode non gérée par cet objet" et je comprend pas pourquoi ..
Voici mon code :
Sub suppfeuilles()
Application.DisplayAlerts = False
If Worksheets("Feuil2") = Sheets.Count Then
Else: While ThisWorkbook.Sheets(3).Range("A3") = 1
ThisWorkbook.Sheets(3).Delete
Wend
End If
Application.DisplayAlerts = True
End Sub
Bonsoir,
il vaudrait sans doute mieux travailler avec le nom des feuilles. Leur position n'a alors pas d'importance
dim Sh as worksheet
Application.DisplayAlerts = False
'.../...
for each Sh in thisworkbook.worksheets
If Sh.name <> "MAFEUILLE 1" and Sh.name <> "MAFEUILLE 2" Then ' feuilles à adapter
'test éventuel sur la valeur d'une cellule
' if .Range("Z28").value= 24 then
Sh.delete 'suppression de la feuille
End if
Next
Application.DisplayAlerts = True
'.../...
.../... tant que A3 de la feuille 3 est égal à 1 alors je supprime cette feuille mais ca fonctionne pas ..
A3 n'étant pas modifié cette cellule aura toujours la même valeur la boucle while risque de tourner indéfiniment ....Sauf que là on supprime la feuille à la première itération.
J'ai une "Erreur d'exécution 438 - Propriété ou méthode non gérée par cet objet" et je comprend pas pourquoi ..
C'est toujours utile de préciser sur quelle ligne de code a lieu l'erreur...