Macro masquer ligne

Bonjour,

Je recherche une macro qui me masque 44 lignes à partir de la 2eme a chaque fois que je clic dessus.

1 clic : ligne de 2 à 45 masqué

Un autre clic : Ligne de 46 à 90 masqué

Etc...

Je n''arrive pas à faire la répétition, je n'arrive qu'a masqué 2 à 45...

Merci

Bonjour Max, bonjour le forum,

De la ligne 2 à 45 ça fait 44 lignes. De la ligne 46 à 90 ça fait 45 lignes !... Le code ci-dessous masque 44 lignes à chaque clic (tu adapteras) :

Sub Macro1()
Dim LI As Long 'déclare la variable LI (LIgne)

LI = 2 'initialise la variable LI
Do Until Rows(LI).Hidden = False 'exécute tant que la ligne LI est visible
    LI = LI + 44 'incrémente LI de 44 lignes
Loop 'boucle
Rows(LI).Resize(44).Hidden = True masque 44 lignes à partir de LI
End Sub

Merci!

Je vais masquer manuellement les 44 premières (de 2 à 45)

Mais lorsque je lance la macro, il me laisse la ligne 46 (j'ai remplacé les 44 par des 45) et me masque la 91

Désolé d'être aussi nul!

J'ai ajouter une ligne à la première donc tout fonctionne!

Pendant que j'y suis, Est-ce possible de faire une macro pour l'inverse?

Afficher les 45 dernières ligne masquée?

Sub Afficher()

Dim LI As Long

LI = 2

Do Until Rows(LI).Hidden = False

LI = LI - 45

Loop

Rows(LI).Resize(45).Hidden = False

End Sub

J'ai essayé mais non..

Re,

Essaie comme ça :

Sub Macro2()
Dim LI As Long 'déclare la variable LI (LIgne)

LI = 2 'initialise la variable LI
Do Until Rows(LI).Hidden = False 'exécute tant que la ligne LI est visible
   LI = LI + 1 'incrémente LI de 1 ligne
Loop 'boucle
If LI < 46 Then Exit Sub 'si LI est inférieur à 46, sort de la procédure
Rows(LI - 45).Resize(45).Hidden = False 'affiche 45 lignes à partir de LI - 45
End Sub

Elle fonctionne à merveille!

Merci

Rechercher des sujets similaires à "macro masquer ligne"