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

ListFillRange donne des difficultées.

1 réponse
Avatar
Sylvain
Bonjour à tous!

J'en suis à populer une ComboBox en utilisant une autre feuille de données,
je ne peut utiliser la propriété AddItem car il y en a trop. Donc dans
ListFillRange je doit entrer une adresse comme A1:B32, le problème c'est que
les données ne sont pas sur la même feuille! Alors j'utilise la syntaxe
suivante:
WorkSheets(''Feuil1'').ComboBox1.ListFillRange = ''=Feuil2!A1:B32'', Cette
syntaxe fonctionne car elle permet de populer ma ComboBox1 avec des données
qui proviennent d'une autre feuille dans ce cas ci les données sont sur
Feuil2.
Maintenant je veut aller plus loin et c'est la que je bloque... Au lieu de
donner un Range fixe comme A1:B32 je voudrais utiliser la forme suivante:
Plage = WorkSheets(''Feuil2'').Range(''A1:B &
WorkSheets(''Feuil2'').Range(''A65356'').End(xlUp).Row, toutefois je
n'arrive pas à faire fonctionner ce type de formulation...


Besoin d'aide!


Merci!

1 réponse

Avatar
michdenis
Bonjour Sylvain,

Si ton combobox est issu de la boîte à outils Contrôle,

Voici une façon de faire :

'--------------------------
Private Sub ListBox1_GotFocus()

Dim Tblo As Variant

With Worksheets("Feuil1")
Tblo = .Range("A1:B" & .Range("A65536").End(xlUp).Row)
With .ComboBox1
.ColumnCount = 2
.ColumnWidths = "24,95 pt;24,95 pt"
.List = Tblo
End With
End With

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

Tu peux aussi créer un "Nom" et lui attribuer ta plage de cellules

'--------------------------
Private Sub ListBox1_GotFocus2()

Dim Tblo As Variant

With Worksheets("Feuil1")
.Range("A1:B" & .Range("A65536").End(xlUp).Row).Name = "Toto"
With .ComboBox1
.ColumnCount = 2
.ColumnWidths = "24,95 pt;24,95 pt"
.ListFillRange = "Toto"
End With
End With

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


Salutations!




"Sylvain" a écrit dans le message de news:WBG6b.100$
Bonjour à tous!

J'en suis à populer une ComboBox en utilisant une autre feuille de données,
je ne peut utiliser la propriété AddItem car il y en a trop. Donc dans
ListFillRange je doit entrer une adresse comme A1:B32, le problème c'est que
les données ne sont pas sur la même feuille! Alors j'utilise la syntaxe
suivante:
WorkSheets(''Feuil1'').ComboBox1.ListFillRange = ''þuil2!A1:B32'', Cette
syntaxe fonctionne car elle permet de populer ma ComboBox1 avec des données
qui proviennent d'une autre feuille dans ce cas ci les données sont sur
Feuil2.
Maintenant je veut aller plus loin et c'est la que je bloque... Au lieu de
donner un Range fixe comme A1:B32 je voudrais utiliser la forme suivante:
Plage = WorkSheets(''Feuil2'').Range(''A1:B &
WorkSheets(''Feuil2'').Range(''A65356'').End(xlUp).Row, toutefois je
n'arrive pas à faire fonctionner ce type de formulation...


Besoin d'aide!


Merci!