Propriétés "ListFillRange" combobox

Bonjour à tous,

J'aimerais savoir s'il est possible de renseigner la liste d'une combobox avec une variable.

Je m'explique :

J'ai dans ma "Feuil1" plusieurs intitulés :

A1 : Riri

A2 : Fifi

A3 : Loulou

Pour les ajouter à ma combobox, j'écris ce code :

Combobox1.ListFillRange = "'Feuil1'!A1:A3"

Maintenant, imaginons que ma liste peut s'agrandir. Je crée donc une variable "DernLigne" :

DernLigne = Sheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Row

Comment puis-je utiliser cette variable dans mon "ListFillRange" ?

J'ai essayé ça, mais ça ne fonctionne pas :

Combobox1.ListFillRange = "'Feuil1'!A1:A" & DernLigne

Quelqu'un pourrait-il m'éclairer svp ?

Bonjour,

La solution est de créer un nom comme ceci :

nom_plage = =DECALER(Feuil1!$A:$A;0;0;NBVAL(Feuil1!$A:$A))

Combobox1.ListFillRange = nom_plage

Bonjour,

La propriété ListFillRange attend une donnée de type String, tu lui mets autre chose et tu auras une erreur 13...

Mais rien ne t'empêche de la modifier dynamiquement en cours d'exécution... en lui envoyant le contenu d'une variable String, mais certainement le plus simple est que ta plage variable soit couverte par un nom de plage dynamique et tu mets ce nom de plage comme valeur de la propriété, tu n'auras plus à y revenir !

Cordialement.

Merci pour vos réponses !

Effectivement ma logique n'était pas bonne

J'ai bien compris la démarche à entreprendre pour résoudre mon problème, seulement voilà j'ai toujours un blocage..

Je crée donc un nom en entrant la formule ci-dessous :

=DECALER('Niveau 3'!$B$3;0;0;NBVAL('Niveau 3'!$B:$B)-2;1)

Oui, ma "Feuil1" s'appelle en fait "Niveau 3" et je démarre ma liste à la cellule "B3"

Je retire 2 à mon NBVAL car ma cellule "B1" et ma cellule "B2" contiennent des intitulés non désirés dans ma liste.

Je renomme ma plage en "Nivo_3"

Jusque là tout me semble ok !

Ensuite, je bascule en VBA et j'écris :

Combobox1.ListFillRange = Nivo_3

J’exécute alors mon programme et j'obtiens une erreur 438 -> Propriété ou méthode non gérée par cet objet

Ce qui me semble bizarre c'est lorsque je regarde dans le gestionnaire des noms, la valeur renvoyé par ma formule est : {...}

Tandis que lorsque j'écris cette même formule dans une cellule de mon tableur, la valeur renvoyée est bien celle du premier intitulé de ma plage

Oui parce que tu lui envoies une plage et non une chaîne !

Il faut écrire : ="Nivo_3"

Cordialement.

Ahah ! Autant pour moi, ça fonctionne merveilleusement bien

Saletés de guillemets

Encore merci pour le temps que vous m'avez consacré !

Bonne fin de journée

Rechercher des sujets similaires à "proprietes listfillrange combobox"