Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Problème syntaxe MsgBox

S[1]t'Yor

XLDnaute Junior
Bonjour

J'ai un problème avec ma ligne de code MsgBox que voici :
VB:
MsgBox("Vérification du carnet de ferrures terminé "&nbPB&" défauts trouvés. Voulez vous afficher ces erreurs ?",vbYesNo+vbInformation)
Je ne comprend pas mon erreur.

Merci d'avance

CDT

S[1]t'Yor
 
Solution
nbPB c'est une variable calculé précédemment que je souhaite inclure dans ma fenêtre en plein milieu d'un texte
Vérifiez son contenu et mettez des espaces
VB:
"Vérification du carnet de ferrures terminé " & nbPB & " défauts trouvés. Voulez vous afficher ces erreurs ?"

Pour vérifier son contenu mettez un point d'arrêt sur la ligne (F9) et quand la macro s'arrête là, afficher la fenêtre "Variables locales" et parcourrez les variables.
Ou saisissez (point d'interrogation compris) dans la fenêtre exécution (CTRL+G) :
? nbPB
puis validez.

vgendron

XLDnaute Barbatruc
Bonjour
ton message attend une réponse de l'utilisateur "Yes or No"
il faut affecter cette réponse à une variable pour traiter cette réponse

donc au choix
Réponse = MsgBox("Vérification du carnet de ferrures terminé " & nbPB & " défauts trouvés. Voulez vous afficher ces erreurs ?", vbYesNo + vbInformation)
ou

if Réponse = MsgBox("Vérification du carnet de ferrures terminé " & nbPB & " défauts trouvés. Voulez vous afficher ces erreurs ?", vbYesNo + vbInformation)=vbyes then
 

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

C'est quoi nbPB ce ne serait pas plutôt VbLf ou VbCrLF respectivement Saut de ligne et Saut de ligne avec retour chariot

Et si vous mettez des parenthèses, alors if faut une variable pour recevoir la réponse Msgbox est alors une fonction et plus une méthode.

Dim Rep
Code:
Rep = MsgBox("voulez-vous trucchouette", vbYesNo)  = vbYes then
if Rep = vbyes then
else
end if

Ou sans variablen
VB:
If MsgBox("Voulez-vous machin", vbyesno, "demande") = vbyes then
else
end if
 
Dernière édition:

S[1]t'Yor

XLDnaute Junior
nbPB c'est une variable calculé précédemment que je souhaite inclure dans ma fenêtre en plein milieu d'un texte
 

S[1]t'Yor

XLDnaute Junior
Merci pour ces liens mais je les ais déjà parcouru avant de venir ici. Mais merci quand même
 

vgendron

XLDnaute Barbatruc
Hello Tous

Chez moi cette syntaxe ne provoque aucun message d'erreur
vérfie bien les parenthèses, guillemets.. etc
Sub test()
Réponse = MsgBox("Vérification du carnet de ferrures terminé " & nbPB & " défauts trouvés. Voulez vous afficher ces erreurs ?", vbYesNo + vbInformation)
End Sub
 

Hasco

XLDnaute Barbatruc
Repose en paix
nbPB c'est une variable calculé précédemment que je souhaite inclure dans ma fenêtre en plein milieu d'un texte
Vérifiez son contenu et mettez des espaces
VB:
"Vérification du carnet de ferrures terminé " & nbPB & " défauts trouvés. Voulez vous afficher ces erreurs ?"

Pour vérifier son contenu mettez un point d'arrêt sur la ligne (F9) et quand la macro s'arrête là, afficher la fenêtre "Variables locales" et parcourrez les variables.
Ou saisissez (point d'interrogation compris) dans la fenêtre exécution (CTRL+G) :
? nbPB
puis validez.
 

Jacky67

XLDnaute Barbatruc
Bonjour à tous
Et comme ceci
VB:
    If MsgBox("Vérification du carnet de ferrures terminé " & nbpb & " défauts trouvés. Voulez vous afficher ces erreurs ?", vbYesNo + vbInformation) = vbYes Then
        MsgBox "Votre réponse est Oui"
    Else
        MsgBox "Votre réponse est Non"
    End If
 

Discussions similaires

Réponses
6
Affichages
449
Réponses
7
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…