XL 2013 problème pour alimenter listbox

Jojo973

XLDnaute Occasionnel
Supporter XLD
Bonjour, je voudrai alimenter une listbox mais avec une plage de données variables.
Les données se trouvent dans la colonne B et la première ligne est 5 donc B5.
La fin de la plage est définie par B&i avec i, qui est une valeur stockée dans une cellule, cela ne fonctionne pas, et voici le code :
Code:
Private Sub UserForm_Initialize()
Dim i As Integer
Sheets("Résultats").Activate
i = Range("A3").Value
ListBox1.RowSource = "B5" & ":B&i"
End Sub

je pense qu'il y a une erreur d'écriture, pouvez vous m'aider?
Merci
 

Lone-wolf

XLDnaute Barbatruc
Re : problème pour alimenter listbox

Bonjour cirykou,


Code:
Dim lig%, x%

With Sheets("Résultats")
lig = .Range("b65536").End(xlUp).Row
For x = 5 To lig
ListBox1.AddItem .Range("B" & x).Value
Next
End With


A+ :cool:
 
Dernière édition:

Jojo973

XLDnaute Occasionnel
Supporter XLD
Re : problème pour alimenter listbox

Ok pour la simplification du code, mais en fait cela ne répond pas à ma question, la cellule de départ est "B5" par contre la ligne de la cellule de fin est fonction d'un nombre variable i (>=5) et là j'ai un problème de syntaxe
cela fonctionne avec :
Code:
ListBox1.RowSource = "B" & i
aussi avec :
Code:
ListBox1.RowSource = "B5:B10"

mais quand je remplace le numéro de ligne (10 dans l'exemple ci dessus) par une variable i, avec la syntaxe suivante :
Code:
ListBox1.RowSource = "B5&":B&i"
Ca ne fonctionne pas :confused:

Car en fait , la plage de la listbox, est modifiée par un autre formulaire qui insert des lignes selon les besoins, donc ne sachant pas combien de lignes seront insérées, j'utilise une cellule de départ et une variable i faisant référence à une cellule ou vont s'incrémenter l'ajout des lignes.
 
Dernière édition:

Paf

XLDnaute Barbatruc
Re : problème pour alimenter listbox

Bonjour cyrikou, Lone-wolf

par curiosité, essayez ceci : MsgBox "B5" & ":B&i"

Il y a de fortes chances, puisqu'on veut afficher la 'concaténation' de deux chaînes, d'obtenir B5:B&i qui n'est pas une plage exploitable ;

il faut donc sortir la variable des " " : ListBox1.RowSource = "B5:B" & i

si on veut indiquer la feuille : ListBox1.RowSource = "Résultats!B5:B" & i


A+
 

Discussions similaires

Réponses
17
Affichages
945

Statistiques des forums

Discussions
312 668
Messages
2 090 739
Membres
104 643
dernier inscrit
adriano22