N
Neix
Guest
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.
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.