[vba,excel2010] Valeur dans listform

Fermé
kamuidragon Messages postés 4 Date d'inscription samedi 23 mars 2013 Statut Membre Dernière intervention 24 mars 2013 - Modifié par kamuidragon le 23/03/2013 à 10:35
f894009 Messages postés 17200 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 11 septembre 2024 - 24 mars 2013 à 19:42
Bonjour,

je suis un peu perdu, j'essaye en vain depuis hier d'afficher les lignes sélectionné de ma listbox sur une cellule Excel sans arriver à un quelconque résultat(je suis sous userform)... Si quelqu'un veut bien m'aider.

Private Sub ListBox1_Click()
Dim test as string
for i = 0 to 5
if listbox1.selected(i) = true then text=text &";"&listbox1.list(i)
next i

sheets ("feuill3").range("i1")=mid$(text,3,len(text)

End sub

A voir également:

6 réponses

f894009 Messages postés 17200 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 11 septembre 2024 1 708
23 mars 2013 à 13:34
Bonjour,

l'evenement click (entre-autres) ne marche pas sur une listebox multiselect, il l'evenement d'un autre controle ou vous mettrez votre code.

Bonne suite
0
kamuidragon Messages postés 4 Date d'inscription samedi 23 mars 2013 Statut Membre Dernière intervention 24 mars 2013
23 mars 2013 à 20:42
Rien à faire ce code fonctionne nul part...

Du coup j'en ai refais un autre qui fonctionne partiellement.

Dim lItem As Long

For lItem = 0 To ListBox1.ListCount - 1

If ListBox1.Selected(lItem) = True Then

Sheet2.Range("A65536").End(xlUp)(2, 1) = ListBox1.List(lItem)

ListBox1.Selected(lItem) = False
End If

Next

End Sub

Ici en Colonne A j'ai bien les réponses qui apparaissent dans les premières lignes. Mais je n'arrive pas à préciser que les réponses apparaissent en Colonne I ligne 24 par exemple.
Il me manque qqchose... Un coup de main, si une âme généreuse se penche ici ;).
0
f894009 Messages postés 17200 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 11 septembre 2024 1 708
24 mars 2013 à 07:18
Bonjour,

Sub test()
    Dim lItem As Long

    For lItem = 0 To ListBox1.ListCount - 1

        If ListBox1.Selected(lItem) = True Then
            'derniere cellule non vide colonne I
            derlig = Range("i" & Rows.Count).End(xlUp).Row
            'test si debut de liste
            If derlig < 24 Then
                derlig = 24
            Else
                derlig = derlig + 1
            End If
            'ecriture a partir de I24 et apres
            Worksheets("feuil2").Range("A65536").End(xlUp)(derlig, 9) = ListBox1.List(lItem)
            ListBox1.Selected(lItem) = False
        End If

    Next lItem
End Sub


Bon courage
0
kamuidragon Messages postés 4 Date d'inscription samedi 23 mars 2013 Statut Membre Dernière intervention 24 mars 2013
24 mars 2013 à 18:39
J'ai testé, ça ne fonctionne pas très bien. Je n'ai plus qu'une seule réponse qui apparait alors que ma listbox est en Multiselect.

Ensuite l'instruction suivante:
Worksheets("feuil2").Range("A65536").End(xlUp)(derlig, 9) = ListBox1.List(lItem)

C'est le 9 qui indique dans quelle colonne va attérir mon résultat et non le "i" de derlig.

Private Sub CommandButton4_Click()
Dim lItem As Long

For lItem = 0 To ListBox1.ListCount - 1

If ListBox1.Selected(lItem) = True Then
'derniere cellule non vide colonne G
derlig = Range("C" & Rows.Count).End(xlUp).Row
'test si debut de liste
If derlig < 27 Then
derlig = 27
Else
derlig = derlig + 1
End If
'ecriture a partir de c27 et apres
Worksheets("Réponses sondages").Range("A65536").End(xlUp)(derlig, 3) = ListBox1.List(lItem)
ListBox1.Selected(lItem) = False
End If

Next lItem
End Sub

J'ai testé et quelque soit la lettre que l'on met dans derlig, ça ne change rien. Et les résultats m'apparaissent dans la cellule 74. Là j'avoue, je ne comprends pas pk.
0

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

Posez votre question
kamuidragon Messages postés 4 Date d'inscription samedi 23 mars 2013 Statut Membre Dernière intervention 24 mars 2013
24 mars 2013 à 19:42
Par contre toutes les réponses sélectionnées apparaissent bien je corrige, mais avec un écart de 47 cellules entre chaque réponse. Là je comprends pas du tout.
0
f894009 Messages postés 17200 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 11 septembre 2024 1 708
24 mars 2013 à 19:42
Bonjour,

C'est le 9 qui indique dans quelle colonne va attérir mon résultat et non le "i" de derlig. i est la neuvieme colonne (A-1,B-2 etc.......)

'ecriture a partir de c27 et apres faudrait savoir si c'est en colonne I ou C que vous voulez ecrire (dans votre question de depart c'etait I, apres A et enfin C)

résultats m'apparaissent dans la cellule 74 il faut soit definir la plage ou ecrire vos choix, soit ne rien ecrire dans cette colonne en dessous des ecriture de choix possible.

A+
0