Listbox multi-colonnes vers cellules

Bonjour à tous,

J'ai besoin de vous.

J'ai une base de données assez complexe que je complète via un formulaire.

Dans ce formulaire, j'ai une listbox avec 3 colonnes. (Nom Prenom, Age, Adresse)

Je sélectionne la personne qui m'intéresse.

J'aimerai que la personne sélectionnée, vienne se placer dans mes cellules. (D22 : Nom prénom / E22 Age / F22 Adresse)

C'est ici que je bloque. Je ne connaissais pas l’existence de colonnes dans une listbox, et encore moins comment les répartir dans des cellules.

Et seconde difficulté qui se présentera à moi après cela, c'est que la personne doit être ajoutée sur les premières cellules vides à partir de D22.

Un GRAND merci d'avance pour les explications que vous pourrez me fournir.

Lucas

Salut,

Partant du principe que tes listebox sont prêtes, tu attribues une variable aux valeurs données puis tu cherches la dernière ligne de ta colonne D.

With thisworkbook.sheets("tafeuille")

nom = listebox1.value
age = listebox2.value
adresse = listebox3.value

derligne = .Range("D" & rows.count).end(xlup).row 'on définit la dernière ligne non vide de la colonne D

If derligne < 21 then 'ça c'est pour commencer à la ligne 22 si t'as rien au dessus
    derligne = 21
end if

.Range("D" & derligne +1).value = nom
.Range("E" & derligne +1).value = age
.Range("F" & derligne +1).value = adresse

end with

Bonsoir le forum, bonsoir lucas, bonsoir kit

Je pense que s'il n'y a qu'une listbox avec 3 colonnes , ce serait plutôt cela :

nom = ListBox1.List(0, 0)

age = ListBox1.List(0, 1)

adresse = ListBox1.List(0, 2)

Bonne soirée à tous

Bonsoir,

ligne = Me.ListBox1.ListIndex

Dim a(1 To 3)

For i = 1 To 3

a(i) = Me.ListBox1.List(ligne, i - 1)

Next i

[G2].Resize(, 3) = a

Ceuzin

Bonsoir,

ci-dessous autre exemple de code

   
    Dim nom_prénom As Range, âge As Range, adresse As Range
    Dim i As Integer

    'assignation nom_prénom ,âge et adresse à la première ligne disponible à partir de la ligne 22
    With ActiveSheet
        Set nom_prénom = Range(.Cells(22, "D"), .Cells(.Rows.Count, "D")).Find("")
        If nom_prénom Is Nothing Then Set nom_prénom = .Cells(22, "D")
        Set âge = nom_prénom.Offset(, 1): Set adresse = nom_prénom.Offset(, 2)
    End With

    'remplissage nom_prénom ,âge et adresse à partir de la sélection Listbox
    With Me.ListBox1
        nom_prénom = .List(.ListIndex, 0): âge = .List(.ListIndex, 1): adresse = .List(.ListIndex, 2)
    End With

Bonsoir le forum, bonsoir lucas, bonsoir kit

Je pense que s'il n'y a qu'une listbox avec 3 colonnes , ce serait plutôt cela :

nom = ListBox1.List(0, 0)

age = ListBox1.List(0, 1)

adresse = ListBox1.List(0, 2)

Bonne soirée à tous

Bien vu, au temps pour moi.

Bonsoir le forum, bonsoir Kit

Je vois que tous les messages proviennent des "aidants", notre Lucas semble s'être volatisé ou alors nous l'avons embrouillé avec tous nos messages

Bonne fin de journée à tous

Bonjour Kit,

Je vois que tu sais reconnaître que l'on ne donne pas toujours la bonne réponse du premier coup, qui d'ailleurs peut s'en vanter ?

Tu prends soin de ton orthographe, alors je te suggère une petite correction : "Bien vu, autant pour moi".

Bonjour à tous !

Je vous remercie beaucoup pour toute votre aide.

Nan patty je suis pas le genre de personne à demander de l'aide, et à ne plus jamais répondre.

Je bosse sur mon fichier aujourd'hui, je pense que je devrai réussir avec toute votre aide.

Merci encore, et bon week end !

Lucas

Bonjour et désolé Lucas

Bonne journée

Fail

Au temps pour moi, les 2 formes sont légitimes.

Rechercher des sujets similaires à "listbox multi colonnes"