none
Macro Excel : Comment entrer une liste déroulante RRS feed

  • Question

  • Bonjour,

    J'ai beaucoup cherché, mais je n'ai trouvé qu'une réponse partielle à ma question.

    La réponse que j’ai trouvé est la suivante, elle proposée par Danielco, MCC,MPV :

    Sheets("Feuil1").Range("A1").Value = InputBox("Entrez le numéro gagnant du tirage du loto de ce soir")

    C'est un bon début, mais peut-on mettre une liste déroulante dans l'InputBox.

    Il faudrait qu'il s'affiche dans la liste déroulante : 2016-2017, 2017-2018, 2018-2019, etc... jusqu'en 2029-2030.

    C'est-à-dire 15 choix possibles

    Existe-t-il une solution ?

    Merci d'avance de votre collaboration.

    Jeff1950

    lundi 9 janvier 2017 13:52

Réponses

  • Bonjour,

    Il faut remplacer l'inputbox par un userform contenant un listbox, un textbox pour remplacer l'inputbox et un bouton pour valider le tout. Si tu as besoin d'aide, reviens.

    Cordialement.

    Daniel

    • Marqué comme réponse Jeff1950 dimanche 22 janvier 2017 18:14
    lundi 9 janvier 2017 15:06
  • La valeur sélectionnée par l'utilisateur est renvoyée par la propriété .value du contrôle.

    Le code ci-dessous utilise l'évenement SurChangement du contrôle pour mettre à jour le contenu de la cellule "B1" et y afficher le choix de l'utilisateur

    Private Sub Saison_Change()
        Worksheets("Feuil1").Range("B1").Value = Saison.Value
    End Sub


    En espérant avoir pu rendre service (MehdiH)
    Retrouvez moi sur Office Users

    • Marqué comme réponse Jeff1950 dimanche 22 janvier 2017 18:13
    mardi 17 janvier 2017 13:34

Toutes les réponses

  • Bonjour,

    Si vous ne devez pas obligatoirement passer par du code, utilisez la validation de données pour n'autoriser qu'une liste de valeur.

    Voir cet article : http://blogs.microsoft.fr/office/comment-creer-une-liste-deroulante-dans-une-cellule-avec-excel.html#gEeV9aUHiIj1K2eB.97


    En espérant avoir pu rendre service (MehdiH)
    Retrouvez moi sur Office Users

    lundi 9 janvier 2017 14:16
  • Bonjour,

    Il faut remplacer l'inputbox par un userform contenant un listbox, un textbox pour remplacer l'inputbox et un bouton pour valider le tout. Si tu as besoin d'aide, reviens.

    Cordialement.

    Daniel

    • Marqué comme réponse Jeff1950 dimanche 22 janvier 2017 18:14
    lundi 9 janvier 2017 15:06
  • Bonjour,

    Merci pour la réponse, mais je dois passer par du code.

    mardi 17 janvier 2017 08:46
  • Bonjour,

    Je vous invite à explorer ces articles :


    En espérant avoir pu rendre service (MehdiH)
    Retrouvez moi sur Office Users

    mardi 17 janvier 2017 09:11
  • Bonjour,

    Merci pour la réponse, je sais comment faire pour afficher un UserForm simple, mais maintenant cela devient un peu compliqué.

    Pour l'instant, j'ai ouvert un UserForm, je l'ai renommé. A l'intérieur, je lui ai inséré une zone de liste et je l'ai renommée. J'ai fait quelques essais et j'ai tapé quelques lignes de codes, j'ai obtenu ceci :

    Private Sub Saison_Click()
        Saison.Height = 180
        Saison.Width = 57
    End Sub

    Private Sub UserForm_Initialize()
        Saison_en_cours.Height = 180
        Saison_en_cours.Width = 70
        Saison.List = Worksheets("Feuil1").Range("A1:A15").Value
    End Sub

    Il faudra donc qu'il s'affiche : 2016-2017, 2017-2018, 2018-2019, etc... jusqu'en 2029-2030.

    La place est exacte pour faire cela. Je n'ai pas besoin d'ascenseur.

    Après l'utilisateur doit donc sélectionner une saison. Lorsque qu'il clique sur l'UserForm, la saison vient en surbrillance, puis le programme s'arrête. Et après ?

    Comment vais-je retourner à la suite de la macro avec le nom de cette saison ?

    mardi 17 janvier 2017 09:49
  • La valeur sélectionnée par l'utilisateur est renvoyée par la propriété .value du contrôle.

    Le code ci-dessous utilise l'évenement SurChangement du contrôle pour mettre à jour le contenu de la cellule "B1" et y afficher le choix de l'utilisateur

    Private Sub Saison_Change()
        Worksheets("Feuil1").Range("B1").Value = Saison.Value
    End Sub


    En espérant avoir pu rendre service (MehdiH)
    Retrouvez moi sur Office Users

    • Marqué comme réponse Jeff1950 dimanche 22 janvier 2017 18:13
    mardi 17 janvier 2017 13:34