Bouton suiveur

Bonjour à tous et toutes

Voilà ma question : J'ai un classeur avec une dizaine d'onglets cachés, chaque onglet à un nom spécifique dont un onglet Accueil. Je circule à travers ces onglet par des macros qui indiquent dans le menu " complément " une liste par ordre alphabétique avec pour chaque lettre ou chiffre une liste déroulante. Malgré tout, dans chaque page (onglet) j'ai mis un bouton avec lien hyper texte me renvoyant à la page d'accueil, ce bouton est situé en haut de chaque page. Seulement le problème c'est comme dans chaque page il peut y avoir plusieurs centaines de lignes utilisées, il faut remonter en haut de page pour retrouver le bouton Accueil.

Y aurait-il une macro pour que ce bouton suive la descente de la page et reste toujours à la même distance de l'entête de colonnes ? (Sachant que les entêtes de colonnes et de lignes sont également cachées).

Merci de vos prochaines réponses.

Cordialement

Bouton créé avec insertion/formes

Je suis sur Excel 2007

Bonjour

Une solution simple

Tu figes les 2/3 premières lignes de ta feuilles, comme cela ton bouton sera toujours visible

Bonjour,

Merci pour ta réponse, seulement j'y avais déjà pensé mais le problème en faisant comme ça c'est qu'il apparaît une ligne bien visible et fort désagréable sur toute la longueur de la feuille et comme il y a aussi des lignes fusionnées et des images, voir tout cela coupé par une ligne n'est pas très visuel.

Je préfèrerais plutôt une autre solution, genre macro.

Merci tout de même d'avoir répondu.

Bonjour

Sans connaitre ton fichier

Macro à placer dans le module ThisWorkbook

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Dim Shp

  Set Shp = Sh.DrawingObjects(1)
  With Target
    Shp.Left = .Left + (2 * .Width)
    Shp.Top = .Top + (4 * .Height)
  End With
End Sub

Bonsoir Sdf34 et Banzai64,

Voici deux alternatives aux solutions de Banzai64 :

1) Raccourci clavier Maj+F1 (par exemple)

2) Ajout au menu contextuel des cellules un bouton.

A mettre dans le module ThisWorkbook :

Option Explicit

Private Sub Workbook_BeforeClose(Cancel As Boolean)
   On Error Resume Next
   Application.CommandBars("Cell").Reset ' Réinitialisation menu contextuel
   Application.OnKey "+{F1}" ' Réinitialisation touche F1
   On Error GoTo 0
End Sub

Private Sub Workbook_Open()
   Dim Bt  As CommandBarButton

   ' Modification du menu contextuel des cellules :
   On Error Resume Next
   Set Bt = Application.CommandBars("Cell").Controls.Add(msoControlButton, , , 1, True)
   Application.CommandBars("Cell").Controls(2).BeginGroup = True ' Séparateur
   Bt.Caption = "Retour Accueil"
   Bt.OnAction = "GotoAccueil"
   Bt.FaceId = 7 ' Image
   On Error GoTo 0
   Application.OnKey "+{F1}", "GotoAccueil" ' Affectation de la macro à la combinaison de touche Maj+F1
End Sub

A mettre dans un module standard :

Option Explicit

Sub GotoAccueil()
   Worksheets("Accueil").Select
End Sub
68sdf34.xlsm (35.29 Ko)

Bonsoir Banzai64,

Merci de ta réponse et du code.

Mais cela ne marche pas, en effet, sur mes feuilles il y a aussi des photos ou des images, et ton code prend une image ou une photo au hasard sur la feuille active et cette image /photo suit la cellule que je sélectionne, si elle se trouve sur la partie gauche de la feuille, l'image/phot se retrouve sur la partie gauche et pas moyen qu'elle revienne à sa place, sauf de la remettre manuellement;

Ce que voudrais, si c'est possible bien sur, c'est que mon bouton reste à la même place ou du moins qu'il semble rester à la même place quand je descend vers le bas.

La partie gauche, là où il n'y a rien, se trouve des captures d'écrans de graphiques.

Merci en tout cas d'avoir bien voulu m'aider

Cordialement

36exemple.xlsm (267.93 Ko)

Bonsoir à tous,

petite modif de la proposition de banzaï.

Le bouton se placera sur la 5ème colonne, 2ème ligne de la partie de la feuille visible :

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    Dim Shp, c As Range
    On Error GoTo fin
    Set Shp = Sh.DrawingObjects("Bouton1")
    Set c = Cells(ActiveWindow.ScrollRow, ActiveWindow.ScrollColumn).Offset(1, 4)
    Shp.Left = c.Left
    Shp.Top = c.Top
