msgbox ok tout va bien non ça foire

  • Initiateur de la discussion Initiateur de la discussion Yvon
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Y

Yvon

Guest
Bonjour, à tous,

J'ai un enième souci de syntaxe, j'ai crée un useform pour lancer une impression, durant cette impression l'utilisateur doit changer de style de papier, si il répond oui à toute les questions cela se passe nickel, si'il répond nous la prcédure ne se déroule pas comme prévue, je vous livre le code si quelqu'un à une propo à ce problème je suis preneur

bon week-end à tous
Yvon

Private Sub OK_Click()

'Impression de : synthèse, fiche satisfaction client, fiche controle salle'

Sheets(Array(6, 12, 13)).PrintOut
intresponse = MsgBox('L 'impression est elle correcte ?', vbYesNo + vbQuestion + vbDefaultButton2, 'Impression')
If intresponse = vbYes Then MsgBox 'Insérez dans l'imprimante la fiche bienvenue', vbExclamation, 'Impression'
If intresponse = vbYes Then Sheets(14).PrintOut
intresponse = MsgBox('L 'impression est elle correcte ?', vbYesNo + vbQuestion + vbDefaultButton2, 'Impression')
If intresponse = vbNo Then MsgBox 'Insérez dans l'imprimante la fiche bienvenue', vbExclamation, 'Impression'
If intresponse = vbNo Then Sheets(14).PrintOut
If intresponse = vbYes Then Unload Me

End Sub
 
La réponse Non de la première question n'est pas interprétée, donc le code contine et pose la 2e question.

Pour plus de clarté dans ton code écris plutôt directement tout ce qu'il faut faire si c'est oui sans répéter si réponse Oui à chaque ligne

Private Sub OK_Click()

'Impression de : synthèse, fiche satisfaction client, fiche controle salle'

Sheets(Array(6, 12, 13)).PrintOut
intresponse = MsgBox('L 'impression est elle correcte ?', vbYesNo + vbQuestion + vbDefaultButton2, 'Impression')
If intresponse = vbYes Then
MsgBox 'Insérez dans l'imprimante la fiche bienvenue\\', vbExclamation, 'Impression'
Sheets(14).PrintOut
Else
'c'est ici qu'il faut indiquer quoi faire si c'est non à la 1ère question
End If
intresponse = MsgBox('L 'impression est elle correcte ?', vbYesNo + vbQuestion + vbDefaultButton2, 'Impression')

If intresponse = vbNo Then
MsgBox 'Insérez dans l'imprimante la fiche bienvenue\\', vbExclamation, 'Impression'
Sheets(14).PrintOut
Else
Unload Me
End If
End Sub
 
Et pourtant ...

Est-ce que tu as bien les mêmes lignes et en particulier plus rien après les Then ?

Autrement il y a peut-être des '/' qui se sont rajoutés et qu'il faut supprimer.
En regardant ton code, je me demande si c'est normal que tu poses 2 fois la question.

Si je comprends bien ce que tu veux faire :

- Si la réponse est oui, l'utilisateur à mis le papier qu'il faut et tu lances l'impression de la feuille
- Si c'est non, tu abandonnes.

Dans ce cas, le code devrait être avec une seule fois la question et les 2 réponses possibles vbYes et Else.

Private Sub OK_Click()

'Impression de : synthèse, fiche satisfaction client, fiche controle salle'

Sheets(Array(6, 12, 13)).PrintOut
intresponse = MsgBox('L 'impression est elle correcte ?', vbYesNo + vbQuestion + vbDefaultButton2,
'Impression')
If intresponse = vbYes Then
MsgBox 'Insérez dans l'imprimante la fiche bienvenue', vbExclamation, 'Impression'
Sheets(14).PrintOut
Else
Unload Me
End If
End Sub
 
Bonjour Soft,

Non si l'impression foire, le mesgbox doit libérer l'écran, pour relancer l'impression voila le cycle:

Userform : Impression
L'impression est elle correcte /non
Userform : Impression
L'impression est elle correcte /oui
Insérez dans l'imprimante la fiche 'bienvenue'
L'impression est elle correcte /non
Insérez dans l'imprimante la fiche 'bienvenue'
L'impression est elle correcte /oui
Userform ferme.

Cela te parait il plus clair
a++
Yvon
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
1
Affichages
1 K
S
Réponses
5
Affichages
2 K
Sa Mariam
S
L
Réponses
7
Affichages
2 K
N
Réponses
0
Affichages
913
Nananinanana
N
N
Réponses
0
Affichages
902
Nananinanana
N
H
Réponses
3
Affichages
1 K
hagakure69100
H
P
  • Question Question
Réponses
0
Affichages
20 K
patoche1020
P
B
Réponses
15
Affichages
3 K
beowulf97
B
Retour