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 :

Gestion automatiques des menus déroulants


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 113
    Points : 53
    Points
    53
    Par défaut Gestion automatiques des menus déroulants
    Bonjour à tous,

    J'aimerais programmer une macro qui permet de modifier les menus déroulant en fonction des choix utilisateur...
    Si la valeur est 1 : cela affiche un menu déroulant, si la valeur est 2, ça en affiche un autre...

    J'ai enregistré manuellement une macro qui crée et supprime le menu déroulant sur excel. Cependant, j'ai beaucoup de difficultés à l'appliquer à mon code. En effet, je ne sais pas comment connaître "le nom" du menu déroulant.. Et donc je ne sais pas comment le sélectionner..

    Merci d'avance. pour votre aide..

    Voici le code généré par Excel lors de l'enregistrement de la macro de création et suppression du menu déroulant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Range("D8").Select
        ActiveSheet.DropDowns.Add(120, 101.25, 75.75, 15.75).Select
        Range("D9").Select
        ActiveSheet.Shapes.Range(Array("Drop Down 4")).Select
        With Selection
            .ListFillRange = "Feuil7!$F$8:$F$13"
            .LinkedCell = "Feuil7!$F$19"
            .DropDownLines = 8
            .Display3DShading = False
        End With
     
        ActiveSheet.Shapes.Range(Array("Drop Down 4")).Select
        Selection.Delete
    Le menu déroulant auquel je fais référence peut être ajouté manuellement de la manière suivante:
    Onglet développeur => Insérer => Zone de liste déroulante.

    Merci d'avance pour votre aide.. Je suis un peu en panique..
    ...

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 113
    Points : 53
    Points
    53
    Par défaut
    En fait, je en sais pas s'il est nécessaire de passer par le langage VBA pour gérer ce genre de choses..

    Globalement, j'aimerais juste pouvoir gérer le cas suivant :
    J'ai 3 choix :
    - choix 1
    - choix 2
    - choix 3

    Si choix1 : j'affiche un menu déroulant
    Si choix2 : j'affiche un autre menu déroulant (avec une autre liste)
    si choix3 : j'affiche deux menus déroulants (avec deux listes distinctes des autres)

    (le menu déroulant que je souhaite utiliser est accessible à l'endroit suivant: Onglet développeur => Insérer => Zone de liste déroulante)

  3. #3
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Points : 5 901
    Points
    5 901
    Par défaut
    Bonjour,

    Une idée comme ça...
    Si tu créais tes menus déroulants d'avance, tu pourrais jouer avec leur propriété Visible selon les cas mentionnés (?)

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 113
    Points : 53
    Points
    53
    Par défaut
    Bon, au risque de paraître Skizo (je me fais les questions et les réponses), je pense avoir trouvé la manière de donner un nom à la liste:
    il suffit de rajouter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .name = "Liste_déroulante"
    .

    Eh oui, c'était pas très compliqué, mais en tatonant, j'ai fini apr tester ça et ça fonctionne

    Comme ça, il est possible de supprimer la liste en écrivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     ActiveSheet.Shapes.Range(Array("Liste_déroulante")).delete
    Désolé pour les spams, j'espère que ça pourra être utile à certains utilisateurs du forum qui ont à peu près le même niveau (médiocre) que moi en vba

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

Discussions similaires

  1. [MySQL] configurer des menus déroulants automatiquement
    Par abdelkarim_1987 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 03/10/2013, 10h49
  2. Réponses: 2
    Dernier message: 16/07/2007, 14h54
  3. Faire des menus déroulants
    Par laurentSc dans le forum Balisage (X)HTML et validation W3C
    Réponses: 13
    Dernier message: 06/03/2007, 12h05
  4. Remplacer des boutons par des menus déroulants?
    Par drthodt dans le forum Access
    Réponses: 3
    Dernier message: 20/09/2005, 17h37
  5. [IDE] Gestion automatique des headers d'unités
    Par Clorish dans le forum Outils
    Réponses: 1
    Dernier message: 27/06/2005, 18h52

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