Afficher ou masquer des lignes

bonjour à tous

j'ai besoin de votre aide. Je voudrais pouvoir afficher ou masquer des lignes dans plusieurs feuilles, mais avec une "centralisation" de la commande sur une feuille principale.

depuis la feuille 1 j'aimerais pouvoir décider de l'affichage ou du masquage des mêmes lignes sur les feuilles 2, 3, 4. Attention à terme mon classeur comportera d'autres feuilles...

j'ai besoin de pouvoir masquer ou afficher séparément 100 lignes.

j'ai réussi à faire une macro pour une ligne... que je devrai taper 100 fois ...

merci d'avance pour votre aide.

dam

Bonjour Dam, bonjour le forum,

Un petit fichier exemple avec un ToggleButton et le code ci-dessous :

Private Sub ToggleButton1_Click()
Dim LD As Variant 'déclare la variable LD (Ligne de début)
Dim LF As Variant 'déclare la variable LF (Ligne de Fin)
Dim O As Worksheet 'déclare la variable LD (Ligne de début)

ActiveCell.Select 'enlève le focus au bouton
If Me.ToggleButton1.Caption = "Masquer" Then 'condition : si le texte du bouton est "Masquer"
    'définit ligne de début LD via une boîte d entrée
    LD = Application.InputBox("Quelle est le numéro de la première ligne à masquer ?", "MASQUER", Type:=2)
    If LD = False Or LD = "" Then Exit Sub 'si [Annuler] ou non renseignée, sort de la procédure
    'définit ligne de fin LF via une boîte d entrée
    LF = Application.InputBox("Quelle est le numéro de la dernière ligne à masquer ?", "MASQUER", Type:=2)
    If LF = False Or LF = "" Then Exit Sub 'si [Annuler] ou non renseignée, sort de la procédure
    For Each O In Worksheets 'boucle sur tous les onglets O du classeur
        O.Rows(LD & ":" & LF).Hidden = True 'masque les lignes de l'onglet O, de la ligne LD à la ligne LF
    Next O 'prochain onglet de la boucle
    Me.ToggleButton1.Caption = "Afficher" 'modifie le texte du bouton qui devient "Afficher"
Else 'sinon (si le texte du bouton est "Afficher")
    For Each O In Worksheets 'boucle sur tous les onglets O du classeur
        O.Rows.Hidden = False 'affiche toutes les lignes de l'onglet
    Next O 'prochain onglet de la boucle
    Me.ToggleButton1.Caption = "Masquer" 'modifie le texte du bouton qui devient "Masquer"
End If
End Sub

Le fichier :

8dam-ep-v02.xlsm (22.07 Ko)

Si tu dois toujours masquer des blocs de 100 lignes, utilise plutôt le code ci-dessous :

Private Sub ToggleButton1_Click()
Dim LD As Variant 'déclare la variable LD (Ligne de début)
Dim O As Worksheet 'déclare la variable LD (Ligne de début)

ActiveCell.Select 'enlève le focus au bouton
If Me.ToggleButton1.Caption = "Masquer" Then 'condition : si le texte du bouton est "Masquer"
    'définit ligne de début LD via une boîte d entrée
    LD = Application.InputBox("Quelle est le numéro de la première ligne à masquer ?", "MASQUER", Type:=2)
    If LD = False Or LD = "" Then Exit Sub 'si [Annuler] ou non renseignée, sort de la procédure
    'définit ligne de fin LF via une boîte d entrée
    LF = LD + 99
    For Each O In Worksheets 'boucle sur tous les onglets O du classeur
        O.Rows(LD & ":" & LF).Hidden = True 'masque les lignes de l'onglet O, de la ligne LD à la ligne LF
    Next O 'prochain onglet de la boucle
    Me.ToggleButton1.Caption = "Afficher" 'modifie le texte du bouton qui devient "Afficher"
Else 'sinon (si le texte du bouton est "Afficher")
    For Each O In Worksheets 'boucle sur tous les onglets O du classeur
        O.Rows.Hidden = False 'affiche toutes les lignes de l'onglet
    Next O 'prochain onglet de la boucle
    Me.ToggleButton1.Caption = "Masquer" 'modifie le texte du bouton qui devient "Masquer"
End If
End Sub

Bonjour ThauThème

merci bcp pour ton aide !

c'est sympa ce que tu as fait

mais ça ne répond qu'en partie à ce dont j'ai besoin

je voudrais avoir la possibilité de pouvoir masquer ou afficher des lignes pas forcément consécutives et surtout de pouvoir les masquer en plusieurs fois ou de pouvoir les afficher en plusieurs fois...

ces lignes correspondront à des index dans des tableaux que je ne remplirai que si nécessaire...

merci encore

dam

Re,

C'est sympa ce que tu dit Dam mais impossible de coder avec aussi peu d'indications... C'est quoi ces index ?

Excuse moi ThauThème

je n'ai pas utilisé le bon mot...

quand j'ai dit index c'était juste pour un entête de ligne de tableau...

je t'ai fait un classeur pour exemple.

merci à toi

10testdam.xlsx (20.36 Ko)

Bonjour à tous,

ThauThème semble très occupé, y a t'il quelqu'un d'autre pour m'aider ?

merci d'avance

Bonsoir dam0920, le forum,

En attendant le code de ThauThème ....une proposition.....au plus simple...

Cordialement,

Bonjour XOr

et merci beaucoup, ça répond bien à mon attente

en quelques lignes... moi j'avais réussi en 230 lignes... oui oui j'ai encore du taf pour maîtriser vba !!!

belle journée

Rechercher des sujets similaires à "afficher masquer lignes"