Pb avec macro + msgbox

Bonjour,

J'ai des soucis avec la macro RAZ qui ne fonctionne pas.

Je lui met avec une msgbox qui me confirmer si je souhaite continuer.

Quand ma macro fonctionne le message s'affiche mais tout est effacer avant que je ne clique sur oui ou non.

Les cellules qui doivent s'effacer sont les cellules dévérouiller.

Cordialement.

Bonjour Esteban, bonjour le forum,

Comment savoir si ça marche ou pas puisque tu n'as pas mis le code ni pour Oui ni pour Non ?!...

Pour moi ça marche! La preuve :

Sub RAZ()

ActiveSheet.Unprotect Password:="test"
For Each c In Cells.SpecialCells(xlCellTypeConstants, 23)
If c.Locked = False Then c.Value = Empty
Next c
ActiveSheet.EnableSelection = xlUnlockedCells
ActiveSheet.Protect Password:="test"

'##################################
' Message box
'##################################
Dim Rep

Rep = MsgBox("Voulez-vous continuez ?", vbYesNo + vbQuestion, "CONFIRMATION")
If Rep = vbYes Then
   MsgBox "Oui"
Else
   MsgBox "Non"
Exit Sub
End If
'###################################
End Sub

Sinon, le même code simplifié et plus conventionnel :

Sub RAZ()
Dim Rep

ActiveSheet.Unprotect Password:="test"
For Each c In Cells.SpecialCells(xlCellTypeConstants, 23)
If c.Locked = False Then c.Value = Empty
Next c
ActiveSheet.EnableSelection = xlUnlockedCells
ActiveSheet.Protect Password:="test"

If MsgBox("Voulez-vous continuez ?", vbYesNo + vbQuestion, "CONFIRMATION") = vbYes Then
    MsgBox "Oui"
Else
    MsgBox "Non"
End If
End Sub

Re,

Effectivement j'avais pas remarquer mon erreur.

Cependant ton code est mieux que le mien alors je prend celui-ci.

Par ailleurs, lorsque je clic sur mon RAZ mes données s'efface avant que la confirmation me demande si je suis sur de vouloir tout remettre à zéro pourquoi.

Bonjour Esteban, bonjour le forum,

Je ne suis pas devin et donc je ne peux pas savoir ce que tu voudrais faire mais je me demande si ne ça ne serait pas ça :

    Sub RAZ()
    Dim Rep

    If MsgBox("Voulez-vous continuez ?", vbYesNo + vbQuestion, "CONFIRMATION") = vbYes Then
         ActiveSheet.Unprotect Password:="test"
         For Each c In Cells.SpecialCells(xlCellTypeConstants, 23)
              If c.Locked = False Then c.Value = Empty
         Next c
         ActiveSheet.EnableSelection = xlUnlockedCells
         ActiveSheet.Protect Password:="test"
    End If
    End Sub

Re,

Oui effectivement le code est bon.

Un grand merci à toi.

Cordialement.

Bonjour Esteban, bonjour le forum,

Bon, je ne suis pas médecin mais je te prescris du LogicEsteb 2000 en pilules.

- 2 le matin / - 1 le midi / - 4 le soir (existe aussi en suppositoires effervescent mais certains patients s'en plaignent)...

Rechercher des sujets similaires à "macro msgbox"