XL 2010 Msgbox s'affiche deux fois

eduraiss

XLDnaute Accro
Bonjour le forum

Ci dessous un code que je positionne dans un textbox2
Private Sub TextBox2_Change()
Superieur_a_10_places
End Sub

Sub Superieur_a_10_places()
If Me.ComboBox2 = "Place Cinéma Perigueux" Then
If Me.TextBox2 > 10 Then
MsgBox "RESTREINT A 10 PLACES MAXIMUN", vbOKOnly
Me.TextBox2 = ""

Exit Sub

End If
End If

End Sub


Mon problème est que le Msgbox s'affiche deux fois,
Je ne trouve pas la solution malgré plusieurs essais

Merci de votre aide
Cordialement,
 

Dranreb

XLDnaute Barbatruc
Bonjour.
Application.EnableEvents ne s'appliquant pas pour les évènements MSForms, je déclare souvent en tête d'un UserForm une Private ExecInduite As Boolean.
Avant de modifier une TextBox par programme je fait ExecInduite = True, derrière ExecInduite = False, et tout de suite dans la TextBox_Change: If ExecInduite Then Exit Sub.
 

job75

XLDnaute Barbatruc
Bonjour eduraraiss, Bernard,

Inutile de compliquer les choses :
VB:
Private Sub TextBox2_Change()
Superieur_a_10_places
End Sub

Sub Superieur_a_10_places()
If ComboBox2 = "Place Cinéma Perigueux" Then
    If Val(TextBox2) > 10 Then
        MsgBox "RESTREINT A 10 PLACES MAXIMUN", vbOKOnly
        TextBox2 = ""
        Exit Sub '???
    End If
End If
End Sub
Le texte vide "" est supérieur à tout nombre, la fonction Val le remplace par 0.

A+
 

Discussions similaires

Réponses
17
Affichages
333
Réponses
5
Affichages
400
Réponses
6
Affichages
239

Statistiques des forums

Discussions
312 198
Messages
2 086 126
Membres
103 127
dernier inscrit
willwebdesign