Bonjour,
Voici mon problème, je doit parcourir un ensemble de donné, récupérer toutes les années différentes qui existe pour en faire une DropDown list.
Jusqu'ici pas de problèmes, ensuite il faudrait qu'a chaque changement de la sélection dans la liste, je cache/montre les ligne qui ne correspondent pas à l'année sélectionnée.
Voici comment je fait jusqu'ici :
Le problème est que je n'arrive pas à écouter un évènement ou exécuter une action au changement de la valeur de ma liste. Pour pouvoir effectuer les opérations dont je parle plus haut.
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
25
26
27
28
29
30 Private Function BuildDateComboBox() Set CellRef = Range("DatePicker").Cells With Feuil8 On Error Resume Next .Shapes.Item ("DatePickerDropDown") If Err.Number <> 0 Then Set DatePickerDropDown = .Shapes.AddFormControl(xlDropDown, CellRef.Left, CellRef.Top, CellRef.Width, CellRef.Height) DatePickerDropDown.Name = "DatePickerDropDown" DatePickerDropDown.ControlFormat.SmallChange End If DatePickerDropDown.ControlFormat.RemoveAllItems For Each d In GetYears() DatePickerDropDown.ControlFormat.AddItem d Next d On Error GoTo 0 End With End Function
Donc :
Puis-je écouter le changement de mon FormControl DropDown?
Existe-t-il une façon plus simple de faire cela ?
Merci d'avance.
Au fait : Cela doit être compatible avec Excel Office XP.
(Y parais qu'on se fait taper dessus quand on donne pas la version)
Partager