IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Cascade de 2 combobox


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 5
    Par défaut Cascade de 2 combobox
    Bonjour à tous,

    Si je fais un doublon dû à ma mauvaise recherche, je m'excuse par avance.

    Voila je suis débutant en vba, et j'essaie donc de faire un truc pour un ami à qui je dois un gros service. Je suis admin réseau lol.

    Donc voila. J'ai 3 combobox. (Qui on un nom différent chacun).

    La 1 fait un listing de la colonne B, la 2 de la C et la 3 de la D.

    J'ai une macro qui donne si on sélectionne la 2, la 3 et vice versa.

    Mais la 1 est une colonne qui en fait, fait des groupes :

    colonne 1 colonne2
    A aa
    A aa
    B bb

    J'aimerais qu'elle réunisse les même types dans le combobox 1 et donne ce qui correspond dans la 2.

    Merci de votre réponse.

  2. #2
    Membre Expert
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2009
    Messages
    1 794
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 86
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 794
    Par défaut
    Bonsoir,

    Voyez dans la FAQ à l'adresse suivante

    http://excel.developpez.com/faq/index.php?page=Controle#ComboboxCascade

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 5
    Par défaut
    Ok merci.
    je n'avais pas vu la faq mais ce que je ne comprends pas au niveau du programme (débutant oblige) c'est si par exemple la combobox 1 et 2 ont un nom différent car en fait il incrémente automatiquement le nom de la combo non ??

  4. #4
    Membre Expert Avatar de laetitia
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 281
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 281
    Par défaut
    bonjour mikael57fr rjamin le forum les combobox sont dans un userform???

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 5
    Par défaut
    Hello,

    Oui tout a fais leatitia. En faite je n'ai jamais toucher à la programmation. j'ai fais un peu d'algo en fac mais sans plus vue que ce n'est pas ma branche. Mais ne gros mon projet demandais par un ami dans lequel je me prend la tête car je lui doit un gros service.

    C'est en faite un usf qui sera protéger mais ça je verrai plus tard. Cette usf a diferente cellule donc 3 combobox. la 1er est un groupe qui donne la 2ème. la 3ème est lié a la 2ème et vice versa.

    ex : groupe aaaa qui donne aa qui donne aa ou a qui donne a
    groupe bbbb qui donne bb qui donne bb ou b qui donne b etc ...

    Après quand j'aurais trouvé pour ça je dois fais une sorte de tableau qui apparais en dessous avec des suivant quand la personne a finie elle valide est tous ça par en archivage dans une feuille excel. etc ...

    Ca permet en faite de faire des stats a la fin sur des dates (mensuelle etc qui se réduit à la cellule que donne la combobox 2 (numero de code).

  6. #6
    Membre Expert Avatar de laetitia
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 281
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 281
    Par défaut
    bonjour mikael57fr rjamin le forum
    une methode comme j' ai compris!!!
    colonne b=ref1
    colonne c=ref2
    colonne d =ref3
    tu selectionne la colonne b puis insertion/nom/definir
    ref1 pour le nom
    dans reference a:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =DECALER(Feuil1!$B$2;;;NBVAL(Feuil1!$B:$B)-1)
    idem pour les 2 autres colonnes
    ref2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =DECALER(Feuil1!$C$2;;;NBVAL(Feuil1!$C:$C)-1)
    ref3
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =DECALER(Feuil1!$D$2;;;NBVAL(Feuil1!$D:$D)-1)
    tes 3 plages sont nommees

    dans userform 3 combobox
    code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Option Explicit
    Dim c As Variant, MonDico As Object, i As Long, temp
    Private Sub UserForm_Initialize()
      Set MonDico = CreateObject("Scripting.Dictionary")
      For Each c In Range("ref1")
        If Not MonDico.Exists(c.Value) Then MonDico.Add c.Value, c.Value
      Next c
      Me.ComboBox1.List = MonDico.items
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub ComboBox1_Change()
      Set MonDico = CreateObject("Scripting.Dictionary")
      For i = 1 To Range("ref2").Count
        If Range("ref1")(i) = Me.ComboBox1 Then
          temp = Range("ref2")(i)
          If Not MonDico.Exists(temp) Then MonDico.Add temp, temp
        End If
      Next i
      Me.ComboBox2.List = MonDico.items
      Me.ComboBox2.ListIndex = -1
      Me.ComboBox3.ListIndex = -1
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub ComboBox2_Change()
      Set MonDico = CreateObject("Scripting.Dictionary")
      For i = 1 To Range("ref3").Count
        If Range("ref2")(i) = Me.ComboBox2 And Range("ref1")(i) = Me.ComboBox1 Then
           temp = Range("ref3")(i)
           If Not MonDico.Exists(temp) Then MonDico.Add temp, temp
        End If
      Next i
      Me.ComboBox3.List = MonDico.items
    End Sub

Discussions similaires

  1. [XL-2007] Afficher résultat de 2 Textbox en fonction d'une cascade de 3 Combobox (UserForm)
    Par N00B1 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 25/06/2014, 16h51
  2. fonction pour filtrage avec des combobox en cascade
    Par Montor dans le forum Contribuez
    Réponses: 3
    Dernier message: 09/11/2009, 13h05
  3. Combobox en cascade et sans doublons
    Par humbp dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/11/2007, 14h54
  4. 3 Combobox (Listbox) en cascade la 3éme colonne ne s'affiche pas
    Par minogttao dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 08/11/2006, 23h44
  5. [VBA-E] ComboBox en cascade avec correspondance dans matrice
    Par ViperSpy dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 21/06/2006, 18h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo