Vba affichage msgbox
Cédric
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
Voulant faire une suite de msgbox avec des conditions... , quand je veux exécuter ma macro, j'ai des erreurs qui apparaissent mais je suis incapable de voir où j'ai bien pût faire mes fautes :(
peut on m'aider, voici ma macro :
merci
Cédric
Voulant faire une suite de msgbox avec des conditions... , quand je veux exécuter ma macro, j'ai des erreurs qui apparaissent mais je suis incapable de voir où j'ai bien pût faire mes fautes :(
peut on m'aider, voici ma macro :
Private Sub Worksheet_Activate()
Cells(1, 3).Select
0
InputBox "Indiquez le N° voulu :", "AIDE", vbOKCancel, vbQuestion
' Stock
If ("1") Then
GoTo 1
Else
' Affichage
If ("2") Then
GoTo 2
Else
' Graphiques mensuel
If ("3") Then
Else
' Faire commande
If ("4") Then
GoTo 4
Else
' Liste papier
If ("5") Then
GoTo 5
Else
' Problèmes
If ("6") Then
GoTo 6
Else
' bouton annuler
If ("vbCancel") Then
GoTo 9
Else
' <> 1,2,3,4,5,6
GoTo 8
End If
End If
End If
End If
End If
End If
End If
' Message pour l'explication de l'onglet Stock
1
MsgBox "Voiture", "Aide Stock", vbOK, vbInformation
GoTo 7
' Message pour l'explication de l'onglet Affichage
2
MsgBox "Avion", "Aide Affichage", vbOKOnly, vbInformation
GoTo 7
' Message pour l'explication de l'onglet Graphiques mensuel
3
MsgBox "Bateau", "Aide Graphiques mensuel", vbOKOnly, vbInformation
GoTo 7
' Message pour l'explication de l'onglet Faire la commande
4
MsgBox "Vélo", "Aide Faire la commande", vbOKOnly, vbInformation
GoTo 7
' Message pour l'explication de l'onglet Liste papier
5
MsgBox "Train", "Aide Liste papier", vbOKOnly, vbInformation
GoTo 7
' Message pour l'explication de l'onglet Problèmes
6
MsgBox "Bus", "Aide Problèmes", vbOKOnly, vbInformation
GoTo 7
7
' Message choix fin aide ou recommencer
MsgBox "Fin de l'aide", vbOK, vbRetry, vbInformation
If (vbOK) Then
GoTo 9
Else
GoTo 0
End If
8
' Message d'erreur dans valeur rentré au départ
MsgBox "Erreur, veuillez rentrer un chiffre correspondant à l'aide de l'onglet voulu." & vbNewLine & "Veuillez vous référer au tableau derrière.", vbRetryCancel, vbExclamation
If (vbRetry) Then
GoTo 0
Else
GoTo 9
End If
9
MsgBox "Fin", "Aide", vbOKOnly
End Sub
merci
Cédric
| EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI Merci d'y penser dans tes prochains messages. |
2 réponses
-
Bonjour
à la place de if then else en cascade, tu peux utiliser un select case.
L'utilisation des goto est très fortement déconseillée.
Dans ton cas, avec si peu d'instructions à tes étiquettes de lignes, autant mettre le code dans le corps du if ou du select case.
Sinon utilise des Function ou des Sub.
Une fois ton code mieux structuré, il sera plus facile à déboguer et à maintenir.
-
Je pense que si tu tapes VBA select case tu vas en trouver pleins des exemples...
Dim choix As Integer choix = 2 Select Case choix Case 0 'code si le choix vaut zéro Case 1 'code si le choix vaut un Case Is > 1 trucmuche End Select End Sub Sub trucmuche() 'code un peu long pour etre dans le corps du select case End Sub