Petit souci avec un combobox
Le
ThierryP

Bonjour le forum,
Avec cett petite proc, j'alimente une cellule :
Private Sub Choix_Soupape_Click()
Application.EnableEvents = False
Range("ChoixSoupape") = Me.Choix_Soupape.Text
Me.Choix_Soupape.Text = ""
'Me.Choix_Soupape.Activate
'Me.Choix_Soupape.DropDown
Application.EnableEvents = True
End Sub
Le souci, c'est que la ligne
Me.Choix_Soupape.Text = ""
active l'évènement Change du combo. ce que je ne veux pas !
Comment peut-on intercepter cet évènement ???
Merci d'avance pour toute piste ou suggestion !!!
ThierryP
Avec cett petite proc, j'alimente une cellule :
Private Sub Choix_Soupape_Click()
Application.EnableEvents = False
Range("ChoixSoupape") = Me.Choix_Soupape.Text
Me.Choix_Soupape.Text = ""
'Me.Choix_Soupape.Activate
'Me.Choix_Soupape.DropDown
Application.EnableEvents = True
End Sub
Le souci, c'est que la ligne
Me.Choix_Soupape.Text = ""
active l'évènement Change du combo. ce que je ne veux pas !
Comment peut-on intercepter cet évènement ???
Merci d'avance pour toute piste ou suggestion !!!
ThierryP
"Choix_Soupape"
Quel est le type de ce contrÍ´le?
Comment procèdes-tu pour remplir la liste du contrÍ´le?
MichD
Juste pour que ce soit un peut plus clair, lorsque tu utilises un
combobox, Í chaque fois que tu cliques sur un item de la liste
déroulante du combobox, l'événement "Choix_Soupape_Change" s'exécute en
premier suivi de l'événement "Choix_Soupape_Click" en supposant que tu
as défini ces 2 événements du combobox.
Par conséquent, lorsque tu cliques sur un item de la liste du combobox
la procédure événementielle "Change" s'exécute une première fois suivi
de la procédure "Click". Ce que le code suivant fait, il empêche que la
procédure de l'événement "Change" se produise une deuxième fois suite Í
cette ligne de code Me.Choix_Soupape.Text = ""
Voici procéder...
Déclaration de la variable dans le haut du classeur
Dim Ok As Boolean
'--------------------------------------------------------
Private Sub Choix_Soupape_Change()
If Ok = True Then
Ok = True
Else
'Remplace cette ligne de code par ta procédure
'de cet événement
MsgBox "bonjour"
Ok = False
End If
End Sub
'--------------------------------------------------------
Private Sub Choix_Soupape_Click()
Application.EnableEvents = False
Ok = True
Range("ChoixSoupape") = Me.Choix_Soupape.Text
Me.Choix_Soupape.Text = ""
Ok = False
Application.EnableEvents = True
End Sub
'--------------------------------------------------------
MichD
Il me semblait bien avoir déjÍ lu quelque part la solution que tu me proposes (peut-être un post Í toi d'ailleurs !!)... mais impossible de m'en souvenir !
Merci pour ta réponse aussi rapide qu'efficace !
ThierryP