Liste déroulante pour choisir une feuille

herbalau Messages postés 29 Statut Membre -  
cs_Le Pivert Messages postés 8437 Statut Contributeur -
Bonjour,
Je me lance en VBA et, évidemment, j'ai quelques questions. J'ai un classeur Excel avec 12 feuilles (1 par mois), plus une 13ème dans laquelle je vais copier des données issues d'1 des 12 premières feuilles, et j'aimerais proposer à l'utilisateur de choisir la feuille désirée plutôt que de lui demander de saisir son nom pour éviter de se tromper. Pour l'insant, j'ai une inputbox dans laquelle je demande de saisir le mois désiré.
Cela doit être possible, mais je n'ai pas trouvé de cas similaire dans les quelques forums que j'ai visités.
Merci d'avance pour votre aide.

5 réponses

  1. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    Bonjour,

    Voici un exemple:

    http://www.cjoint.com/c/EIwiQfYk4dQ
    0
  2. herbalau Messages postés 29 Statut Membre 2
     
    Bonjour Le Pivert,
    Merci pour une réponse si rapide... Néanmoins, cela ne correspond pas tout à fait à mon besoin. En effet, je ne veux pas "sélectionner" une feuille, mais juste donner sa valeur à une variable (par ex.: mois = janvier) qui va servir à récupérer ses données par des boucles. Aujourd'hui, j'ai:

    mois = InputBox("Saisir le mois :", "Mois à saisir")

    mais je voudrais éviter de saisir le mois (qui correspond au nom de la feuille).
    J'espère avoir été assez clair, mais ce n'est pas si facile d'expliquer... :)
    0
  3. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    c'est très simple, avec l'exemple.
    Mettre ceci:

    Private Sub Valider_Click()
        'ListeDeroulante.Hide
        Index = SelectFeuille.ListIndex
        ChoixFeuille = SelectFeuille.List(Index)
       
        Dim Feuille As String
        Feuille = ChoixFeuille
       'Sheets(ChoixFeuille).Select
       MsgBox ChoixFeuille
    End Sub


    tu remplace le MsgBox par ta variable

    0
    1. herbalau Messages postés 29 Statut Membre 2
       
      Hello,
      Désolé, mais comme je l'ai dit au début, je débute en VBA, et je ne sais pas comment intégrer ni adapter tes lignes de code... :(
      0
  4. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    Tu as mis cela:

    mois = InputBox("Saisir le mois :", "Mois à saisir")

    a la place de ça tu mets:

    Dim monmois As String
    Private Sub Valider_Click()
        'ListeDeroulante.Hide
        Index = SelectFeuille.ListIndex
        ChoixFeuille = SelectFeuille.List(Index)
       monmois = ChoixFeuille
    End Sub


    ensuite tu te sers de ta variable monmois pour la placée où tu désires.

    Je ne pourrais pas répondre avant lundi
    0
    1. herbalau Messages postés 29 Statut Membre 2
       
      Merci de prendre du temps sur ton WE... J'attendrai lundi pour la suite, mais quand j'intègre ta solution à la place de mon Inputbox, j'ai un message d'erreur qui me dit qu'il manque un "End sub"...
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    Voici un exemple:

    http://www.cjoint.com/c/EICjmxz18cQ
    0