Rendre une feuille invisible visible en VBA

Bonjour à tous,

quelqu'un pourrait-il me dire comment faire pour une feuille habituellement invisible devienne visible lorsque l'on la sélectionne dans un combobox?

j'aurais aimé mettre mon programme pour être plus explicite, mais il est trop lourd.

cordialement.

Bonjour

De base vous pouvez essayer ceci

Private Sub ComboBox1_Change()
If ComboBox1.ListIndex > 0 Then
    Worksheets(ComboBox1.Value).Visible = True
End If
End Sub

Combobox1 étant le nom de l'objet combobox dans l'USF

Si ok,

Cordialement

Merci beaucoup Dan cela fonctionne super

bonne journée

re- bonjour j'ai crié victoire trop vite...

le code marche super mais par contre lorsque je selectionne un autre onglet la feuille précédente reste elle toujours visible y a til une façons de la remttre invisible lors du changement de valeur dans le combobox.

voici ce que j ai écrit mais cela ne fonctionne pas

Private Sub ComboBox1_Change()

If ComboBox1.ListIndex > 13 Then
Worksheets(ComboBox1.Value).Visible = True
Worksheets <>(ComboBox1.Value).Visible = False 'je dois avoir une erreur sur cette partie.

End If

If ComboBox1.ListIndex > 13 Then
Sheets(ComboBox1.Text).Select
Range("A1").Activate
Else
Msgbox "NON AUTORISE!!"
End If

End Sub

le code marche super mais par contre lorsque je selectionne un autre onglet la feuille précédente

Qu'entendez-vous par la feuille Précédente ?
La feuille située juste avant l'autre ou la feuille précédente que vous aviez choisie.
exemple :
Mettons que vous avez 3 feuilles, vous cachez la feuille en position 3, puis vous décidez de cacher la feuille en position 1 ? là vous voulez que la feuille en position 3 soit rendue visible ?

Rem : Veillez à utiliser les balises de codes en cliquant sur l'icone </> disponible dans le menu et en collant le code dans la fenêtre. Il sera plus facile à lire.

pour commencer merci Dan pour vos réponse aussi prompt ainsi que vos conseils.

pour essayer d'être plus clair:

je sélectionne une feuille dans le combobox disons la 3 qui est cachée grâce au code que vous m avez donné auparavant elle devient donc visible. je fais ce que j ai faire sur cette feuille mais lorsque je veux sélectionner une autre feuille disons la feuille4 celle ci devient donc visible mais le soucis c'est que la feuille 3 reste visible également alors que je voudrais qu'elle redevienne invisible.

espère avoir été un peu plus clair.

bonne journée.

je sélectionne une feuille dans le combobox disons la 3 qui est cachée grâce au code que vous m avez donné auparavant elle devient donc visible. je fais ce que j ai faire sur cette feuille mais lorsque je veux sélectionner une autre feuille disons la feuille4

Ok mais ce n'est pas toujours la feuille suivante ou précédente. Cela peut par exemple être le feuille 6 puis la feuille 3

En supplément, combien de feuilles contient le fichier et surtout combien de feuilles sont masquées au départ.
Là je vois que vous avez placé un 13 dans votre code

oui exactement ce n est pas toujours la même feuille quand au nombre de feuille il va varié car le fichier évolue et augmente, quand au 13 il est présent pour que la liste du combobox n est valide qu' a partir de la 14eme feuille.

Essayez ceci

Dans un module (en première ligne c'est important !), mettez cette ligne

Public feuille As String

Dans votre USF, remplacez le code par celui ci-dessous

Private Sub ComboBox1_Change()
If ComboBox1.ListIndex > 13 Then
    Worksheets(ComboBox1.Value).Visible = True
    On Error Resume Next
    Worksheets(feuille).Visible = False
End If
feuille = ComboBox1.Value
End Sub

A vous relire

Un énorme Merci dan cela fonctionne très bien à présent.

Bonne fin de journée

OK. Parfait

Rechercher des sujets similaires à "rendre feuille invisible visible vba"