Bonjour à toutes et tous
Je cherche a utiliser la MsgBox("" , _ vbYesNoCancel
le test vbYes Then fonctionne
le test vbNo Then fonctionne
Je n'arrive pas à faire le 3ème test Cancel.
Voici mon code.
J'ai trouvé ce code qui fait le boulot
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 Sub Ouverture_Planning() Application.ScreenUpdating = False If MsgBox("Voulez vous identifier du Présentiel ?", _ vbYesNoCancel + vbQuestion + vbDefaultButton2) = vbYes Then Sheets("Planning Stagiaire").Visible = True 'OK Sheets("Planning Stagiaire").Activate Range("A1").Activate Else If MsgBox("Voulez vous identifier du Présentiel ?", _ vbYesNoCancel + vbQuestion + vbDefaultButton2) = vbNo Then Application.Run "Impression_Planning_Stag" Else Range("A1").Activate End If End If End Sub
Mais, pour ne pas mourir idiot, comment corriger mon code ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 Sub Gestion_Présentiel() ' Adaptation de la macro de pijaku / https://www.developpez.net/forums/d2103564/logiciels/microsoft-office/excel/macros-vba-excel/msgbox-choix-multiples/ ' Cette macro fonctionne et fait le boulot. Dim Lignes(2) As String, reponse As Integer Lignes(0) = " Oui = Ouverture planning" Lignes(1) = " Non = Impression directe" Lignes(2) = " Annuler = Ferme le message" reponse = MsgBox(Join(Lignes, vbCrLf), vbYesNoCancel, "Voulez vous identifier du Présentiel ?") Select Case reponse Case vbYes Sheets("Planning Stagiaire").Visible = True 'OK Sheets("Planning Stagiaire").Activate Range("A1").Activate Case vbNo Application.Run "Impression_Planning_Stag" 'lance la Sub Impression_Planning_Stag() Case vbCancel Range("A1").Activate End Select End Sub
Merci pour votre aide
Philippe
Partager