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.
à 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.
Cédric
Vous n'auriez pas un exemple ? (je sais pas ce que c'est...) :/
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