Probléme avec un code

[*]Bonjour,

j'ai un soucis avec un code.

je vous explique, depuis un bouton je veux pouvoir effacer le contenue des onglets sauf 1 qui est mon sommaire jusque la pas de problème.

j'ai rajouté une message box de confirmation avec oui non elle fonctionne.

le problème c'est quand je clique sur non j'ai un message qui s'affiche qui me demande si je veux confirmer l'effacement des données avec continuer et annuler.

je ne veux pas que le message s'affiche lorsque je clique sur non de ma message box.

je vous met le code.

Sub DetruitFeuille_Sauf_Une()

If MsgBox("Etes-vous certain de vouloir continuer ?", 36, "Demande de confirmation") = vbYes Then

Dim Feuille As Worksheet

On Error Resume Next

Application.DisplayAlerts = False

End If

For Each Feuille In Worksheets

If (Feuille.Name <> "SOMMAIRE") Then

Feuille.Delete

End If

Next

Application.DisplayAlerts = True

End Sub

Pouvez vous me dire ou est mon erreur?

Bonjour

A tester

Sub DetruitFeuille_Sauf_Une()
Dim Feuille As Worksheet
  If MsgBox("Etes-vous certain de vouloir continuer ?", 36, "Demande de confirmation") = vbYes Then
    Application.DisplayAlerts = False
    For Each Feuille In Worksheets
      If (Feuille.Name <> "SOMMAIRE") Then
        Feuille.Delete
      End If
    Next
  Application.DisplayAlerts = True
  End If
End Sub
seb13 a écrit :

Pouvez vous me dire ou est mon erreur?

Ton End If était mal placé

Sub DetruitFeuille_Sauf_Une()
If MsgBox("Etes-vous certain de vouloir continuer ?", 36, "Demande de confirmation") = vbYes Then
 Dim Feuille As Worksheet
 On Error Resume Next
 Application.DisplayAlerts = False
End If
 For Each Feuille In Worksheets
 If (Feuille.Name <> "SOMMAIRE") Then
 Feuille.Delete
 End If
 Next
Application.DisplayAlerts = True
End Sub

Ton end if est mal placé

tu cliques sur non il execute ce qu'il y a a la suite :

[b]End If[/b]
 For Each Feuille In Worksheets
 If (Feuille.Name <> "SOMMAIRE") Then
 Feuille.Delete
 End If
 Next
Application.DisplayAlerts = True

tu peux faire cela sinon

Sub DetruitFeuille_Sauf_Une()
If MsgBox("Etes-vous certain de vouloir continuer ?", 36, "Demande de confirmation") = vbYes Then
 Dim Feuille As Worksheet
 On Error Resume Next
 Application.DisplayAlerts = False
Else
'n'est pas vbyes donc je quitte
exit sub
End If
 For Each Feuille In Worksheets
 If (Feuille.Name <> "SOMMAIRE") Then
 Feuille.Delete
 End If
 Next
Application.DisplayAlerts = True
End Sub

Merci beaucoup pour ton aide

Rechercher des sujets similaires à "probleme code"