Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Affecter une macro à une liste déroulante

2 réponses
Avatar
Columbus
Bonjour,

J'ai créé une macro qui fait un filtre élaboré sur une base de donné et
copie l'information vers un autre emplacement. Donc dépendamment ce que je
demande de filtrer, le résultat de mon filtre (la petite base de donné)
augmente ou diminue. Par la suite, j'ai créé une liste déroulante qui va
cherché l'information dans une colonne de mon filtre.

Mon problème: lorsque je génère un second filtre qui contient plus
d'information que le précédent, la liste déroulante ne vient pas chercher
toute l'information. j'ai essayé de faire une macro afin de faire varier ma
liste déroulante, sans succès. Est-ce que c'est possible de le faire?

2 réponses

Avatar
michdenis
Bonjour Columbus,

En supposant que ton combobox est dans une feuille de calcul et qu'il
émane de la barre d'outils "contrôle",

Ne renseigne pas la propriété ListFillRange du combobox et utilise ceci
pour renseigner la liste de ton combobox


La feuille et la plage de cellules doivent être en accord avec ton application.
à copier dans le module feuille où l'action se déroule.
'----------------
Private Sub ComboBox4_GotFocus()

Dim Tblo As Variant
With Worksheets("Feuil1")
Tblo = .Range("A1:A" & .Range("a65536").End(xlUp).Row)
Me.ComboBox4.List = Tblo
End With

End Sub
'----------------


Salutations!



"Columbus" a écrit dans le message de news:

Bonjour,

J'ai créé une macro qui fait un filtre élaboré sur une base de donné et
copie l'information vers un autre emplacement. Donc dépendamment ce que je
demande de filtrer, le résultat de mon filtre (la petite base de donné)
augmente ou diminue. Par la suite, j'ai créé une liste déroulante qui va
cherché l'information dans une colonne de mon filtre.

Mon problème: lorsque je génère un second filtre qui contient plus
d'information que le précédent, la liste déroulante ne vient pas chercher
toute l'information. j'ai essayé de faire une macro afin de faire varier ma
liste déroulante, sans succès. Est-ce que c'est possible de le faire?
Avatar
Jacky
Bonsoir,

Ceci crée une liste de validation nommée"liste" a partir du filtre élaboré
et met automatiquement à jour en fonction du nombre de données présente dans
ce filtre.
A placé dans la macro existante et adapter les adresses de plage.
'---------
Sub JJ()
Range("C1").Select '*****adresse de debut du filtre élaboré , à
adapter**
ActiveWorkbook.Names.Add Name:="liste", RefersToR1C1:= _
"=OFFSET(Feuil1!R2C3,,,COUNTA(Feuil1!C3)-1)"
Range("D1").Select ' *****adresse de la liste de validation, à adapter**
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=
_
xlBetween, Formula1:="=liste"
End With
End Sub
'-------
Salutations
JJ

"Columbus" a écrit dans le message de
news:
Bonjour,

J'ai créé une macro qui fait un filtre élaboré sur une base de donné et
copie l'information vers un autre emplacement. Donc dépendamment ce que je
demande de filtrer, le résultat de mon filtre (la petite base de donné)
augmente ou diminue. Par la suite, j'ai créé une liste déroulante qui va
cherché l'information dans une colonne de mon filtre.

Mon problème: lorsque je génère un second filtre qui contient plus
d'information que le précédent, la liste déroulante ne vient pas chercher
toute l'information. j'ai essayé de faire une macro afin de faire varier
ma
liste déroulante, sans succès. Est-ce que c'est possible de le faire?