Combobox avec affichage itératif

Signaler
Messages postés
15
Date d'inscription
mardi 11 septembre 2007
Statut
Membre
Dernière intervention
18 avril 2008
-
Messages postés
86
Date d'inscription
vendredi 26 novembre 2004
Statut
Membre
Dernière intervention
8 novembre 2007
-
bonjour,

J'ai créé un combobox sur une feuille excel. J'ai appliqué une liste de donnée à ce combobox.
Je souhaiterais lorsque je clique sur un des items de ma combo, il s'affiche dans une cellule excel. ensuite lorsque je reclique sur un autre item, il s'affiche dans la cellule du dessous de la précedente et ainsi de suite..
je n'arrivie pas à trouver la solution pour l'itération.
Si vous avez une idée ou une source exemple,

merci d'avance.

7 réponses

Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
50
Salut,
Sert toi de l'événement Click de la combo. Utilises ensuite une variable pour mémoriser le numero de la ligne ou ecrire et incrémente la à chaque Click.

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
15
Date d'inscription
mardi 11 septembre 2007
Statut
Membre
Dernière intervention
18 avril 2008

et oui je sais j'ai essayé mais le fait est que dans ma sub combobox_click() je met une variable i ke jinitialise à 11. mais à chaque fois ke je cliques sur un item  du coup çà remplace seulement dans la mm cellule ligne 11.
jsais pas si jme fais bien comprendre.
merci
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
50
Salut,
Et si tu postais le code déjà existant...
Un petit code vaut mieux qu'un long discours

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
15
Date d'inscription
mardi 11 septembre 2007
Statut
Membre
Dernière intervention
18 avril 2008

je souhaiterais affiché tte une ligne et non une seule cellule grâce au combobox. voici le code pour une seule cellule:

Private Sub ComboBox1_Initialize()
Dim a As Integer
Dim data As String
a = 10


suite:
a = a + 1
data = Sheets("APS").Range("a" & a)
If data = "" Then GoTo fin
ComboBox1.AddItem data
GoTo suite


fin :

End Sub

Private Sub ComboBox1_Click()


    Dim i As Integer
    i = 10 'initialisation de la première ligne d'affichage
   
suite:
    i = i + 1 'incrémentation de 1
    If Sheets("Feuil1").Cells(i, 1).Value = "" Then 'si la cellule est vide alors l'affichage peut se faire à cet endroit
    Sheets("Feuil1").Cells(i, 1).Value = Sheets("Feuil1").ComboBox1.Text
    Else: GoTo suite
    End If


End Sub
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
50
Salut,
Quelle version possèdes tu de Excel car, moi perso mes objets ComboBox ne possèdent pas d'événement Initialize...

Bref

Regarde ce petit bout de code et dit moi si il repond à tes besoins.
Private Sub ComboBox1_Click()
   Dim i As Integer
   i = 10 'initialisation de la première ligne d'affichage
   While Not IsEmpty(Range("A" & i))
       i = i + 1
   Wend
   Range("A" & i).Value = ComboBox1.Text
End Sub , ----
[code.aspx?ID=41455 By Renfield]

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
50
Re,
Il faudrait mieux m'expliquer ce que tu entends par
"je souhaiterais affiché tte une ligne et non une seule cellule grâce au combobox."

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
86
Date d'inscription
vendredi 26 novembre 2004
Statut
Membre
Dernière intervention
8 novembre 2007

    Dim i As Integer
    i = 10 'initialisation de la première ligne d'affichage

Met ton Dim dans le General declaration... parce que là, tu la réinitialize a chaque clique.. donc c'est normal qu'elle revient à 10 !!

Personne la remarqué avant??