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...

Rechercher des sujets similaires à "supprimer feuilles"