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

Excel Discussion :

lier une liste déroulante depuis une cellule


Sujet :

Excel

  1. #1
    Invité
    Invité(e)
    Par défaut lier une liste déroulante depuis une cellule
    Bonjour, à tous

    Dans mon classeur, j'ai 12 onglets intitulés "Janvier 2017"; "Février 2017"...."Décembre 2017"

    J'ai réalisé aussi dans une feuille, mon menu général, qui me servira à naviguer dans mon classeur.

    Dans la cellule $Q$9 j'affiche le jour actuel, et dans ma cellule $Q$12 le mois et l'année
    $Q$9=JOUR(MAINTENANT())
    $Q$10=NOMPROPRE(TEXTE(MAINTENANT();"mmmm"))&" "&ANNEE(MAINTENANT())

    ce qui me donne: en $Q$9 => 11, et $Q$10 => Février 2017.

    J'ai aussi, une liste déroulante, qui me liste tous les mois de l'année, de Janvier 2017 à Décembre 2017.

    Je n’arrive pas à ce que cette liste déroulante, m'indique à l'ouverture du classeur, le mois en cours, c'est à dire actuellement "Février 2017"
    pour faire simple, que cette liste soit liée à $Q$10.
    Cela me permettrai, avec un bouton de contrôle de formulaire, de me rendre directement dans l'onglet du mois affiché.

    merci encore de votre réponse

    Titi32600

  2. #2
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Bonjour
    Impossible de te répondre de manière éclairée sans ces deux précisions indispensables :
    J'ai aussi, une liste déroulante, qui me liste tous les mois de l'année, de Janvier 2017 à Décembre 2017.
    - De quel nature est cette "liste déroulante" ? Controle formulaire ou Contrôle activex ?
    - comment et par quoi cette liste déroulante a-t-elle exactement été abondée ?

    Par ailleurs :
    Cela me permettrai, avec un bouton de contrôle de formulaire, de me rendre directement dans l'onglet du mois affiché.
    Pourquoi passer par une liste déroulante et un bouton pour te rendre sur un onglet ?
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

  3. #3
    Invité
    Invité(e)
    Par défaut Salut unparia
    Salut unparia

    - De quel nature est cette "liste déroulante" ? Controle formulaire ou Contrôle activex ?


    Cette liste est un contrôle de formulaire.

    - comment et par quoi cette liste déroulante a-t-elle exactement été abondée ?

    Elle va chercher une liste dans la feuille " Config!$C$6:$C$17".
    Cette liste est tous les mois de cette année.

    Par ailleurs :

    Pourquoi passer par une liste déroulante et un bouton pour te rendre sur un onglet ?[/QUOTE]


    C'est vrais tu as raison, pourquoi faire un bouton, alors que l'onglet pourras être obtenu, à la suite du choix de cette liste.

    Titi32600

  4. #4
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    C'est vrais tu as raison, pourquoi faire un bouton, alors que l'onglet pourras être obtenu, à la suite du choix de cette liste.
    Ben ... si l'onglet existe, il figure dans la barre des onglets et est ouvrable par un simple clic sur l'onglet que l'on veut ouvrir, non ?
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par unparia Voir le message
    Ben ... si l'onglet existe, il figure dans la barre des onglets et est ouvrable par un simple clic sur l'onglet que l'on veut ouvrir, non ?
    Non, les onglets seront cachés, et la navigation dans le classeur, ce faira à partir d'un menu général.

    Comme je ne veux pas faire 12 boutons correspondant aux 12 mois, j'utiliserais une liste déroulante.

    Titi32600

  6. #6
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Non, les onglets seront cachés
    Et tu ne trouves pas quelque peu paradoxal de les "cacher" (dans la barre), mais en même temps de les "montrer" (dans ta liste) ?
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

  7. #7
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par unparia Voir le message
    Et tu ne trouves pas quelque peu paradoxal de les "cacher" (dans la barre), mais en même temps de les "montrer" (dans ta liste) ?

    dans un sens tu as raison, mais c'est juste une question de presentation du classeur

  8. #8
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    mais c'est juste une question de presentation du classeur
    Alors choisis au moins ce qui est plus agile et maniable : une liste déroulante choisie parmi les contrôles activex et sa propriété ListFillRange --->> Config!$C$6:$C$17
    Au click (une sélection que tu y fais) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub ListBox1_Click()
       onglet_choisi = ListBox1.List(ListBox1.ListIndex)
    End Sub
    Te reste donc à activer l'onglet, dont tu connais maintenant le nom !
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

  9. #9
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par unparia Voir le message
    Alors choisis au moins ce qui est plus agile et maniable : une liste déroulante choisie parmi les contrôles activex et sa propriété ListFillRange --->> Config!$C$6:$C$17
    Au click (une sélection que tu y fais) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub ListBox1_Click()
       onglet_choisi = ListBox1.List(ListBox1.ListIndex)
    End Sub
    Te reste donc à activer l'onglet, dont tu connais maintenant le nom !
    Merci de prendre du temps à ma requête.

    mais j'ai pas bien compris dans ta ligne de code, le "onglet_choisi"

  10. #10
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    mais j'ai pas bien compris dans ta ligne de code, le "onglet_choisi"
    Ce n'est qu'une variable ! Appelle-la toto, si tu préfères toto !
    Cette variable, de type String, contient tout simplement le nom de l'onglet choisi dans la liste déroulante.
    Et c'est donc CET onglet, que tu dois activer.
    Mais là, on en est vraiment aux rudiments de chez rudiments ... Ne me dis pas que tu ne sais pas non plus activer un onglet dont tu connais le nom). Sais-tu ce qu'est la collection WorkSheets ? Si non : il est temps de t'y intéresser, puis de t'intéresser à l'objet WorSheet. L'ouverture de ton aide VBA (toujours de mise, surtout, mais pas seulement) si l'on est débutant) à la rubrique Worksheet, objet contient ta réponse.
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

  11. #11
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par unparia Voir le message
    Ce n'est qu'une variable ! Appelle-la toto, si tu préfères toto !
    Cette variable, de type String, contient tout simplement le nom de l'onglet choisi dans la liste déroulante.
    Et c'est donc CET onglet, que tu dois activer.
    Mais là, on en est vraiment aux rudiments de chez rudiments ... Ne me dis pas que tu ne sais pas non plus activer un onglet dont tu connais le nom). Sais-tu ce qu'est la collection WorkSheets ? Si non : il est temps de t'y intéresser, puis de t'intéresser à l'objet WorSheet. L'ouverture de ton aide VBA (toujours de mise, surtout, mais pas seulement) si l'on est débutant) à la rubrique Worksheet, objet contient ta réponse.
    Comme tu le dis si bien, je n'ai que quelques rudiments sur le VBA.

    Même si je te remercie de bien vouloir prendre du temps pour m’aider, tu devrais être mois hautin dans tes commentaires.

    Merci encore de ton aide.

    Titi32600

  12. #12
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Comme tu le dis si bien, je n'ai que quelques rudiments sur le VBA.

    Même si je te remercie de bien vouloir prendre du temps pour m’aider, tu devrais être mois hautin dans tes commentaires.
    Bien.
    Nous allons donc conclure un marché :
    Je te promets de ne pas te paraître "hautain" dès que tu te montreras "lucide"
    D'accord ?
    Je verrai, selon ta réponse, si je dois continuer ou aller à la pêche (mon vrai passe-temps) ...
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

  13. #13
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par unparia Voir le message
    Bien.
    Nous allons donc conclure un marché :
    Je te promets de ne pas te paraître "hautain" dès que tu te montreras "lucide"
    D'accord ?
    Je verrai, selon ta réponse, si je dois continuer ou aller à la pêche (mon vrai passe-temps) ...
    Salut

    Comme indiqué plus haut, tu m'a bien aidé pour résoudre mon souci, et te remercie encore.

    C'est pour cela, que je ne vais pas te faire perdre plus de temps que ça.

    Je te dirai pas de partir à la pêche (c'est aussi un petit passe temps que j'aime bien, ça repose l’esprit!!), le temps froid ne s'y prête pas trop.

    Je te souhaite donc une bonne soirée.

    Merci

    Titi32600

  14. #14
    Membre averti
    Homme Profil pro
    retraité enseignement
    Inscrit en
    Mars 2013
    Messages
    213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Saône (Franche Comté)

    Informations professionnelles :
    Activité : retraité enseignement
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2013
    Messages : 213
    Points : 442
    Points
    442
    Par défaut combo à jour!
    Bonsoir,

    Je ne sais si tu as besoin encore d'idées, j'ai essayé de répondre à ton problème. (mais je n'ai pas eu le temps de répondre avant)

    Nom : combo à jour.JPG
Affichages : 468
Taille : 31,4 Ko

    J'ai créé un combobox sur la cellule Q13 de même dimension liée avec la liste des mois. Cela fonctionne bien mais pour la mise à jour je te propose d'utiliser la procédure événementielle feuille.activate dans ce cas à chaque ouverture de la feuille le mois sera à jour.

    J'ai eu un problème pour le résultat qui se mettait en anglais, j'ai donc utiliser une bidouille en rendant invisible puis visible le combo et l'affichage se met en français...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Worksheet_Activate()
    With menu.Shapes("combo").ControlFormat
       .ListIndex = [Q11].Value
    End With
     menu.Shapes("combo").Visible = msoFalse
     menu.Shapes("combo").Visible = msoCTrue
     
    End Sub
    (J'ai nommé la feuille menu et le combobox combo pour plus de lisibilité)

    Cordialement
    geogeo

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

Discussions similaires

  1. [MySQL] Alimenter une liste déroulante depuis une table mysql
    Par macfly95 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 27/08/2014, 20h07
  2. [XL-2003] Menu déroulant avec une liste principale et une liste secondaire
    Par bbcancer dans le forum Excel
    Réponses: 2
    Dernier message: 03/05/2011, 13h50
  3. Modification d'une liste déroulante depuis une autre fenètre ouvertre
    Par dirty_harry dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 03/06/2009, 14h38
  4. [Access] Filtrer une liste déroulante depuis une autre
    Par Marie_2116 dans le forum Access
    Réponses: 20
    Dernier message: 24/08/2007, 17h19
  5. [MySQL] Insertion dans une liste déroulante depuis une BD
    Par merymaru dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 24/05/2007, 21h28

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