Bonjour, je vais craquer, je ne sais pas pourquoi Application.EnableEvents = False ne marche plus chez moi
Voici une fonction qui desactive les events avant d'appeler un code qui remplit une combobox...Cette sub est appelée d'une feuille
Je redésactive meme encore une fois dans cette fonction appelée, codée dans un module, et bizarement, a la deuxieme valeur rentrée dans la combobox, un event est levé et on va donc direct dans CBSupersector_Change.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 '-------------------------------------------------------------------------- Private Sub LoadCBSupersectFilter() '-------------------------------------------------------------------------- Application.EnableEvents = False Dim supersect As Range: Set supersect = Range("supersect") Dim supersectors As Range: Set supersectors = Range(supersect.Offset(1), supersect.End(xlDown)) Dim combo As ComboBox Set combo = Me.CBSupersector combo.AddItem ("All") LoadComboboxFromRange combo, supersectors, True Application.EnableEvents = True End Sub
Ce code est classique pour filtrer les doublons, on se sert de la clé d'une collection, tout marche évidement tres bien si j'enleve CBSupersector_Change...dont j'ai evidement besoin.
Pitié si vous pouvez m'aider...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 '-------------------------------------------------------------------------- Public Sub LoadComboboxFromRange(combo As ComboBox, fillingcells As Range, flush As Boolean) '-------------------------------------------------------------------------- Application.EnableEvents = False Dim cell As Range If flush Then combo.Clear End If For Each cell In fillingcells 'fill the edition zone of the combo box combo = cell 'combo.ListIndex = -1 if the cell value is already in the combobox If combo.ListIndex = -1 And cell <> "" Then combo.AddItem cell End If Next cell Application.EnableEvents = False End Sub
Partager