Bonjour,
Au vu de votre fichier je n'ai pas trop compris ce que vous voulez avec votre liste déroulante. Elle doit être sur une feuille ?
Sinon, j'aurais putôt fait comme ceci
1. Dans l'USF
Private Sub UserForm_Initialize()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
Me.ListBox1.AddItem ws.Name
Next ws
End Sub
2. Dans votre module, un code relié à un bouton
Sub ouvrirUSF
UserForm1.Show
End sub
3. Après vous cliquez dans la listbox, vous voulez faire quoi excatement ? Si c'est ouvrir l'onglet depuis la listbox, faites ceci
- remplacez le code dans l'USF par ceci
Private Sub ListBox1_Click()
If ListBox1.ListIndex = -1 Then Exit Sub
RechOnglet = ListBox1.List(ListBox1.ListIndex, 0)
Unload Me
Call Select_onglet
End Sub
- Allez dans votre module.
--- Supprimez la variable Dim RechOnglet As String
--- Remplacez-là par Public RechOnglet As String
--- Placez cette nouvelle définition de variable juste avant (donc au dessus) de Sub Select_onglet()
Cordialement