Listbox vers cellules

Résolu/Fermé
math - 27 févr. 2012 à 15:22
 OMrtt - 21 juil. 2014 à 15:21
Bonjour,

Je souhaiterais insérer toutes les valeurs d'une listbox dans des cellules.

j'ai essayé d'insérer le nombre de ligne de la listbox dans ma feuille puis d'y copier mes données mais je suis bloqué a la première étape.

merci de m'aider

13 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
Modifié par michel_m le 28/02/2012 à 14:28
Avant de partir

sans boucles inutiles (mais ca marche aussi)
Private Sub CommandButton1_Click()
     Dim lig as byte
     lig = ListBox1.ListCount 
     Rows("1:" & lig).Insert 
     With Sheets(1) 
        .Range(.Cells(1, "C"), .Cells(lig, "E")) = ListBox1.List 
        .Range(.Cells(1, "A"), .Cells(lig, "A")) = ComboBox1 
    End With 
End Sub


Michel
1
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
27 févr. 2012 à 15:34
Bonjour,
Les dites valeurs de listbox sortent d'ou????
0
Dans une userform, j'ai une listbox 3 colonnes remplie de valeurs et lorsque je clique sur le bouton "valider" les valeurs sont écrites dans des cellules distinctes.

voila mon objectif.
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
27 févr. 2012 à 15:44
Re,
Juste un detail:

j'ai une listbox 3 colonnes remplie de valeurs et lorsque je clique sur le bouton "valider" les valeurs sont écrites dans des cellules distinctes.


Vous voulez copiez toutes les valeurs de la listbox ou seulement celles qui sont selectionnees????
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
toutes les valeurs.
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
27 févr. 2012 à 16:25
Re,


Exemple:
Feuil1 pour l'onglet
E-F-G pour les colonnes

Private Sub CommandButton1_Click()
Dim x As Integer, Nb_L_ListBox As Integer
With Worksheets("feuil1")
For x = 1 To Me.ListBox1.ListCount
.Cells(x, 5) = Me.ListBox1.List(x - 1, 0)
.Cells(x, 6) = Me.ListBox1.List(x - 1, 1)
.Cells(x, 7) = Me.ListBox1.List(x - 1, 2)
Next x
End With
End Sub

Vous modifierez pour vous

Bonne suite
0
Merci pour vos réponses, j'essaye ça tout de suite.
0
la formule de restitution fonctionnement parfaitement. Merci à vous 2!

je souhaite insérer le nombre de ligne correspondant au Listcount de ma listbox.

Toutes mes données restituées seront les unes sous les autres
0
merci beaucoup de votre aide, je vais essayer de trouver la suite par moi même.
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
27 févr. 2012 à 17:37
Re,

empilage:

colonne E1 a Ex

listbox;
E1,colonne1 1ere ligne
E2,colonne2
E3,colonne3
E4,colonne1 2eme ligne
E5,colonne2

Private Sub CommandButton1_Click()
Dim x As Integer, y As Integer
With Worksheets("feuil1")
For x = 1 To Me.ListBox1.ListCount
y = (x * 3) - 2
.Cells(y, 5) = Me.ListBox1.List(x - 1, 0)
.Cells(y + 1, 5) = Me.ListBox1.List(x - 1, 1)
.Cells(y + 2, 5) = Me.ListBox1.List(x - 1, 2)
Next x
End With
End Sub

pour la version de michel_m, je vais chercher pour voir

Bonne suite
0
voici un exemple de l'outil:

j'ouvre mon userform,

dans une combobox: G52
dans ma listbox:

J04 5 Gris
J09 8 Noir
J02 10 rouge

click sur le bouton -> insertion dans cellules:

G52 J04 5 Gris
G52 J09 8 Noir
G52 J02 10 rouge

j'ouvre à nouveau mon userform,

dans une combobox: G53
dans ma listbox:

J03 8 vert
J09 2 bleu
J02 1 jaune
J09 5 orange

click sur le bouton-> insertion dans cellules:

G53 J03 8 vert
G53 J09 2 bleu
G53 J02 1 jaune
G53 J09 5 orange

G52 J04 5 Gris
G52 J09 8 Noir
G52 J02 10 rouge
.

j'ai la formule pour insérer les valeurs correctement mais il me manque celle pour insérer le nombre de lignes suffisante exemple: pour le G52:insérer 3 lignes, pour le G53 4 lignes.

