Vba combobox lier sans doublons ??

Signaler
Messages postés
83
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
19 mai 2010
-
Messages postés
1566
Date d'inscription
mardi 26 décembre 2000
Statut
Membre
Dernière intervention
5 avril 2013
-
bonjour
je suis en train de finaliser un projet mais la je bloque j'ai encore besoin de vous
j'ai réussi  a paramétrer ma 1er combobox2 qui effectue un trie sans doublons jusque la pas de soucis mais apres j'ai fais la meme chose pour la 2eme combobox1 (désolée elle sont inversées)
j'aimerais appliquer la selection de ma 1ere combobox2 a ma 2eme combobox1
Je ne veux pas faire référence à une feuille car je crée derriere d'autre feuilles.


Private Sub UserForm_Initialize()
   Dim i As Integer
For i = 1 To range("c65536").End(xlUp).Row
ComboBox2 = range("c" & i)
If ComboBox2.ListIndex = -1 And range("c" & i) <> "" Then _
ComboBox2.AddItem range("c" & i)
Next i
 Dim kk As Integer
For kk = 1 To range("d65536").End(xlUp).Row
ComboBox1 = range("d" & i)
If ComboBox1.ListIndex = -1 And range("d" & kk) <> "" Then _
ComboBox1.AddItem range("d" & kk)
Next kk
majHeure
End Sub

Se serait sympa à vous de m'aider je suis en vba project excel 2000
merci de votre aide

 pat

6 réponses

Messages postés
219
Date d'inscription
lundi 21 novembre 2005
Statut
Membre
Dernière intervention
20 décembre 2010

Salut
Si j'ai bien compris ta démarche, je vois une solution
Le transfert des données d'un ComboBox vers un deuxième peut se faire via la  propriété "List", comme ceci:
ComboBox1.List = ComboBox2.List
le contenu précédent de ComboBox1est vidé et celui du second Combo lui est attribué

Affaire à suivre
Bye

CNTJC
Messages postés
83
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
19 mai 2010

bonjour
Le probleme c'est que cela me met ce qui est dans la 1ere combobox dans la 2eme or j'aimeais pouvoir selectionner dans ma 1ere et développer le contenu selectionner (combobox en cacade) mais je bloque.
Merci

 pat
Messages postés
1566
Date d'inscription
mardi 26 décembre 2000
Statut
Membre
Dernière intervention
5 avril 2013
6
Mais ce' n'est pas vrai !!!!
Je ne peux en croire mes yeux !!!
Tu ouvres à tort une discussion sous VB.Net ... Je te le fais remarquer ... Tu t'excuses...

et...

tu recommences sous .....VB.Net !!!!!!!!!

C'est à croire que tu ne sais même pas sous quoi tu développes ou que tu le fais exprès !!!

Bref !!!
Bonne chance dans tes ballades ...qui font perdre du temps à tous (à toi en tout premier lieu) !!!
Messages postés
83
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
19 mai 2010

J'abandonne ca te va !!!
bye
 pat
Messages postés
219
Date d'inscription
lundi 21 novembre 2005
Statut
Membre
Dernière intervention
20 décembre 2010

Re
S'il s'agit de ne transférer que les éléments sélectionnés dans le premier Combo vers
le second, voila une solution parmi d'autres.
Il faut donc utiliser l'évènement "Click" du Combo source.

Private Sub ComboBox2_Click()
    Dim i As Integer, Onpeut As Boolean
   
    ComboBox1.Text = ""
    ComboBox1.Text = ComboBox2.List(ComboBox2.ListIndex)
    Onpeut = True
    For i = 0 To ComboBox1.ListCount - 1
        If ComboBox1.List(i) = ComboBox1.Text Then
            Onpeut = False
            Exit For
        End If
    Next
    If Onpeut Then ComboBox1.AddItem ComboBox1.Text
End Sub

Salut @+

CNTJC
Messages postés
1566
Date d'inscription
mardi 26 décembre 2000
Statut
Membre
Dernière intervention
5 avril 2013
6
Abandonne si tu veux...
Ou reviens quand tu auras les idées plus claires ...
Il y a à peine 9 jours, pourtant, tu as bien su trouver où ouvrir une discussion delative à ton langage de développement (qui est VBA).
Tiens ! regarde donc où tu l'avais ouverte (à juste et raisonnable tître) et où il convient d'ouvrir :
http://www.vbfrance.com/forum/sujet-MACRO-TROP-LENTE_1268512.aspx
Si ce geste élémentaire est si compliqué , ma foi...