(vba excel) programme menant a une feuille avec inputbox

Fermé
Alex - 22 déc. 2022 à 13:34
cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 - 22 déc. 2022 à 16:13

Bonjour,

Voila mon problème, je suis débutant en programmation VBA.

J'ai donc sur un tableau plusieurs feuille (Feuil1, 2, 3...) et sur chaque feuille une colonne heure

J'aimerai donc faire un programme avec une inputbox qui Viens demander "sur quelle feuille voulez-vous aller".

je présume donc qu'il faut faire:

ws = InputBox("sur quelle feuille voulez-vous aller")

et ensuite je bloque  à ce moment ci. Pour prendre la valeur ws qui amène vers le feuille X.

Puis ensuite le programme doit trouver le jour et l'heure qui correspond a une précédente inputbox: 

Heure = inputBox("quelle heure?")

je me doute que c'est basic comment programme mais je cherche partout sur internet sans trouvaille convaincante. 

J'espere avoir été clair.

Dans l'attente d'une reponse

Merci 

A voir également:

3 réponses

yg_be Messages postés 23526 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 14 avril 2025 Ambassadeur 1 577
22 déc. 2022 à 14:31

bonjour,

Pour utiliser le nom de la feuille:

dim ws as worksheet, nomfeuille as string
nomfeuille = InputBox("sur quelle feuille voulez-vous aller")
set ws = worksheets(nomfeuille)
0

est-ce possible de faire cela avec un UserForm ? 

Par rapport à un Bouton sur excel Lancer le UserForm où il y a plusieurs bouton, chacun d'entre eux correspond à une feuille ?

0
cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 729
22 déc. 2022 à 16:13

Bonjour,

au lieu d'avoir une multitude de boutons, je te propose d'utiliser une ListBox

Insertion d'un UserForm dans lequel tu places une ListBox.

Mettre ce code dans la partie code de l'UserForm:

Option Explicit
Private Sub ListBox1_Click()
Sheets(ListBox1.Value).Select
End Sub
Private Sub UserForm_Initialize()
Dim ws As Worksheet
    For Each ws In ActiveWorkbook.Sheets
        ListBox1.AddItem ws.Name
    Next
    ListBox1.ListIndex = 0
End Sub

0