Renvoi a la ligne en fonction d'une image

(Titre peu accrocheur, car je ne sais comment l'expliquer)

Bonjour,

Alors voila, j'ai enfin fini mon fichier xls (ceux qui ont vu mes derniers post)

je coince sur un point

j'ai inséré des images pour faire un sous menu (j'ai 4 feuilles comme ca, je ne vous en joins qu'une)

j'ai figé les volets

je m’étais dis : clic droit / lien hypertexte/ renvoi a une cellule de la ligne

Mais voila, le rendu ne renvoie pas comme je le souhaite, donc j'en viens a vous pour savoir si vous avez une idée, une hypothese ou même le résultat

Par avance, merci

14essai.xlsx (63.50 Ko)

Bonjour,

en cliquant sur la première image, vous voulez que la cellule BR!J93 s'affiche comme étant la première ligne visible juste en dessous de la ligne figée ?

Alors je vous conseille de créer une petit procédure :

Sub BR_J93()
Application.Goto Reference:=Range("BR!J93"), scroll:=True
End Sub

et de lier le bouton à ce code.

Mieux pour que le code fonctionne même s'il y a des ajouts ou suppression de lignes, nommez sous Excel la cellule cible :

Sub BR_J93()
Application.Goto Reference:=Range("Cible"), scroll:=True
End Sub

où Cible sera la cellule BR!J93, mais en cas d'ajout de ligne au dessus sa référence restera Cible, même si sa nouvelle adresse est BR!J104.

@ bientôt

LouReeD

@LouReeD

j'ai pas tout compris,

oui je veux que le renvois envoi juste en dessous de la ligne figer

j'ai partiellement compris le code, mais comment j'affecte l'image au code ?

(sachant que dans tout mon programme, je dois avoir une dizaine d'images comme ca)

Bonjour,

mise en place d'une procédure "générique" afin de ne pas répéter les codes :

Sub Cible()
    Dim Adr As String
    ' on récupère le nom de l'image cliquée qui correspond à l'adresse de la cellule cible avec le "_" en premier caractère
    Adr = Application.Caller
    ' on enlève le premier caractère, le "_", afin d'avoir l'adresse de la cellule cible
    Adr = Right(Adr, Len(Adr) - 1)
    ' on demande à scroller sur cette adresse
    Application.Goto Reference:=Range(Adr), Scroll:=True
End Sub

Grace à Application.Caller, on récupère le nom de l'image qui vient d'être cliquée.

On supprime de ce nom le "_" qui se trouve devant.

Puis on demande de "scroller" pour aller à l'adresse demandée.

Ce qu'il faut faire :

sur chaque image que l'on clique pour accéder à une adresse de cellule qui doit engendrer un scrolle :

Supprimer le lien hypertexte de l'image (en effet s'il y a une macro et un lien sur un bouton, seul le lien fonctionnera)

Affecter à chaque image la macro "Cible"

Donner à chaque image un nom qui correspond à "_" & l'adresse de la cellule cible.

Exemple pour la cellule A!J128 :

Ecrire comme nom d'image : _A!J128

Maintenant quand vous cliquez sur l'image la cellule A!J128 se retrouve en haut à gauche de l'écran.

Mais comme dit sur un message précédent, cela implique que les "cibles" ne changent pas d'adresse à moins de nommer la cellule elle-même.

Du coup la cellule A!J128, vous la nommez par exemple Cel_1, l'image cliquée pour "aller dessus" se nommera _Cel_1

Du coup le code VBA supprimera le premier "_" et ira sur l'adresse de la cellule nommée Cel_1 !

Le fichier avec les deux solutions : En MP

Personnellement je préfère la deuxième qui permet une modification de la structure des feuilles sans avoir à renommer tous les boutons !

@ bientôt

LouReeD

16compta-sasu.rar (310.34 Ko)

Grand merci,

je ne comprenais pas le concept

et pourquoi, car je ne savais pas qu'on pouvais renommer une image

Il ne me reste qu'une étape, mais en fouillant partout ce n'est pas réalisable, donc ; du coup je viens de le finir .

Là c'est moi qui ne comprend pas...

@ bientôt

LouReeD

Loureed,

Je vais dire que je n'avais pas compris ton code car je ne savais pas pour les images

Et le truc qui me reste serait d'avoir dans l'onglet PCG que les comptes "actifs" dans la balance.

Mais franchement je ne sais pas comment m'y prendre

LouReed

excuse moi de te déranger une dernière fois (c'est promis)

je me suis servi de ce que tu m'as expliqué et envoyé, et du coup j'ai adapté mes tableaux en conséquences

et j'aurais besoin de tes "lumières". (au cas tu as le fichiers encore) dans l'onglet PCG, j'avais mis un code qui renvoyer en tapant le N de compte. du coup je me demandais si il était possible si dans l'image "recherche N° de compte", au lieu de renvoyer a une cellule, il pouvait ouvrir une sorte de userform qui renverrai au compte

(j'ai joins la feuille au cas ou avec un dessin de ce que je souhaiterai )

Merci d'avance pour vos réponses

10classeur1.xlsm (113.91 Ko)
Rechercher des sujets similaires à "renvoi ligne fonction image"