ListBox: récupérer des valeurs précises

Résolu
_rettt Messages postés 17 Statut Membre -  
_rettt Messages postés 17 Statut Membre -
Bonjour à tous,

J'ai regardé absolument dans tous les forums et aucun ne répond vraiment à mon problème.

J'ai un userform qui contient une ListBox (plusieurs lignes et 4 colonnes).
J'aimerai sélectionner toutes mes lignes et colonnes et le mettre dans une feuille excel; je m'explique.
Mon ListBox correspond à un tableau à ligne variant et de 4 colonnes.
Je veux donc mettre la case (1,1) du la ListBox dans la case A1 de ma feuille et ainsi de suite.

Pour ce faire j'ai écrit ce petit bout de code:

For i = 1 To ListBox1.ListCount
For j = 1 To 4
Sheets("Saisie_Stock").Range(Cells(i + 1, j)).Value = ListBox1.List(i, j)
Next
Next

Cela me crée une erreur et je suis sur que ça vient de mon ListBox1.List mais je ne sais pas quoi utiliser à la place.

Je vous remercie pour votre aide.

1 réponse

pijaku Messages postés 13513 Statut Modérateur 2 763
 
Bonjour,

A lire

code à tenter :
  Dim TB()
  TB = ListBox1.List()
  ReDim Preserve TB(ListBox1.ListCount - 1, ListBox1.ColumnCount - 1)
  Range("A1").Resize(UBound(TB, 1), UBound(TB, 2)) = TB

1
_rettt Messages postés 17 Statut Membre
 
Merci beaucoup, j'ai lu ton site et même si je n'ai pas tout tout compris, ça m'a déjà aidé à voir où était mon erreur.

Merci pour ton code, il est plutôt très efficace.

J'ai une petite question en plus car je n'ai pas tout compris non plus sur ton code:

Pourquoi tu utilises deux fois UBound dans ton Resize(UBound, Ubound) et pas un LBound?

Et pour finir, comment je fais pour dimensionner mon tableau?
La première ligne de mon ListBox est une ligne avec des mots donc elle ne doit pas être utilisé et après je dois rentrer dans le tableau excel les 4 colonnes de mon textBox pour chaque ligne.
0
_rettt Messages postés 17 Statut Membre
 
En sachant que dans mon tableau Excel la première ligne est aussi unitilisable, il y a du texte
0