Gérer plus de 3 messagebox dans une macro
bonjour,
J'aimerais réaliser une macro qui pose des questions aux utilisateurs avec réponse "oui" ou "non" et en fonction des réponses agis plus ou moins de facon differentes. Mais avec le code que j'ai utilisé une fois que le premier messagebox est positif, tout les autres le sont malgré le fait de repondre négativement.
En vous remerciant d'avance.
Voici un Extrait de mon code:
Dim Rep As Integer
Dim PriceD As Integer
Dim EtatV As Integer
Rep = MsgBox("TRANSIT A EFFECTUER?", vbYesNo + vbQuestion, "TRANSIT")
If Rep = vbYes Then
Range("C18").Select
ActiveCell.FormulaR1C1 = "OUI"
Range("E18").Select
ActiveCell.FormulaR1C1 = InputBox("ENTREZ LA VILLE EN TRANSIT", "VILLE TRANSIT")
Range("I18").Select
ActiveCell.FormulaR1C1 = InputBox("ENTREZ LE PAYS TRANSIT", "PAYS TRANSIT")
Else
Range("C18").Select
ActiveCell.FormulaR1C1 = "NON"
End If
PriceD = MsgBox("FRAIS DHL?", vbYesNo + vbQuestion, "DHL")
If Rep = vbYes Then
Range("U8").Select
ActiveCell.FormulaR1C1 = InputBox("ENTREZ LE MONTANT DES FRAIS DHL", "FRAIS DHL")
Else
Range("V8").Select
End If
EtatV = MsgBox("VEHICULE PRET POUR ENLEVEMENT?", vbYesNo + vbQuestion, "ETAT VEHICULE")
If Rep = vbYes Then
Range("V8").Select
ActiveCell.FormulaR1C1 = "PRET"
Else
Range("V8").Select
ActiveCell.FormulaR1C1 = "PAS PRET"
End If
Bonjour,
Un début de réponse structurée pour la lecture.
Cdlt.
Option Explicit
Public Sub DEMO()
Dim Prompt As String, Title As String
Dim Default As VbMsgBoxStyle
Dim Response As VbMsgBoxResult
'----------------------------------------------------
Prompt = "TRANSIT A EFFECTUER"
Title = "TRANSIT"
Default = vbYesNo + vbQuestion
Response = MsgBox(Prompt, Default, Title)
Select Case Response
Case vbYes
Range("C18") = "OUI"
Prompt = "ENTREZ LA VILLE EN TRANSIT"
Title = "VILLE TRANSIT"
Range("E18") = InputBox(Prompt, Title)
Prompt = "ENTREZ LE PAYS DE TRANSIT"
Title = "PAYS TRANSIT"
Range("I18") = InputBox(Prompt, Title)
Case Else
Range("C18") = "NON"
Exit Sub
End Select
'----------------------------------------------------
Prompt = "FRAIS DHL?"
Title = "DHL"
Default = vbYesNo + vbQuestion
Response = MsgBox(Prompt, Default, Title)
Select Case Response
Case vbYes
Range("V8") = "PRET"
Prompt = "ENTREZ LE MONTANT DES FRAIS DHL"
Title = "FRAIS DHL"
Range("U8") = InputBox(Prompt, Title)
Case Else
Range("V8") = "PAS PRET"
End Select
'----------------------------------------------------
Prompt = "VEHICULE PRET POUR ENLEVEMENT?"
Title = "ETAT VEHICULE"
Default = vbYesNo + vbQuestion
Response = MsgBox(Prompt, Default, Title)
' à déterminer...
'----------------------------------------------------
End Sub
Bonjour tout le monde,
à tester.
Sub trois_message()
'+---------------------------------+
'| 1ere message box |
'+---------------------------------+
If MsgBox("TRANSIT A EFFECTUER?", vbYesNo + vbQuestion, "TRANSIT") = vbYes Then
Range("C18") = "OUI"
Range("E18") = InputBox("ENTREZ LA VILLE EN TRANSIT", "VILLE TRANSIT")
Range("I18") = InputBox("ENTREZ LE PAYS TRANSIT", "PAYS TRANSIT")
Else
Range("C18") = "NON"
End If
'+---------------------------------+
'| 2eme message box |
'+---------------------------------+
If MsgBox("FRAIS DHL?", vbYesNo + vbQuestion, "DHL") = vbYes Then
Range("U8") = InputBox("ENTREZ LE MONTANT DES FRAIS DHL", "FRAIS DHL")
Else
Range("V8").Select
End If
'+---------------------------------+
'| 3eme message box |
'+---------------------------------+
If MsgBox("VEHICULE PRET POUR ENLEVEMENT?", vbYesNo + vbQuestion, "ETAT VEHICULE") = vbYes Then
Range("V8") = "PRET"
Else
Range("C18") = "PAS PRET"
End If
End Sub
Cordialement.
Je vous remercie vraiment pour votre aide Big daddy ta reponse etait la solution a mon probleme.
merci beaucoup.
Une dernière petite question s'il vous plait:
J'aimerais faire un dernier msgbox dans lequel je pose la question "voulez vous ajoutez un nouveau vehicule?" si oui alors ont repete exactement exactement les trois message de big daddy Si non fin de la boucle.
Je vous remercie d'avance...
Rajoute ceci :
Sub trois_message()
debut:
'+---------------------------------+
'| 1ere message box |
'+---------------------------------+
If MsgBox("TRANSIT A EFFECTUER?", vbYesNo + vbQuestion, "TRANSIT") = vbYes Then
Range("C18") = "OUI"
Range("E18") = InputBox("ENTREZ LA VILLE EN TRANSIT", "VILLE TRANSIT")
Range("I18") = InputBox("ENTREZ LE PAYS TRANSIT", "PAYS TRANSIT")
Else
Range("C18") = "NON"
End If
'+---------------------------------+
'| 2eme message box |
'+---------------------------------+
If MsgBox("FRAIS DHL?", vbYesNo + vbQuestion, "DHL") = vbYes Then
Range("U8") = InputBox("ENTREZ LE MONTANT DES FRAIS DHL", "FRAIS DHL")
Else
Range("V8").Select
End If
'+---------------------------------+
'| 3eme message box |
'+---------------------------------+
If MsgBox("VEHICULE PRET POUR ENLEVEMENT?", vbYesNo + vbQuestion, "ETAT VEHICULE") = vbYes Then
Range("V8") = "PRET"
Else
Range("C18") = "PAS PRET"
End If
'+---------------------------------+
'| 4eme message box |
'+---------------------------------+
If MsgBox("VOULEZ VOUS AJOUTER UN NOUVEAU VEHICULE?", vbYesNo + vbQuestion, "NOUVEAU VEHICULE") = vbYes Then
GoTo debut
End If
End Sub
Cordialement.
Merci Milles fois.