Masquer les onglets et utilliser un combobox pour ouvrir un onglet

  • Initiateur de la discussion Initiateur de la discussion MAN
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

MAN

XLDnaute Occasionnel
bonjour le forum
bonjour a tous.
j'ai un fichier avec la feuille d'accueil ayant un combo box qui me permet d'ouvrir un onglet particulier.
- LE COMBO NE sélectionne une feuille que si la feuille est changée au moins une fois.
CODE
Private Sub ComboBox1_Click()
Worksheets(CStr(Me.ComboBox1)).Activate
End Sub


Private Sub Worksheet_Activate()
Dim n
With ComboBox1
.Clear
For n = 1 To Sheets.Count
.AddItem Sheets(n).Name
Next n
.ListIndex = -1
End With
End Sub
tous les autres onglets du fichier sont masqués par le code ci dessous.
Private Sub Workbook_Open()
For i = 1 To Sheets.Count
Sheets(i).Visible = Sheets(i).Name = "MODULE"
Next
End Sub
Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal Target As Hyperlink)
Set Ws = Sheets(Target.Name)
Application.ScreenUpdating = False
Ws.Visible = Not Ws Is Nothing
Sh.Visible = Ws Is Nothing
End Sub
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Nom = "MODULE"
Application.EnableEvents = False
If Sh.Name <> Nom Then Sheets(Nom).Cells(ActiveCell.Row, 1) = Date
Application.EnableEvents = True
End Sub
c'est là ou tout se complique. le fichier plante et ....
TROP DE CHARABIA VOIL0 LE VICHIER
 

Pièces jointes

Re : Masquer les onglets et utilliser un combobox pour ouvrir un onglet

Bonjour,

Si tu mettais ça dans ton code ce serai plus court 😱)

Private Sub ComboBox1_Change()
If ComboBox1.ListIndex > -1 Then
Sheets(ComboBox1.ListIndex + 1).Visible = True
Sheets(ComboBox1.ListIndex + 1).Activate
End If
End Sub

Private Sub Worksheet_Activate()
Dim n
With ComboBox1
.Clear
For n = 1 To Sheets.Count
.AddItem Sheets(n).Name
Next n
End With
End Sub

BàT
John
 
Re : Masquer les onglets et utilliser un combobox pour ouvrir un onglet

Bonjour le forum

dans l'exemple que tu as mis il vaut mieux faire comme ceci


Code:
Private Sub Worksheet_Activate()
Dim SH
 With ComboBox1
 .Clear
For Each SH In Sheets
  If StrConv(SH.Name, vbProperCase) <> "Module" Then .AddItem SH.Name
Next SH
.ListIndex = -1
End With
End Sub
 
Re : Masquer les onglets et utilliser un combobox pour ouvrir un onglet

merci a vous. John et jpb388. pourtant, ma difficulté principale reste.
1- malgré le changement de code de la combo box, elle ne déroule pas toujours si on ne sélectionne pas un autre onglet .
2-je voudrai que seule la feuille sélectionnée et la feuille principale soient ouverte. donc, il ne doit avoir au trop que deux onglets visibles.
en conclusion, je demeure toujours a la case départ.
 
Re : Masquer les onglets et utilliser un combobox pour ouvrir un onglet

merci baucoupjpb388. le résultat est le suivant.
la combo est bien approvisionnée: on a beaucoup avancé; mais elle n'ouvre pas l'onglet sélectionné.
je complète aussi les études de mon coté
 
Re : Masquer les onglets et utilliser un combobox pour ouvrir un onglet

merci a tous les deux. la difficulté demeure. même avec tous les codes que vous me donnez généreusement.
IL FAUT TOUJOURS OUVRIR UN ONGLET SUPPLEMENTAIRE AFIN QUE LA COMBOBOX S'ACTIVE
ON PEUT OUVRIR PLUSIEURS ONGLETS A LA FOIS APRES.
JE BROIE DU NOIR EVIDEMMENT.
 
Re : Masquer les onglets et utilliser un combobox pour ouvrir un onglet

Je comprend pas ce que tu veux !!!
Dans l'exemple que je t'ai donné, quand tu sélectionnes une page, automatiquement les autres sont fermées, donc tu n'as tjrs que 2 onglets actifs, le premier "MODULE" et le second qui a été sélectionné !!!

Explique stp ...

BàT.

John
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
481
Retour