VBA : Erreur Msgbox

Résolu
Bonjour à tous,

Voilà je m'entraîne comme je peux sur VBA, et du coup actuellement j'essaye de faire une suite de fenêtre pour demander X confirmation avant l'ouverture d'une fichier.

Cependant j'ai un soucis et je n'arrive pas à le régler par moi même. Je n'arrive pas à fermer le fichier en cas de clique sur "Non" regarder par vous même :

Private Sub Workbook_Open()

Application.WindowState = xlMinimized
If MsgBox("Es-tu sûr de vouloir ouvrir ce fichier ?", vbQuestion + vbYesNo, "Confirmation-1") = vbYes Then

If MsgBox("Es-tu certain de vouloir ouvrir ce fichier ?", vbQuestion + vbYesNo, "Confirmation-2") = vbYes Then

If MsgBox("Es-tu sûr et certain du coup ?", vbQuestion + vbYesNo, "Confirmation-3") = vbYes Then

If MsgBox("T'as pas froid au yeux toi, tu veux vraiment faire ça ?", vbQuestion + vbYesNo, "Confirmation-4") = vbYes Then

If MsgBox("C'est peut-être une perte de temps, peut-être un piège ou peut-être un trésor caché. T'es vraiment vraiment sur de vouloir tenter le coup ?", vbQuestion + vbYesNo, "Confirmation-5") = vbYes Then

MsgBox "Bon, aller va tu l'as bien mérité"
Application.WindowState = xlMaximized
Else: Workbooks("Fichier Fabien.xlsm").Close savechanges:=False

End If
End If
End If
End If
End If
End Sub


J'ai essayé comme ça (si je clique sur Non le fichier reste quand même ouvert), j'ai essayé en mettant un Else après chaque If dans ce cas la, je n'avais qu'une seule boite de dialogue qui apparaissait les autres ne suivent pas..

Je ne vois pas comment faire d'autre, si vous avez des idées pour mon problème (ou même pour simplifier mon code, toute info est bonne à prendre dans mon cas)

Merci d'avance.

3 réponses

  1. C'est parfait, je te remercie :)
    0
    1. Bonjour,

      Private Sub Workbook_Open()
      
      Application.WindowState = xlMinimized
      If MsgBox("Es-tu sûr de vouloir ouvrir ce fichier ?", vbQuestion + vbYesNo, "Confirmation-1") = vbYes Then
          If MsgBox("Es-tu certain de vouloir ouvrir ce fichier ?", vbQuestion + vbYesNo, "Confirmation-2") = vbYes Then
              If MsgBox("Es-tu sûr et certain du coup ?", vbQuestion + vbYesNo, "Confirmation-3") = vbYes Then
                  If MsgBox("T'as pas froid au yeux toi, tu veux vraiment faire ça ?", vbQuestion + vbYesNo, "Confirmation-4") = vbYes Then
                      If MsgBox("C'est peut-être une perte de temps, peut-être un piège ou peut-être un trésor caché. T'es vraiment vraiment sur de vouloir tenter le coup ?", vbQuestion + vbYesNo, "Confirmation-5") = vbYes Then
                          MsgBox "Bon, aller va tu l'as bien mérité"
                          Application.WindowState = xlMaximized
                      Else
                          x = "Confirmation-5"
                          GoTo fin
                      End If
                  Else
                      x = "Confirmation-4"
                      GoTo fin
                  End If
              Else
                  x = "Confirmation-3"
                  GoTo fin
              End If
          Else
              x = "Confirmation-2"
              GoTo fin
          End If
      Else
          x = "Confirmation-1"
          GoTo fin
      End If
      
      Exit Sub
      fin:
          MsgBox x
          
          Workbooks("Fichier Fabien.xlsm").Close savechanges:=False
      End Sub


      Bonne suite
      0
      1. Bonjour à tous,

        Je réitère ma demande,

        Merci d'avance
        0