Garder la feuille Excel visible

Bonjour à tous,

J'ai actuellement un fichier EXCEL qui en fonction du choix dans la liste déroulante me rend visible la feuille correspondante.

Si je fais un autre choix, la feuille choisie precedemment se cache à nouveau et la nouvelle s'ouvre, etc

J'aimerais qu'une fois que la feuille qui a été ouverte, reste ouverte et ne se cache plus à nouveau. Mettre la feuille en mémoire quelque part pour qu'elle reste ouverte. Malheureusement je n'y arrive pas.

Pouvez-vous m'aider:

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)

    Dim oSh As Worksheet
    Dim oSh2 As Range, Cel As Range

    If Target.AddressLocal = "$E$3" Then
       ' Range("C9:C21").Value = False
        For Each oSh In Worksheets
            If oSh.Name <> "Report FDF" And oSh.Name <> "Detail" Then
                If oSh.Visible = xlSheetVisible Then
                    oSh.Visible = xlSheetHidden
                End If
            End If
        Next oSh
        Set oSh = Worksheets(Target.Value)
        oSh.Visible = xlSheetVisible
        Set Cel = Columns(1).Find(Target).Offset(, 2)
       Cel.Value = True
        Set oSh = Nothing
    End If

End Sub

Vous trouverez en pièce-jointe le fichier EXCEL.

Merci beaucoup,

Cordialement.

9new-fdf-1.xlsm (63.65 Ko)

Bonjour,

Il suffit donc de supprimer toutes les instructions qui servent à masquer les feuilles : depuis For jusqu'à Next !

Bonjour Patrice,

Cela ne fonctionne pas du coup toutes les feuilles ne sont plus cachées et je n'arrive plus sur la bonne feuille.

J ai essaye ca:

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)

    Dim oSh As Worksheet
    Dim oSh2 As Range, Cel As Range

    If Target.AddressLocal = "$E$3" Then
       ' Range("C9:C21").Value = False
        For Each oSh In Worksheets
            If oSh.Name = Worksheets(Target.Value) Then
                oSh.Visible = xlSheetVisible
                End If
        Next oSh
        Set oSh = Worksheets(Target.Value)
        oSh.Visible = xlSheetVisible
        Set Cel = Columns(1).Find(Target).Offset(, 2)
       Cel.Value = True
        Set oSh = Nothing
    End If

End Sub

Merci beaucoup,

Marion

C'est pas ce que j'avais dit !

Tu as modifié le code pour que toutes les feuilles s'affichent !

J 'avais dit de supprimer les instructions de masquage (depuis For jusqu'à Next), pas d'afficher les feuilles.

Il est bien sûr évident que si tu ne les masques plus lors de ce choix, il faudra les masquer autrement, sinon à la longue, elles finiront par être toutes affichées. Mais ce dernier point ne fait pas partie de la demande.

J'ai essayé ca:

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)

    Dim oSh As Worksheet
    Dim oSh2 As Range, Cel As Range

    If Target.AddressLocal = "$E$3" Then
       ' Range("C9:C21").Value = False
        For Each oSh In Worksheets
            'If oSh.Name <> "Report FDF" And oSh.Name <> "Detail" Then
                oSh.Visible = xlSheetVisible
                    'oSh.Visible = xlSheetHidden
                'End If
            'End If
        Next oSh
        Set oSh = Worksheets(Target.Value)
        oSh.Visible = xlSheetVisible
        Set Cel = Columns(1).Find(Target).Offset(, 2)
        Cel.Value = True
        oSh.Select
        Set oSh = Nothing
    End If

End Sub

Du coup ca ne m affiche pas uniquement la feuille que je souhaite ouvrir mais toutes les feuilles.

Tout ce qu'il y a depuis For jusqu'à Next !!!

Et pas, entre For et Next, en gardant une partie !

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim oSh As Worksheet
    Dim Cel As Range

    If Target.AddressLocal = "$E$3" Then
        Set oSh = Worksheets(Target.Value)
        oSh.Visible = xlSheetVisible
        Set Cel = Columns(1).Find(Target).Offset(, 2)
        Cel.Value = True
        oSh.Select
        Set oSh = Nothing
    End If

End Sub

Bonjour Marion1857, Patrice33740,

En retour le fichier modifié. Voir notes en rouge.

Et surtout corriger les noms des feuilles et si possible les réduire.

Aussi ne pas mettre d'espace dans les noms des feuilles. Préférer l'underscore _

Bons tests, bonne continuation.

9new-fdfmodif.xlsm (64.47 Ko)
Rechercher des sujets similaires à "garder feuille visible"