Listbox vers cellules
Résolu/Fermé
A voir également:
- Listbox vers cellules
- Formule excel pour additionner plusieurs cellules - Guide
- Verrouiller cellules excel - Guide
- Windows 7 vers windows 10 - Accueil - Mise à jour
- Clavier qwerty vers azerty - Guide
- Concatener deux cellules excel - Guide
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 312
Modifié par michel_m le 28/02/2012 à 14:28
Modifié par michel_m le 28/02/2012 à 14:28
Avant de partir
sans boucles inutiles (mais ca marche aussi)
Michel
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
f894009
Messages postés
17241
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 février 2025
1 713
27 févr. 2012 à 15:34
27 févr. 2012 à 15:34
Bonjour,
Les dites valeurs de listbox sortent d'ou????
Les dites valeurs de listbox sortent d'ou????
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.
voila mon objectif.
f894009
Messages postés
17241
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 février 2025
1 713
27 févr. 2012 à 15:44
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????
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????
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
f894009
Messages postés
17241
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 février 2025
1 713
27 févr. 2012 à 16:25
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
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
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
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
f894009
Messages postés
17241
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 février 2025
1 713
27 févr. 2012 à 17:37
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
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
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
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
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 312
28 févr. 2012 à 09:10
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....
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....
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!
.
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!
.
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 312
28 févr. 2012 à 12:07
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/
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/
code pour insérer les valeurs Listbox:
il fonctionne correctement
----------------------------------------------------------------------------------------------------------------------------
code pour insérer le nombre de ligne:
--------------------------------------------------------------------------------------------------------------------------
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
--------------------------------------------------------------------------------------------------------------------------
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 312
Modifié par michel_m le 27/02/2012 à 16:49
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
la maquette
https://www.cjoint.com/?3BBqV6Cz239
edit: inversé la transposition !!!!
Michel
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
f894009
Messages postés
17241
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 février 2025
1 713
27 févr. 2012 à 17:00
27 févr. 2012 à 17:00
Re
Merci
Merci