Masquer les onglets et utilliser un combobox pour ouvrir un onglet

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

  • MAN.xlsm
    25.2 KB · Affichages: 49
  • MAN.xlsm
    25.2 KB · Affichages: 50
  • MAN.xlsm
    25.2 KB · Affichages: 54

john

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

Bonjour,

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

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
 

jpb388

XLDnaute Accro
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
 

MAN

XLDnaute Occasionnel
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.
 

MAN

XLDnaute Occasionnel
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é
 

MAN

XLDnaute Occasionnel
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.
 

john

XLDnaute Impliqué
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
 

jpb388

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

re
j'ai mis la deuxième macro et tu peux constater que cela ouvre les feuilles le masquage des feuilles ouvertes n'est pas traitées dans mon exemple
 

Pièces jointes

  • MAN (3).xlsm
    30 KB · Affichages: 51
  • MAN (3).xlsm
    30 KB · Affichages: 54
  • MAN (3).xlsm
    30 KB · Affichages: 64

Discussions similaires

Réponses
1
Affichages
249

Statistiques des forums

Discussions
312 358
Messages
2 087 584
Membres
103 600
dernier inscrit
Tora61