Bonjour,
J'apprends VBA en même temps que je dois programmer... J'ai fait le morceau de programme suivant en m'inspirant de programmes déjà existants:
-----------------------------------------------------------
(Est défini avant : Set WS_Database_Runs = Sheets("Database_Runs"))
' Recuperation d'une liste
V_DerLigne = WS_Database_Runs.Range("B4").End(xlDown).Row
V_RefPlage = "='Database_Runs'!$B$4:$B$" & V_DerLigne
Names.Add Name:="NomPlage", RefersTo:=V_RefPlage
(Imaginons que V_DerLigne = 6, alors V_RefPlage = 'Database_Runs'!$B$4:$B$6)
' ComboBox_NelleConfig est une liste déroulante à liste variable
Sheets("Database_Runs").ComboBox_NelleConfig.ListFillRange = "NomPlage"
-----------------------------------------------------------
J'avais compris que dès lors la propriété ListFillRange pointe sur NomPlage (et c'est ce que je vois dans les propriétés). Mais, si ailleurs dans mes macros je rajoute une valeur à ma liste et que je relance :
' Recuperation d'une liste
V_DerLigne = WS_Database_Runs.Range("B4").End(xlDown).Row
V_RefPlage = "='Database_Runs'!$B$4:$B$" & V_DerLigne
Names.Add Name:="NomPlage", RefersTo:=V_RefPlage
Alors V_DerLigne = 7, et V_RefPlage = 'Database_Runs'!$B$4:$B$7)
Néanmoins, quand je clique dans ma ComboBox, la liste n'est pas mise à jour...
Est-ce quelqu'un peut m'expliquer pourquoi, c'est surement une subtilité du visual basic que je n'ai pas saisi...
Nicolas.