je voudrais savoir s'il y a une possibilité pour recuperer la
concatenation de 2 cellules dans une listbox.
je m'explique : j'ai une cellule A1 contenant "NOM" et une cellule B1
contenant "PRENOM".
je voudrais recuperer dans une listbox de mon userform le résultat de
la concatenation de ces 2 cellules ("NOM PRENOM") en evitant de jouer
avec des copier/coller vers d'autres cellules de la feuille.
est ce possible avec VBA ?
merci pour votre aide car là ca fait 2 jours que je m'arrache les
cheveux.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Michel Gaboly
Bonjour,
Je dois avouer que je ne comprend pas très bien : s'il s'agit juste de 2 cellules, pourquoi une ListBox ?
A moins que tu veuilles reporter NOM PRENOM dans un Label situé au-dessus d'un ListBox, et que celui-ci doivent contenir des noms (en A2 et suivantes) et des prénoms en (En B2 et suivantes)
Dans ce cas, avec un Label nommé LabNoms, dans le UserForm_ Initialize :
LabNom.Caption = Range("A1") & " " & Range("B1)
ou
LabNom = Range("A1") & " " & Range("B1)
car Caption est la propriété par défaut de l'objet Caption.
Pour remplir un ListBox avec le contenu de la plage A2:A50 (noms en colonne A et prénoms en colonne B, 2 options sont possibles :
- 1 ListBox avec une seule colonne, et une concaténation est alors nécessaire :
Voici le code associé à l'événement Initialize :
Private Sub UserForm_Initialize() Dim c As Range LabNoms = Range("A1") & " " & Range("B1") For Each c In Range("A2:A50") ListBox1.AddItem c & " " & c.Offset(0, 1) Next c End Sub
- 1 ListBox avec 2 colonnes (dans la fenêtre "Propriétés", tu entres 2 en face de ColumnCount). Pour avoir la place d'entrer des noms et des prénoms un peu longs, prévoie des colonnes larges, par exemple (toujours dans la fenêtre "Propriétés"), entre en face de Width 304, et en face de ColumnWidths 150pt;150pt
NB - La largeur du ListBox (304 ici) doit toujours être légèrement supérieure au total des largeurs des colonnes (150 + 150 ici) pour éviter l'apparition d'un ascenseur horizontal dans le ListBox.
Voici alors le code associé à l'événement Initialize :
Private Sub UserForm_Initialize() LabNoms = Range("A1") & " " & Range("B1") ListBox1.List = Range("A2:B50").Value End Sub
Il existe une propriété "RowSource", pour indiquer la plage devant alimenter le ListBox, mais je ne l'utilise JAMAIS, car elle n'existe que dans les versions Windows, et provoque un plantage si le traite- ment est lancé sur 1 Mac.
C'est ce qui explique l'instruction
ListBox1.List = Range("A2:B50").Value
qui fonctionne sur les 2 plate-formes.
La seconde option, 2 colonnes dans le ListBox est beaucoup + rapide à l'exécution car le remplissage se fait en une seule fois au lieu de nécessiter une boucle.
N'hésite pas à demander un complément d'infos si nécessaire
salut a tous
je voudrais savoir s'il y a une possibilité pour recuperer la concatenation de 2 cellules dans une listbox.
je m'explique : j'ai une cellule A1 contenant "NOM" et une cellule B1 contenant "PRENOM".
je voudrais recuperer dans une listbox de mon userform le résultat de la concatenation de ces 2 cellules ("NOM PRENOM") en evitant de jouer avec des copier/coller vers d'autres cellules de la feuille.
est ce possible avec VBA ?
merci pour votre aide car là ca fait 2 jours que je m'arrache les cheveux.
Seb
-- Cordialement,
Michel Gaboly http://www.gaboly.com
Bonjour,
Je dois avouer que je ne comprend pas très bien : s'il s'agit
juste de 2 cellules, pourquoi une ListBox ?
A moins que tu veuilles reporter NOM PRENOM dans un Label situé
au-dessus d'un ListBox, et que celui-ci doivent contenir des noms
(en A2 et suivantes) et des prénoms en (En B2 et suivantes)
Dans ce cas, avec un Label nommé LabNoms, dans le UserForm_
Initialize :
LabNom.Caption = Range("A1") & " " & Range("B1)
ou
LabNom = Range("A1") & " " & Range("B1)
car Caption est la propriété par défaut de l'objet Caption.
Pour remplir un ListBox avec le contenu de la plage A2:A50
(noms en colonne A et prénoms en colonne B, 2 options sont
possibles :
- 1 ListBox avec une seule colonne, et une concaténation est alors
nécessaire :
Voici le code associé à l'événement Initialize :
Private Sub UserForm_Initialize()
Dim c As Range
LabNoms = Range("A1") & " " & Range("B1")
For Each c In Range("A2:A50")
ListBox1.AddItem c & " " & c.Offset(0, 1)
Next c
End Sub
- 1 ListBox avec 2 colonnes (dans la fenêtre "Propriétés", tu entres
2 en face de ColumnCount). Pour avoir la place d'entrer des noms et
des prénoms un peu longs, prévoie des colonnes larges, par exemple
(toujours dans la fenêtre "Propriétés"), entre en face de Width 304,
et en face de ColumnWidths 150pt;150pt
NB - La largeur du ListBox (304 ici) doit toujours être légèrement
supérieure au total des largeurs des colonnes (150 + 150 ici) pour
éviter l'apparition d'un ascenseur horizontal dans le ListBox.
Voici alors le code associé à l'événement Initialize :
Private Sub UserForm_Initialize()
LabNoms = Range("A1") & " " & Range("B1")
ListBox1.List = Range("A2:B50").Value
End Sub
Il existe une propriété "RowSource", pour indiquer la plage devant
alimenter le ListBox, mais je ne l'utilise JAMAIS, car elle n'existe
que dans les versions Windows, et provoque un plantage si le traite-
ment est lancé sur 1 Mac.
C'est ce qui explique l'instruction
ListBox1.List = Range("A2:B50").Value
qui fonctionne sur les 2 plate-formes.
La seconde option, 2 colonnes dans le ListBox est beaucoup + rapide
à l'exécution car le remplissage se fait en une seule fois au lieu de
nécessiter une boucle.
N'hésite pas à demander un complément d'infos si nécessaire
salut a tous
je voudrais savoir s'il y a une possibilité pour recuperer la
concatenation de 2 cellules dans une listbox.
je m'explique : j'ai une cellule A1 contenant "NOM" et une cellule B1
contenant "PRENOM".
je voudrais recuperer dans une listbox de mon userform le résultat de
la concatenation de ces 2 cellules ("NOM PRENOM") en evitant de jouer
avec des copier/coller vers d'autres cellules de la feuille.
est ce possible avec VBA ?
merci pour votre aide car là ca fait 2 jours que je m'arrache les
cheveux.
Je dois avouer que je ne comprend pas très bien : s'il s'agit juste de 2 cellules, pourquoi une ListBox ?
A moins que tu veuilles reporter NOM PRENOM dans un Label situé au-dessus d'un ListBox, et que celui-ci doivent contenir des noms (en A2 et suivantes) et des prénoms en (En B2 et suivantes)
Dans ce cas, avec un Label nommé LabNoms, dans le UserForm_ Initialize :
LabNom.Caption = Range("A1") & " " & Range("B1)
ou
LabNom = Range("A1") & " " & Range("B1)
car Caption est la propriété par défaut de l'objet Caption.
Pour remplir un ListBox avec le contenu de la plage A2:A50 (noms en colonne A et prénoms en colonne B, 2 options sont possibles :
- 1 ListBox avec une seule colonne, et une concaténation est alors nécessaire :
Voici le code associé à l'événement Initialize :
Private Sub UserForm_Initialize() Dim c As Range LabNoms = Range("A1") & " " & Range("B1") For Each c In Range("A2:A50") ListBox1.AddItem c & " " & c.Offset(0, 1) Next c End Sub
- 1 ListBox avec 2 colonnes (dans la fenêtre "Propriétés", tu entres 2 en face de ColumnCount). Pour avoir la place d'entrer des noms et des prénoms un peu longs, prévoie des colonnes larges, par exemple (toujours dans la fenêtre "Propriétés"), entre en face de Width 304, et en face de ColumnWidths 150pt;150pt
NB - La largeur du ListBox (304 ici) doit toujours être légèrement supérieure au total des largeurs des colonnes (150 + 150 ici) pour éviter l'apparition d'un ascenseur horizontal dans le ListBox.
Voici alors le code associé à l'événement Initialize :
Private Sub UserForm_Initialize() LabNoms = Range("A1") & " " & Range("B1") ListBox1.List = Range("A2:B50").Value End Sub
Il existe une propriété "RowSource", pour indiquer la plage devant alimenter le ListBox, mais je ne l'utilise JAMAIS, car elle n'existe que dans les versions Windows, et provoque un plantage si le traite- ment est lancé sur 1 Mac.
C'est ce qui explique l'instruction
ListBox1.List = Range("A2:B50").Value
qui fonctionne sur les 2 plate-formes.
La seconde option, 2 colonnes dans le ListBox est beaucoup + rapide à l'exécution car le remplissage se fait en une seule fois au lieu de nécessiter une boucle.
N'hésite pas à demander un complément d'infos si nécessaire
salut a tous
je voudrais savoir s'il y a une possibilité pour recuperer la concatenation de 2 cellules dans une listbox.
je m'explique : j'ai une cellule A1 contenant "NOM" et une cellule B1 contenant "PRENOM".
je voudrais recuperer dans une listbox de mon userform le résultat de la concatenation de ces 2 cellules ("NOM PRENOM") en evitant de jouer avec des copier/coller vers d'autres cellules de la feuille.
est ce possible avec VBA ?
merci pour votre aide car là ca fait 2 jours que je m'arrache les cheveux.
Seb
-- Cordialement,
Michel Gaboly http://www.gaboly.com
Nicolas B.
Salut seb,
Quelque chose comme ça ? listbox1.additem [A1] & " " & "[B1]
Ou alors, j'ai pas compris le problème...
A+ Nicolas B.
seb wrote:
salut a tous
je voudrais savoir s'il y a une possibilité pour recuperer la concatenation de 2 cellules dans une listbox.
je m'explique : j'ai une cellule A1 contenant "NOM" et une cellule B1 contenant "PRENOM".
je voudrais recuperer dans une listbox de mon userform le résultat de la concatenation de ces 2 cellules ("NOM PRENOM") en evitant de jouer avec des copier/coller vers d'autres cellules de la feuille.
est ce possible avec VBA ?
merci pour votre aide car là ca fait 2 jours que je m'arrache les cheveux.
Seb
Salut seb,
Quelque chose comme ça ?
listbox1.additem [A1] & " " & "[B1]
Ou alors, j'ai pas compris le problème...
A+
Nicolas B.
seb wrote:
salut a tous
je voudrais savoir s'il y a une possibilité pour recuperer la
concatenation de 2 cellules dans une listbox.
je m'explique : j'ai une cellule A1 contenant "NOM" et une cellule B1
contenant "PRENOM".
je voudrais recuperer dans une listbox de mon userform le résultat de
la concatenation de ces 2 cellules ("NOM PRENOM") en evitant de jouer
avec des copier/coller vers d'autres cellules de la feuille.
est ce possible avec VBA ?
merci pour votre aide car là ca fait 2 jours que je m'arrache les
cheveux.
Quelque chose comme ça ? listbox1.additem [A1] & " " & "[B1]
Ou alors, j'ai pas compris le problème...
A+ Nicolas B.
seb wrote:
salut a tous
je voudrais savoir s'il y a une possibilité pour recuperer la concatenation de 2 cellules dans une listbox.
je m'explique : j'ai une cellule A1 contenant "NOM" et une cellule B1 contenant "PRENOM".
je voudrais recuperer dans une listbox de mon userform le résultat de la concatenation de ces 2 cellules ("NOM PRENOM") en evitant de jouer avec des copier/coller vers d'autres cellules de la feuille.
est ce possible avec VBA ?
merci pour votre aide car là ca fait 2 jours que je m'arrache les cheveux.
Seb
AV
je voudrais savoir s'il y a une possibilité pour recuperer la concatenation de 2 cellules dans une listbox. je m'explique : j'ai une cellule A1 contenant "NOM" et une cellule B1 contenant "PRENOM".
En supposant que tu parles (à adapter) d'un champ avec les Noms (A1:Ax) et un autre avec les Prénoms (B2:Bx) Pour récupérer Noms/Prénoms dans ta ListBox : Dans les propriétés : ColumnCount : 2 ListFillRange : Feuil1!A1:B50 (à adapter)
AV
je voudrais savoir s'il y a une possibilité pour recuperer la
concatenation de 2 cellules dans une listbox.
je m'explique : j'ai une cellule A1 contenant "NOM" et une cellule B1
contenant "PRENOM".
En supposant que tu parles (à adapter) d'un champ avec les Noms (A1:Ax) et un
autre avec les Prénoms (B2:Bx)
Pour récupérer Noms/Prénoms dans ta ListBox :
Dans les propriétés :
ColumnCount : 2
ListFillRange : Feuil1!A1:B50 (à adapter)
je voudrais savoir s'il y a une possibilité pour recuperer la concatenation de 2 cellules dans une listbox. je m'explique : j'ai une cellule A1 contenant "NOM" et une cellule B1 contenant "PRENOM".
En supposant que tu parles (à adapter) d'un champ avec les Noms (A1:Ax) et un autre avec les Prénoms (B2:Bx) Pour récupérer Noms/Prénoms dans ta ListBox : Dans les propriétés : ColumnCount : 2 ListFillRange : Feuil1!A1:B50 (à adapter)
AV
AV
Achhhh.....
......avec les Noms (A1:Ax) et un autre avec les Prénoms (B2:Bx)
Evidemment A1:Ax et B1:Bx !
AV
Achhhh.....
......avec les Noms (A1:Ax) et un autre avec les Prénoms (B2:Bx)
......avec les Noms (A1:Ax) et un autre avec les Prénoms (B2:Bx)
Evidemment A1:Ax et B1:Bx !
AV
sebmen1
salut a vous
je vais essayer d'éclairer un peu les propos de mon premier message.
en fait j'ai une feuille avec une colonne A contenant les noms et une colonne B contenant les prenoms.
je veux recuperer l'association des 2 dans une premiere listbox1 et à l'aide de 2 boutons ajouter/supprimer les envoyer dans une 2nd listbox2.
cette manip me permet de ne pas avoir besoin de faire un traitement dans une feuille annexe (copier/coller puis concatenation et enfin recup dans listbox1)
en tout cas je vais essayer vos solutions et enfin si je peux me permettre (etant débutant complet), il faudrait que je recupère cette concatenation sur l'evenement click d'un optionbouton mais la plage varie selon les saisies.
là je seche vraiment.
merci beaucoup pour votre rapidité, je vais pouvoir faire des tests cet après midi.
Seb
salut a vous
je vais essayer d'éclairer un peu les propos de mon premier message.
en fait j'ai une feuille avec une colonne A contenant les noms et une
colonne B contenant les prenoms.
je veux recuperer l'association des 2 dans une premiere listbox1 et à
l'aide de 2 boutons ajouter/supprimer les envoyer dans une 2nd
listbox2.
cette manip me permet de ne pas avoir besoin de faire un traitement
dans une feuille annexe (copier/coller puis concatenation et enfin
recup dans listbox1)
en tout cas je vais essayer vos solutions et enfin si je peux me
permettre (etant débutant complet), il faudrait que je recupère cette
concatenation sur l'evenement click d'un optionbouton mais la plage
varie selon les saisies.
là je seche vraiment.
merci beaucoup pour votre rapidité, je vais pouvoir faire des tests
cet après midi.
je vais essayer d'éclairer un peu les propos de mon premier message.
en fait j'ai une feuille avec une colonne A contenant les noms et une colonne B contenant les prenoms.
je veux recuperer l'association des 2 dans une premiere listbox1 et à l'aide de 2 boutons ajouter/supprimer les envoyer dans une 2nd listbox2.
cette manip me permet de ne pas avoir besoin de faire un traitement dans une feuille annexe (copier/coller puis concatenation et enfin recup dans listbox1)
en tout cas je vais essayer vos solutions et enfin si je peux me permettre (etant débutant complet), il faudrait que je recupère cette concatenation sur l'evenement click d'un optionbouton mais la plage varie selon les saisies.
là je seche vraiment.
merci beaucoup pour votre rapidité, je vais pouvoir faire des tests cet après midi.
Seb
sebmen1
Re
Désolé je me suis enflammer et j'aurais du essayer vos propositions avant car Michel c'est exactement ce que je voulais faire.
c'est génial je vais pouvoir boucler mon projet. j'ai plus qu'à trouver le moyen de borner ma selection aux cellules non vides.
merci à vous deux, c'est la 1ère fois que je poste un message et là c'est vraiment BINGO.
MERCI, MERCI
Seb
Re
Désolé je me suis enflammer et j'aurais du essayer vos propositions
avant car Michel c'est exactement ce que je voulais faire.
c'est génial je vais pouvoir boucler mon projet. j'ai plus qu'à
trouver le moyen de borner ma selection aux cellules non vides.
merci à vous deux, c'est la 1ère fois que je poste un message et là
c'est vraiment BINGO.