Corriger un code VBA pour supprimer des feuilles

Bonjour,

J'essaye de supprimer les feuilles de la 11 à la dernière avec un code VBA, mais ça ne marche pas !

je ne comprends pas mon erreur...

Merci pour votre aide !

Juste pour info : garde contient le bouton où je commande le nettoyage de la feuille Temp et la suppression des feuilles de 11 à la dernière.

PB : il supprime que 1 feuille sur 2! et au final il plante en me disant que l'indice n'appartient pas à la selection

Sub cleaner()

Dim sc As Integer

Sheets("Temp").Select

If Range("A7") <> "" Then

Range("A7:AA7").Select 'delete all the invoices summarized in temp sheet

Range(selection, selection.End(xlDown)).Select

selection.Delete Shift:=xlToLeft

Application.DisplayAlerts = False 'delete all the invoices details

For sc = 11 To Sheets.count

Sheets(sc).Delete

Next sc

Application.DisplayAlerts = True

Else: MsgBox "There is no invoice to delete !"

Sheets("Garde").Select

End If

End Sub

Bonjour

Essaie ceci :

Sub cleaner()
Dim sc As Integer
With Sheets("Temp")
    If .Range("A7") <> "" Then
        .Range("A7:AA7", .Range("A7:AA7").End(xlDown)).Delete Shift:=xlToLeft
        Application.DisplayAlerts = False
        For sc = Sheets.Count To 11 Step -1
            Sheets(sc).Delete
        Next sc
        Application.DisplayAlerts = True
        Else: MsgBox "There is no invoice to delete !"
        Sheets("Garde").Select
    End If
End With
End Sub

Si ok, clique sur le v vert à coté du bouton EDITER lors de ta réponse afin de cloturer le fil

Crdlt

Merci beaucoup ça marche !!!

Mon erreur venait simplement su step -1 ?

re

Oui effectivement

Crdlt

Rechercher des sujets similaires à "corriger code vba supprimer feuilles"