je suis pas très compétent en Visual basic. Comment ajouter la variable Liscount à celle d'insertion?

merci
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
28 févr. 2012 à 09:10
Bonjour,

Donc
1/ chaque fois que tu appuies sur le bouton, la totalité de la listbox est copiée dans une seule cellule avec plusieurs lignes suivant le nombre de lignes dans la listbox ?
2/ si G52 et G53 sont des adresses de cellules pourquoi G53 est au dessus de G52 ?

Merci d'être précis et exhaustif dans tes explications: imagine un peu ce que cela te couterait si tu n'avais pas affaire avec des bénévoles....
0
Bonjour,

c'est difficile d'expliquer à distance sans support, je m'excuse de la perte de temps qui vous est occasionné.

1/ A chaque appuies sur le bouton, la totalité de la listbox est copiée dans différentes cellules
2/ le G52 et G53 ne sont pas des adresses de cellule, ce sont des valeurs exemple.

mon exemple était maladroit, je l'ai donc refait avec les adresses des cellules:

j'ouvre mon userform,

dans une combobox: REP01
dans ma listbox:

pomme 5 Gris
poire 8 Noir
banane 10 rouge

click sur le bouton -> insertion dans cellules:

A C D E F
1 REP01 pomme 5 Gris
2 REP01 poire 8 Noir
3 REP01 banane 10 rouge
4

j'ouvre à nouveau mon userform,

dans une combobox: REP02
dans ma listbox:

Ananas 8 vert
kiwi 2 bleu
orange 1 jaune
citron 5 orange

click sur le bouton-> insertion dans cellules:
A C D E F
1 REP02 Ananas 8 vert
2 REP02 kiwi 2 bleu
3 REP02 orange 1 jaune
4 REP02 citron 5 orange
5 REP01 pomme 5 Gris
6 REP01 poire 8 Noir
7 REP01 banane 10 rouge


en espérant qu'il soit plus explicite!
.
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
28 févr. 2012 à 12:07
OK, c'est bon: restitution sur 4 colonnes (D,E,F)et N lignes suivant la listbox; compilation au dessus de la présente
ajout à chaque ligne de la valeur de la combo

c'est dans le principe que t'avais proposé F89...4 (bonjour) et moi:reste l'ajout combo et la compilation au dessus

Suis absent cet après midi...

pour te familiariser avec les userform et contrôles, un tuto complet (presque)
https://silkyroad.developpez.com/VBA/ControlesUserForm/
https://silkyroad.developpez.com/VBA/UserForm/
0
code pour insérer les valeurs Listbox:

Dim x As Integer, Nb_L_ListBox As Integer
With Worksheets("feuil1")
For x = 1 To Me.ListBox1.ListCount
.Cells(x + 1, 3) = Me.ListBox1.List(x - 1, 0)
.Cells(x + 1, 4) = Me.ListBox1.List(x - 1, 1)
.Cells(x + 1, 5) = Me.ListBox1.List(x - 1, 2)
Next x


il fonctionne correctement
----------------------------------------------------------------------------------------------------------------------------
code pour insérer le nombre de ligne:

Dim y As ...?
For y =Listbox1.ListCount
Rows("1:y")
Selection.EntireRow.Insert , CopyOrigin:=xlFormatFromLeftOrAbove


--------------------------------------------------------------------------------------------------------------------------
0
Bonjour,

J'aimerais pouvoir activer une feuille excel selon la valeur rentrer dans une textbox.

J'ai tenter

Sheets("TextBox7.Text").Activate

mais cela ne fonctionne pas..

Merci d'avance pour votre aide
0
Génialllll!!!
merci beaucoup!
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
Modifié par michel_m le 27/02/2012 à 16:49
bonjour

démo de principe
remplissage de la listbox multicolonne à partir d'un modèle sur la feuille (H5:J9") et restitution de la list1 dans la feuille

'Remplissage 
Private Sub UserForm_Initialize()
tablo = Sheets(1).Range("H5:J9").Value
ListBox1.Column() = Application.Transpose(tablo)
End Sub 

'restitution 
Private Sub CommandButton1_Click()
    With ListBox1
        Sheets(1).Range(Cells(1, 1), Cells(.ListCount, 3)) = .List
    End With
End Sub


la maquette

https://www.cjoint.com/?3BBqV6Cz239

edit: inversé la transposition !!!!


Michel
-1
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
27 févr. 2012 à 17:00
Re

Merci
0