fin:
    On Error GoTo 0
End Sub

eric

edit:

ton code prend une image ou une photo au hasard

Pas au hasard, la n°1

Il te suffit de renommer et d'appeler ton bouton par son nom.

J'ai modifié le code et le fichier en conséquence.

103classeur2.xlsm (38.76 Ko)

Bonsoir Benead,

Merci pour ta réponse et ton code.

Je ne l'ai pas encore essayé, mais dès que c'est fait je te tiens au courant.

Merci à toi

Cordialement


Bonsoir Eriiic

Merci à toi aussi pour ta réponse et ton code.

Bon celui là fonctionne à condition qu'il n'y est que le bouton sur la feuille, hors il y a plusieurs autres forme telles que banières et aussi des images. Ton code prend au hasard une des formes ou images et la déplace comme ton code le lui dit.

Sur l'exemple cela fonctionne bien, mais sur mon fichier complet cela provoque un peu la pagaille.

Crois-tu qu'il existe une solution pour lui dire la forme qu'il doit traiter ?

Merci à toi

Cordialement

Bon ba ton exemple marche fort bien, mais sur mon fichier cela ne fonctionne pas.

Tu pourrais mettre ce code sur mon fichier exemple et le mettre en PJ s'il te plait.

Y'a quelque chose qui m'échappe.

Merci de ta patience

Bonjour,

Nomme ton bouton Bouton1 par exemple (à saisir là où s'affiche la ref de la cellule sélectionnée, au-dessus des n° de ligne, et valider).

Mettre ce nom dans le code.

Et j'ai édité mon post suite à ta remarque que tu avais plusieurs objets. Tu as peut-être testé avant.

Sinon tu n'as pas mis ton fichier...

eric

Bonjour Eriiic,

Désolé pour le fichier, je l'avais mis mais pas dans mon poste de demande, dans une réponse.

Mais je savais qu'il y avait quelque chose qui m'échappait, parce que dans ton fichier j'avais anuler ton bouton et refais un autre et ça fonctionnait pas avec ce bouton, et c'est avec ta dernière réponse de ce matin que j'ai capté ( ouf pas trop tôt ! j'ai le cerveau lent !) nommer la forme ou l'image dans la partie cordonnées/nom de la cellule ou de l'objet.

Maintenant CA MARRRCHEEEE ! ! !

Merci beaucoup à ceux qui se sont penchés sur mon problème et principalement à toi !

A bientôt

Cordialement

Il faut renommer tes boutons et ça marche bien.

eric

edit:

seul pb, il est trompé par les cellules fusionnées. De toutes façon il faut les éviter au maximum.

Par exemple ta 1ère cellule affichée est P1.

Comme tu as fusionné M1:W1 (on se demande pourquoi, c'est vide) il va décaler de 4 colonnes et 1 ligne de ta fusion...

eric

110exemple.xlsm (272.89 Ko)

Ce problème n'a que peu d'importance pour ce fichier car l'ancrage ne fait pas référence à des cellules fusionnées. Mais j'en tiendrais compte pour d'éventuels autres fichiers.

Effectivement il y a des cellules fusionnées vides, mais il faut savoir que pour joindre ce fichier il a fallu que je sabre pas mal de choses pour avoir un fichier avec maxi 330 KO. A l'origine il fait 3,5 MO. Il y a en plus des images de graphiques, des banderoles etc.. et des couleurs par groupe de colonnes, par cellules fusionnées etc... Il comporte une bonne dizaine de feuilles avec pour certaines + ou - 500 lignes (pour l'instant). J'attache beaucoup d'importance à l'aspect visuel de mes dossiers.

Merci encore une fois à vous tous et comme j'aime travailler sur Excel et que je suis en train d'apprendre le VB/VBA, vos réponses m'aident à progresser.

A bientôt certainement au détour d'un post. J'aurais certainement d'autres demandes à formuler, mon dossier étant en perpétuel amélioration.

Encore merci !

Cordialement

bonjour

je relance cette discussion car il m'intéresse

est ce qu'il est possible de faire bouger un bouton et qu'il suive selon la barre de défilement gauche ?

merci a vous

Bonjour,

as-tu essayé les solutions proposées ici ?

Sur ma proposition tu indiques en quelle cellule visible apparait le bouton. Modifier ...Offset(1, 4) pour choisir ligne et colonne.

Sinon tu as la solution la plus simple et sans prise de tête : le mettre en colonne A et figer la colonne.

eric

Rechercher des sujets similaires à "bouton suiveur"