Descendre ou monter les lignes avec le même pas

Bonjour

je voudrais faire une macro en VBA avec 3 boutons un de descente l autre de Monter et le dernier pour revenir à la position de départ

monter et descente auront un pas de 43

j ai mon volet figé a la ligne 11 donc mon départ initial est la ligne 12

Exemple si je suis en ligne 12 je veux en cliquant sur mon bouton descente , me retrouver en ligne 55 si je clique a nouveau je me retrouve en ligne 98 ainsi de suite jusqu en bas du classeur

si je clique sur Monter je veux pouvoir remonter de 43 lignes a partir de l'emplacement ou je suis ,exemple si je suis en ligne 98 je me retrouverais en ligne 55....etc

si je clique sur mon 3eme bouton, je veux pouvoir me retrouver a la position initiale en ligne 12 quelque soit la ligne ou je me trouve

Je ne suis pas programmeur je faits appel pour savoir si une personne peut m 'aider

Merci a tous

bonjour,

une proposition, codes à copier dans un module, et à associer à des boutons

Sub plus43()
    r = Selection.Row + 43
    Cells(r, 1).Activate
    ActiveWindow.ScrollRow = ActiveCell.Row
End Sub

Sub ligne12()
    Cells(12, 1).Activate
    ActiveWindow.ScrollRow = ActiveCell.Row
End Sub

Sub moins43()
    r = Selection.Row - 43
    If r < 12 Then r = 12
    Cells(r, 1).Activate
    ActiveWindow.ScrollRow = ActiveCell.Row
End Sub

Bonjour

Grand merci de ton travail je viens d 'essayer tes codes cela marche mais que si je le met dans une autre feuille à part, par contre si je le mets sur la feuille ou j ai déjà un autre code j ai des contrariétés peux tu m 'expliquer ce que je ne fait pas correctement??

je pense qu il doit falloir le mettre a un emplacement spécifique

autre chose comme je ne connais pas la programmation j ai fait pas mal de macro avec l 'enregistreur qui ne me satisfont pas accepteras tu de m 'aider a résoudre quelques soucis que j ai? , parceque j 'aime bien les choses faites à la perfection.

nul doute que tu as trouvé la bonne solution , c'est moi qui ne sait pas comment m y prendre pour que ces macros ne soient pas en contradiction je te mets la macro qui est déjà dans la feuille et qui ne demande pas exactement la même chose ,elle me sert a rapatrier des informations a des emplacements bien précis

encore merci

Option Explicit

Private Sub CommandButton1_Click()

Rows("12:3624").Hidden = False 'retour à la ligne 12 visible

End Sub

'-----------------------------------------------------------------------------------------------------------------------------

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

Dim Lig As Byte, Col As Byte, Dep As Integer, Pas As Byte 'initialisations

Dim Fin As Integer, Lignes As String 'actions

If Not Application.Intersect(Target, Range("CV12:CV51,CX12:CX51")) Is Nothing Then

'-----------------------initialisations

Lig = Target.Row

Col = Target.Column ' 100=CV; 102=CX

Dep = IIf(Col = 100, 227, 270)

Pas = 86

'-----------------------actions

Fin = Dep + Pas * (Lig - 12) - 1 'si lig=12 Fin =226 ou 269

Lignes = 12 & ":" & Fin

Rows(Lignes).Hidden = True '1° ligne visible 227 ou 270

End If

End Sub

Rechercher des sujets similaires à "descendre monter lignes meme pas"