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 :

Alimenter deux menus déroulants


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2013
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2013
    Messages : 136
    Par défaut Alimenter deux menus déroulants
    Bonjour,

    je souhaiterais alimenter deux menus déroulants avec des valeurs reprises sur deux feuilles annexe.
    J'arrive à le faire pour un menu mais lorsque je double la ligne de code pour ajouter un deuxième menu ça ne fonctionne plus, je n'arrive pas à apter le code suivant pour que cela fonctionne, pouvez-vous regarder ?

    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
    19
    20
    21
    22
    23
    24
    Private Sub Workbook_Open()
        'Désactiver la mise à jour de l'écran
        Application.ScreenUpdating = False
        'Activer l'onglet "BDD_Profiles"
        Worksheets("BDD_Profiles").Activate
        Range("Profiles").Select
        'je double ici et il prend en compte uniquement cette feuille pour remplir le menu
        Worksheets("BDD_Visserie").Activate
        Range("Visserie").Select
     
        'Tant que la cellule "Profiles" n'est pas vide, ajouter son contenu aux listes Lst1 et Lst2
        Do While ActiveCell.Value <> ""
            Worksheets("Devis").Lst1.AddItem (ActiveCell.Value)
            Worksheets("Devis").Lst2.AddItem (ActiveCell.Value)
                  'Sélectionner ligne suivante
            ActiveCell.Offset(1, 0).Select
        Loop
        'Mettre la valeur des listes à "" (soit vide) et réactiver le premier
        Worksheets("Devis").Lst1.Value = ""
        Worksheets("Devis").Lst2.Value = ""
        Worksheets("Devis").Activate
        'Réactiver la mise à jour de l'écran.
        Application.ScreenUpdating = True
    End Sub
    Merci.
    Fichiers attachés Fichiers attachés

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2009
    Messages : 652
    Par défaut
    Bonjour,

    Une piste avec le code suivant
    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
    19
    20
    21
    Sub aa()
    Dim S As Worksheet
    Dim R As Range
    Dim var
    '--- Profilés ---
    Set S = Sheets("BDD_Profiles")
    Set R = S.Range("a2:a" & S.[a65536].End(xlUp).Row & "")
    var = R
    With Sheets("Devis").Lst1
      .List() = var
      .Value = ""
    End With
    '--- Visserie ---
    Set S = Sheets("BDD_Visserie")
    Set R = S.Range("a2:a" & S.[a65536].End(xlUp).Row & "")
    var = R
    With Sheets("Devis").Lst2
      .List() = var
      .Value = ""
    End With
    End Sub
    Il faudra remplir la colonne "A" de BDD_Visserie car avec un seul élément cela ne fonctionne pas (au moins 2 sont nécessaires).

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2013
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2013
    Messages : 136
    Par défaut
    ce code serait à placer où ? car en remplaçant l'actuel ça ne fonctionne pas en Private Sub Workbook_Open()

    merci

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2009
    Messages : 652
    Par défaut
    Bonjour,

    ce code serait à placer où ? car en remplaçant l'actuel ça ne fonctionne pas en Private Sub Workbook_Open()
    Voir la pièce jointe.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2013
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2013
    Messages : 136
    Par défaut
    juste un mot : merci !

    c'est parfait et propre comme code.

    Bonne journée

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [1.x] deux menus déroulants liés
    Par bs.wassel dans le forum Symfony
    Réponses: 3
    Dernier message: 13/04/2012, 15h53
  2. [PHP 4] Deux menus déroulants dans le même formulaire
    Par jmtrivia dans le forum Langage
    Réponses: 14
    Dernier message: 28/05/2009, 08h25
  3. [SQL] Relation entre deux menus déroulants dynamiques
    Par intissar_g dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 02/11/2007, 15h36
  4. [AJAX] lier deux listes déroulantes alimenté par une base de données (Mysql)
    Par arnaudperfect dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 23/04/2007, 01h06
  5. Deux menus déroulants liés entre eux
    Par coco38 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 16/04/2007, 15h31

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