pb avec 2 msgbox dans procédure évènementielle

  • Initiateur de la discussion Initiateur de la discussion michel
  • 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 !

M

michel

Guest
bonjour le forum,
j'ai crée la procédure suivante:
Private Sub Worksheet_Deactivate()
If Range('L28').Value = '' Then
MsgBox 'Merci de rappeler le montant total des LMT ou CB demandés.' _
& Chr(10) & 'Voulez-vous le compléter maintenant ?', vbYesNo, 'Attention'
Sheets('NDE').Select
Range('L28').Select
End If
If Range('J30,M30,S30, S31').Value = '' Then
MsgBox 'Veuiller compléter les cellules Caisse, Blanc et Partages même avec la valeur 0 le cas échéant'
Sheets('NDE').Select
Range('J30').Select
End
End If
End If
End Sub

le pb : la 1ère msgbox apparait bien mais je n'ai pas la possibilité de répondre car aussitot la 2ième msgbox arrive.
Et quand j'ai fini de traiter la 2 ième, la procédure me ramène à la première.
Comment arrêter cette machine infernale ?
Merci à tous pour votre aide
 
Bonsoir Michel, le forum,

Peut etre qu'un petit exit sub bien place...

du genre :
Private Sub Worksheet_Deactivate()
If Range('L28').Value = '' Then
MsgBox 'Merci de rappeler le montant total des LMT ou CB demandés.' _
& Chr(10) & 'Voulez-vous le compléter maintenant ?', vbYesOnly, 'Attention'
Exit Sub
Sheets('NDE').Select
Range('L28').Select
End If
If Range('J30,M30,S30, S31').Value = '' Then
MsgBox \\'Veuiller compléter les cellules Caisse, Blanc et Partages même avec la valeur 0 le cas
échéant\\'
Exit Sub
Sheets('NDE').Select
Range('J30').Select
End

End If
End Sub

Bonne soiree

Olivier

Ps. a mettre au conditionel quand meme, puisque je n'ai pas verifie mes dires.

Message édité par: Deudecos, à: 04/09/2005 22:42
 
Bonjour à vous

Ce doit être un problème de If ... End If

Car cela marche ainsi :

Private Sub Worksheet_Deactivate()
If Range('L28').Value = '' Then
MsgBox 'Merci de rappeler le montant total des LMT ou CB demandés.' _
& vbLf & 'Voulez-vous le compléter maintenant ?', vbYesNo, 'Attention'
'Sheets('NDE').Select Range('L28').Select
End If
If Range('J30,M30,S30, S31').Value = '' Then
MsgBox 'Veuiller compléter les cellules Caisse, Blanc et Partages même avec la valeur 0 le cas échéant'
'Sheets('NDE').Select Range('J30').Select
End If
End Sub

le range().select provoque une erreur chez moi, puisque ma cellule est vide et je n'ai pas de feuille NDE, donc par fainéantise j'ai foutu le 'bazar' en remarque ;-)

Au revoir, à bientôt
 
merci pour ton aide mais ça ne marche pas.
Le second msgbox s'affiche toujours tout de suite aprés le premier sans que j'ai la possibilité de saisir la réponse dans la cellule.
En revanche je peux bien dérouler ma seconde procédure jusqu'au bout.
C'est alors que , curieusement (pour moi ) le contrôle du premier if then me ramène vers ma première procédure que je peux achever.
Au bout du compte donc, je traite ma seconde procédure en premier et la première en second. Et ça ne me va pas du tout...
Il y a sans doute un truc pour faire les choses dans l'ordre.
Je débute, c'est passionnant mais les nuits sont courtes.

Merci encore de ton aide
 
- 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

  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
806
Réponses
3
Affichages
773
Réponses
3
Affichages
695
Retour