Bonjour la communauté,
Je me tourne vers vous car je bute sur un bête problème de déplacement d'une forme (ligne) sur une feuille comportant des lignes cachées.
Je réussi bien à faire passer la forme d'une cellule non cachée à la prochaine cellule non cachée dans le sens montant, mais ça ne marche pas correctement dans l'autre sens car selon comment je tourne mon code, soit ma forme reste bloquée sur sa ligne, soit elle saute 2 lignes.
Je joints un fichier exemple.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 Sub test5(Lev As Byte) With ActiveSheet Dim Ligne As Integer Dim Multi As Integer Dim Cell As Range If Lev > .Range("e1").Value Then Multi = 1 Else Multi = -1 With .Shapes("SautPage") .Top = .TopLeftCell.Offset(Multi, 0).Top Set Cell = .TopLeftCell End With If Cell.EntireRow.Hidden = True Then Ligne = Cell.Row Do Until Cell.EntireRow.Hidden = False Ligne = Ligne + Multi Set Cell = Cell.Offset(Multi, 0) Loop If Multi > 0 Then Ligne = Ligne + 1 'c'est là le problème : si je conserve Ligne à sa valeur, la forme "SautPage" ne bouge pas. Avec +1, elle saute une ligne Else Ligne = Ligne + 2 'je ne comprends pas bien pourquoi 2, mais enfin ça marche avec cette valeur End If .Shapes("SautPage").Top = Cells(Ligne, 1).Top End If .Range("e1").Value = Lev End With End Sub
Ma forme (ligne) sert à visualiser un saut de page sur ma feuille. Ce saut de page est réglable par le scrollbar. Une flèche visualise une limite qui sert de référence pour la position initiale de la ligne.
Le bouton RAZ permet de remettre la forme dans sa position initiale.
D'avance merci à ceux qui pourront m'aider.
Partager