Affichage de la msgBox 2 fois (VBA Excel)
Résolu
dreamerforever
-
dreamerforever -
dreamerforever -
Bonjour,
Je code actuellement sous Excel 2007 avec VBA et je rencontre un problème assez génant à la longue. En effet, ma msgBox s'affiche 2 fois alors que cela n'a pas lieu d'être. Ci-joint mon code permettant de rentrer un code postal pour exemple.
Je vous remercie par avance.
Je code actuellement sous Excel 2007 avec VBA et je rencontre un problème assez génant à la longue. En effet, ma msgBox s'affiche 2 fois alors que cela n'a pas lieu d'être. Ci-joint mon code permettant de rentrer un code postal pour exemple.
Private Sub cp_Change() cp.MaxLength = 5 ' Le code postal se compose de 5 caractères maximal. If Not IsNumeric(cp.Text) Then cp.Value = "" MsgBox "Le code postal doit être composé de 5 chiffres.", vbExclamation, "Erreur" End If End Sub
Je vous remercie par avance.
A voir également:
- Affichage de la msgBox 2 fois (VBA Excel)
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Comment calculer la moyenne sur excel - Guide
- Aller à la ligne excel - Guide
- Déplacer colonne excel - Guide
2 réponses
Bonjour,
C'est parce que tu es dans l'évènement Change(). En faisant cp.Value = "", tu relance l'évènement. Il suffit de faire un test en entrée de procédure. Si le contenu de la textbox est vide alors on ne teste pas et on sort de la procédure.
;o)
C'est parce que tu es dans l'évènement Change(). En faisant cp.Value = "", tu relance l'évènement. Il suffit de faire un test en entrée de procédure. Si le contenu de la textbox est vide alors on ne teste pas et on sort de la procédure.
Private Sub cp_Change() cp.MaxLength = 5 ' Le code postal se compose de 5 caractères maximal. If cp.Text = "" Then Exit Sub If Not IsNumeric(cp.Text) Then MsgBox "Le code postal doit être composé de 5 chiffres.", vbExclamation, "Erreur" cp.Value = "" Exit Sub End If End Sub
;o)