XL 2013 problème pour alimenter listbox

  • Initiateur de la discussion Initiateur de la discussion Jojo973
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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+ 😎
 
Dernière édition:
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 😕

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:
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+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
40
Affichages
2 K
  • Question Question
Microsoft 365 Code VBA
Réponses
7
Affichages
647
Réponses
3
Affichages
544
Retour