Passer d'une feuille à une autre grâce à un UserForm

Bonjour à tous !

En VBA j'ai créé un UserForm MENU avec trois boutons en fonction du bouton où on clique le MENU se ferme et c'est soir le UserForm "FINITIONS" qui s'ouvre soit "CHANTS" soit "PANNEAUX" ces UserForm ont les même fonctionnalités mais sont dédiés à une feuille chacun de mon classeur. Comment faire en sorte que quand j'appuie sur un des boutons de mon MENU la bonne feuille s'ouvre en plus du UserForm ?

Info supplémentaire : Les feuilles portent le même non que le UserForm auquel elles sont associées.

Voici le code déjà réalisé qui n'est pas fonctionnel (j'ai essayé qu'avec la Feuil2 renommée "PANNEAUX"):

Private Sub CommandButton1_Click()

Me.Hide
FINITIONS.Show

End Sub

Private Sub CommandButton2_Click()

Me.Hide
PANNEAUX.Show
Sheets("PANNEAUX").Activate
Sheets("PANNEAUX").Visible = True

End Sub

Private Sub CommandButton3_Click()

Me.Hide
CHANTS.Show
End Sub

Merci d'avance pour votre aide

Je vous souhaite une bonne journée !

Bonjour Man, bonjour le forum,

Si les 3 UserForms ont les mêmes fonctionnalités mais utilisent juste des onglets différents, une seule userForm (nommée par exemple : Travail) fera l'affaire.
Dans l'UserForm MENU, les boutons doivent avoir le même nom que l'onglet auquel il se rapporte, ensuite un code du Style :

Private Sub CommandButton1_Click()
Dim T As String

T = Me.CommandButton1.Caption
Me.Unload 'ou Hide mais avec Unload au moins il n'est plus en mémoire
Worksheets(T).Select
With Travail
    .Caption = T
    .Show
End With
End Sub

Ils ont les mêmes fonctionnalités mais opèrent sur des colonnes différentes c'est une demande particulière je ne veux pas réduire mon nombre d'UserFOrm

Re,

Sans le fichier qui va bien, difficile de t'aider.

Pour une colonne différente on pourrait créer une variable publique dans un module Standard (COL par exemple, Public COL As Integer) et lui attribuer une valeur par bouton :

Private Sub CommandButton1_Click()
Dim T As String

T = Me.CommandButton1.Caption
COL = 1
Me.Unload 'ou Hide mais avec Unload au moins il n'est plus en mémoire
Worksheets(T).Select
With Travail
    .Caption = T
    .Show
End With
End Sub
Private Sub CommandButton2_Click()
Dim T As String

T = Me.CommandButton2.Caption
COL = 5
Me.Unload 'ou Hide mais avec Unload au moins il n'est plus en mémoire
Worksheets(T).Select
With Travail
    .Caption = T
    .Show
End With
End Sub

Je crois que vous ne répondez absolument pas à mon problème, je ne souhaite pas changer mes UserForm, je veux juste afficher une certaine feuille quand j'appuie sur le bouton de mon menu... Je ne souhaite pas rassembler mes UserForm!

Re,

Il est vrai que je vous propose une chose qui me paraissait plus simple. Mais il me semble que vous avez vous-même répondu à votre problème (et moi aussi d'ailleurs) :

Private Sub CommandButton1_Click()
Dim T As String

T = Me.CommandButton1.Caption
Unload Me
Worksheets(T).Visible = True
Worksheets(T).Activate
FINITIONS.Show
End Sub
Private Sub CommandButton2_Click()
Dim T As String

T = Me.CommandButton2.Caption
Unload Me
Worksheets(T).Visible = True
Worksheets(T).Activate
CHANTS.Show
End Sub
Private Sub CommandButton3_Click()
Dim T As String

T = Me.CommandButton3.Caption
Unload Me
Worksheets(T).Visible = True
Worksheets(T).Activate
PANNEAUX.Show
End Sub

J'ai réussi à trouver la solution merci de votre aide

Rechercher des sujets similaires à "passer feuille userform"