Déplacement dans une fenêtre Excel

Bonjour à vous et merci par avance,

Je vais tenter d'expliquer ma problématique le plus clairement possible.

Présentation de la situation de départ :

J'ai sur une feuille excel un tableau avec une centaine de colonne.

J'ai décidé de figer la feuille de façon à ce que la première colonne soit toujours visible lorsque je fais défiler le tableau vers la droite.

Besoin:

J'aurai besoin d'une astuce ou d'une macro pour qu'en cliquant sur des formes que j'aurai crées (Boutons)...
Je puisse naviguer dans le tableau.
Ce que j'appelle naviguer serai d'afficher une colonne précise à la suite de la première colonne figée.

Exemple:

La colonne A est figée.
J'ai 4 boutons N°20, N°40, N°60, N°80.

Lorsque je clique sur le bouton N°20, visuellement à l'écran je vois la colonne A puis la colonne T correspondant à la 20ème colonne de mon tableau.

De cette façon en cliquant sur les boutons cela me permettra de naviguer plus confortablement dans le tableau.

Merci d'avoir pris le temps de lire mon post.

Bonjour,

Au cas où, il y a la barre de référence à gauche de la barre de formules. Si on tape T1, on se rend sur la cellule T1.

Sinon, voici un essai avec un même code pour chacun des boutons qui dépend du texte sur la FORME :

Sub Naviguer()

with activesheet
    stextbutton = .shapes(application.caller).texteffect.text
    col = trim(replace(stextbutton, "N°", ""))*1
    '.cells(1, 1).activate 'pour gérer l'aspect visuel des volets (on revient puis on repart)
    .cells(1, col).activate
end with

end sub

On remplace le "N°" par du vide pour obtenir le numéro de colonne.

Cdlt,

Salut Olivier,
Salut 3GB,

il y a moyen de faire joujou avec ta demande...
Dans cet exemple, j'utilise la colonne [A:A] pour renseigner l'intitulé des en-tête des colonnes à cibler... dans des cellules et non des boutons : plus facile lorsque tu dois ou veux changer de cible. L'étiquette "RESET" ramène à l'affichage intégral.
J'ai créé un tableau structuré, lequel, comme tu le sais sans doute, peut être déplacé à volonté sans qu'il y ait de problème pour sa gestion.
Le calcul est prévu pour gérer ce déplacement potentiel, à charge pour toi, dans ce cas, de modifier la fixation des volets

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'
If Not Intersect(Target, Range("A1:A4")) Is Nothing Then
    iCol1 = Cells.Find(what:="AA", lookat:=xlWhole, LookIn:=xlValues).Column
    If Target = "RESET" Then iCol = iCol1 + 1
    If Target <> "RESET" Then iCol = [t_TAB].Rows(0).Find(what:=Target, lookat:=xlWhole, LookIn:=xlValues).Column
    ActiveWindow.ScrollColumn = iCol
End If
'
End Sub
9oliviertp.xlsm (19.29 Ko)


A+

Bonjour 3GB et curulis57
Je vous remercie pour vos réponses.
Je me penche sur vos réponses et ferait quelques tests dès ce soir.

Je ne manquerai pas de vous tenir informé des résultats.

Encore merci à vous.

J'ai fait des essais avec vos méthodes et ça m'a donné pas mal d'idées.
Je vous remercie encore une fois.

Bonne soirée à tout les deux.

Rechercher des sujets similaires à "deplacement fenetre"