Liste déroulante pour choisir une feuille

Fermé
herbalau Messages postés 28 Date d'inscription lundi 12 décembre 2011 Statut Membre Dernière intervention 25 août 2017 - 22 sept. 2015 à 09:30
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 - 28 sept. 2015 à 11:13
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.



A voir également:

5 réponses

cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
22 sept. 2015 à 10:43
Bonjour,

Voici un exemple:

http://www.cjoint.com/c/EIwiQfYk4dQ
0
herbalau Messages postés 28 Date d'inscription lundi 12 décembre 2011 Statut Membre Dernière intervention 25 août 2017 2
22 sept. 2015 à 11:02
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
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
22 sept. 2015 à 11:08
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
herbalau Messages postés 28 Date d'inscription lundi 12 décembre 2011 Statut Membre Dernière intervention 25 août 2017 2
26 sept. 2015 à 12:26
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
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
26 sept. 2015 à 12:44
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
herbalau Messages postés 28 Date d'inscription lundi 12 décembre 2011 Statut Membre Dernière intervention 25 août 2017 2
26 sept. 2015 à 13:11
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
28 sept. 2015 à 11:13
Voici un exemple:

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