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
352
Réponses
5
Affichages
416
Réponses
6
Affichages
250

Statistiques des forums

Discussions
312 345
Messages
2 087 450
Membres
103 546
dernier inscrit
mohamed tano