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 :

Modification d'ue liste déroulante en fonction d'une autre


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2015
    Messages : 28
    Par défaut Modification d'ue liste déroulante en fonction d'une autre
    Bonjour !

    J'aimerais faire en sorte qu'une liste déroulante soit modifiée en fonction de la valeur que prend une autre liste déroulante.

    J'ai réalisé ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
        For i = 0 To 5
            For j = 6 To 11
                If Controls("Cb" & i) = Range("A1") Then
                    MsgBox "OK"
                    Controls("Cb" & j).RowSource = "'[testvba8.xlsm]infos'!A2:16"
                ElseIf Controls("Cb" & i) = Range("B1") Then
                    Controls("Cb" & j).RowSource = "'[testvba8.xlsm]infos'!B2:B16"
                ElseIf Controls("Cb" & i) = Range("C1") Then
                    Controls("Cb" & j).RowSource = "'[testvba8.xlsm]infos'!C2:C16"
                ElseIf Controls("Cb" & i) = Range("D1") Then
                    Controls("Cb" & j).RowSource = "'[testvba8.xlsm]infos'!D2:D16"
                ElseIf Controls("Cb" & i) = Range("E1") Then
                    Controls("Cb" & j).RowSource = "'[testvba8.xlsm]infos'!E2:E16"
                ElseIf Controls("Cb" & i) = Range("F1") Then
                    Controls("Cb" & j).RowSource = "'[testvba8.xlsm]infos'!F2:F16"
                End If
            Next j
        Next i
    I allant de 0 à 5, c'est en fonction des ComboBox de i que varieront les autres Combobox : celles numérotées avec J, allant de 6 à 11.

    Le code a l'air de fonctionné, du moins j'ai testé dans un "Change" ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Cb0_Change()
     
        If Cb0 = Range("A1") Then
            MsgBox "OK"
            Cb6.RowSource = "'[testvba8.xlsm]infos'!A2:A16"
        End If
     
    End Sub
    Et il fonctionne, néammoins étant donné qu'il y a 6 choix dans les ComboBox de I, cela ferait un code énorme dans mes Change de Combobox allant de 0 à 5..

    J'aimerais donc appliquer cette action(Si ComboBox allant de 0 à 5 = Valeur(6 possibles) alors la liste des valeurs de la ComboBox à côté(allant de 6 à 11) = Liste dans mon tableau.

    Je ne sais pas si j'ai été très explicite, n'hésitez pas à me poser des questions si besoin.

    Merci beaucoup.

  2. #2
    Membre émérite
    Avatar de eric4459
    Homme Profil pro
    Ingénieur Gestion de Projets
    Inscrit en
    Avril 2014
    Messages
    605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur Gestion de Projets
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 605
    Par défaut
    Bonjour Kamec,
    J'ai regardé ton code et ne vois pas trop ce qui t'ennui
    Quel est vraiment ton souhait parce ce que tu demandes ton code le fait déjà, à moins que je n'ai rien pigé du tout
    Eric
    "Vous n’avez cessé d’essayer ? Vous n’avez cessé d’échouer ? Aucune importance !
    Réessayez, échouez encore, échouez mieux." Samuel Beckett
    Pensez aux balises et
    Visitez les FAQ Excel et allez faire un tour ici
    Tutoriels de SilkyRoad

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2015
    Messages : 28
    Par défaut
    Le problème étant que je ne sais pas où placer exactement mon code, là je l'ai mis dans mon Userform_Initialize(ce qui n'est pas bon du tout et je m'en rends compte moi-même^^'), du coup, j'aimerais savoir comment faire pour qu'il soit fonctionnel ET qu'il ne soit présent que dans un Sub, afin d'éviter à ne pas avoir à faire ça pour chaque "ComboBox_Change".

    Merci.

  4. #4
    Membre émérite
    Avatar de eric4459
    Homme Profil pro
    Ingénieur Gestion de Projets
    Inscrit en
    Avril 2014
    Messages
    605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur Gestion de Projets
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 605
    Par défaut
    Salut,
    Crées un module, déclare toutes les variables et avant ton code tu mets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Userform1.Show ' celui qui te sert de référence
    Dans l'Userform place un bouton "ok" et dans le code tu écris
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub CommandButton1_Click()
    Me.Hide
    End Sub
    Eric
    "Vous n’avez cessé d’essayer ? Vous n’avez cessé d’échouer ? Aucune importance !
    Réessayez, échouez encore, échouez mieux." Samuel Beckett
    Pensez aux balises et
    Visitez les FAQ Excel et allez faire un tour ici
    Tutoriels de SilkyRoad

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2015
    Messages : 28
    Par défaut
    Je suis désolé mais je ne suis pas bien sûr d'avoir compris. ^^' Je n'ai encore jamais fait de module donc je suis un peu perdu.

    Je dois déclarer quelles variables ? Je fonctione uniquement avec mes ComboBox pour faire ça, et le bouton "OK", à quoi me servira-t'il ? Si en plus il est masqué je ne vois pas à quoi il me sera utile. ><

    Merci et désolé de te faire perdre du temps. :/

  6. #6
    Membre émérite
    Avatar de eric4459
    Homme Profil pro
    Ingénieur Gestion de Projets
    Inscrit en
    Avril 2014
    Messages
    605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur Gestion de Projets
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 605
    Par défaut
    Salur Kamec,
    Pas de souci nous sommes tous passés par là, va faire un tour ici
    http://silkyroad.developpez.com/
    et ici
    http://www.developpez.net/forums/d14...-d-formulaire/
    Tu y trouvera toute les infos nécessaires
    Si malgré tout, tu bloques encore, envois ton fichier en pièce jointe
    Eric
    "Vous n’avez cessé d’essayer ? Vous n’avez cessé d’échouer ? Aucune importance !
    Réessayez, échouez encore, échouez mieux." Samuel Beckett
    Pensez aux balises et
    Visitez les FAQ Excel et allez faire un tour ici
    Tutoriels de SilkyRoad

Discussions similaires

  1. Afficher une liste déroulante en fonction d'une autre liste
    Par infoges dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 01/04/2010, 12h59
  2. [MySQL] Liste déroulante en fonction d'une autre sur même page
    Par michel81 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 08/11/2008, 11h41
  3. [AJAX] résultats d'une liste déroulante en fonction d'une autre liste
    Par jonnyboy dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 19/09/2007, 10h27
  4. Réponses: 4
    Dernier message: 15/05/2007, 16h31

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