Masquer une ligne si descente de la page et inversment

Bonjour,

je cherche un code vba pour qu'au premier mouvement de la molette de souris vers la bas , ma feuille masquerait mes 4 premières lignes et quand je remonterais ma page en haut, 4 premières ligne s'afficherait.

d'avance merci de m'aiguiller.

daniel

Bonjour

Le scroll n'est pas un événement contrôlable dans Excel.

Éventuellement par Windows et il n'est pas certain qu'on puisse différencier scroll souris ou ascenseur...

merci beaucoup de ta disponibilité

Bonjour, Salut Chris !

Un ersatz, utilisant le déplacement du curseur dans la feuille :

Dim Lg As Long

Private Sub Worksheet_Activate()
    Lg = Selection.Row
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim nLg&
    nLg = Target.Row
    Select Case nLg
        Case Is > Lg
            If Not Me.Rows(1).Hidden Then Me.Rows("1:4").Hidden = True
        Case Is < Lg
            If Me.Rows(1).Hidden Then Me.Rows("1:4").Hidden = False
    End Select
    Lg = nLg
End Sub

Code à placer dans le module de la feuille. A tester pour voir si cela s'approche de ce que tu souhaites.

Sinon, comme te l'a indiqué Chris, il te faut rechercher du côté des API... (mouse_event peut-être ?)

Une autre solution (si l'on y parvient) consiste à étudier la question de savoir si l'on peut créer des évènement de l'objet Window. Un évènement ScrollRowChange, enregistrant les variations de la ligne supérieure visible de la fenêtre devrait pouvoir répondre à ton voeu : si la ligne augmente on masque, si elle diminue on démasque...

La question est relativement intéressante, mais je risquerais fort d'y passer la journée... et j'ai vraiment beaucoup d'autres choses à faire !

Cordialement.

Rechercher des sujets similaires à "masquer ligne descente page inversment"