Lien avec formule vers dernière ligne du tableau

Résolu
laurent81 Messages postés 15 Date d'inscription   Statut Membre Dernière intervention   -  
laurent81 Messages postés 15 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
J'ai un tableau de compta où les lignes augmentent à chaque nouvelle saisie.
En A1 j'ai la valeur du numéro de la dernière ligne du tableau (=MAX(A$101:A1000).
Si j'en suis à la ligne 547, j'aimerais réer un lien pour accéder directement à A547 pour continuer ma saisie.
Un truc du style =LIEN_HYPERTEXTE("A";A1) ou =LIEN_HYPERTEXTE(INDIRECT("A"&A1).
Pour l'instant j'ai dégrossi mon besoin en créant quelques cellules me renvoyant vers A200, A400, etc ...
Merci pour votre aide
Laurent

2 réponses

  1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour,

    avec un clic droit de la souris
    Option Explicit
    '------------------
    Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
    Dim derlig As Integer
    derlig = Columns("A").Find(what:="*", searchdirection:=xlPrevious).Row
    Cells(derlig, "A").Select
    End Sub


    La maquette
    https://mon-partage.fr/f/XUUH8aUO/

    comment installer ?
    faire un copier de cette macro
    clic droit sur le nom de l'onglet de la feuille concernée (en bas de l'écran)
    visualiser le code
    coller
    si tu n'as jamais utilisé de macros, cocher menu options-macros-sécurité- niveau moyen

    0
    1. laurent81 Messages postés 15 Date d'inscription   Statut Membre Dernière intervention   8
       
      Merci Michel pour ta réponse et ta réactivité.
      Deux "finesses":
      - l'accès se fait bien, mais où que je sois dans la feuille, ce qui pourra être parfois gênant. J'aurais aimé que cela fonctionne à partir d'une cellule précise (qui est accessible via la ligne figée en haut de page)
      - vu que dans la colonne A j'ai mis des formules pour afficher le numéro de la dernière ligne de saisie [=SI(B547<>"";LIGNE();"")], ce qui me permet d'avoir en A1 en permanence le numéro de cette dernière ligne (tu suis ?!), ta macro me renvoie sur A1000 et non pas A547 (à ce jour)
      Tu as encore qq mn de dispo pour résoudre le premier pb (pour le second, il me suffit de mettre B au lieu de A dans ta macro)
      (j'avais aussi essayé de passer par le gestionnaire des noms avec pour nom "max" et faisant référence à "=MAX(Grand_Livre!A$5:A1000)", mais ce nom n'est pas retrouvé lorsque j'essaie de créer un lien vers ce nom)
      Merci encore à toi
      0
    2. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
       
      Bonjour

      Je n'ai rien compris à tes commentaires
      0
    3. laurent81 Messages postés 15 Date d'inscription   Statut Membre Dernière intervention   8
       
      Désolé si je n'ai pas été clair pour toi. J'essaie de faire mieux !!
      - ta macro marche, mais sur toutes les cases du tableau, j'aurais préféré que ce ne soit que sur une seule cellule (A1 en l'occurrence)
      - quelle que soit ma dernière ligne de saisie, la macro me renvoie à la cellule A1000 (et non pas à ma dernière ligne de saisie), car dans la colonne A j'ai mis une formule (jusqu'à A1000) qui affiche le numéro de ligne dès que j'ai fait une nouvelle saisie (=SI(B547<>"";LIGNE();"")). La macro ne renvoie donc pas à la dernière cellule affichant du contenu, mais à la dernière qui n'est pas vide.
      Est-ce plus clair ???
      Sinon je t'envoie un fichier test
      Merci d'avance
      Laurent
      0
  2. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour,
    excuse le retard, occupé par ailleurs

    A mon avis ta colonne A ne sert à rien puisque c'est la dernière valeur écrite dans la colonne B qui va permettre de sélectionner la ligne en dessous pour une nouvelle saisie

    maquette
    https://mon-partage.fr/f/2D1YOlvs/

    0
    1. laurent81 Messages postés 15 Date d'inscription   Statut Membre Dernière intervention   8
       
      Génial Michel !
      Connaissant un peu le langage VBA j'ai bien vu la manip et la façon dont tu as limité l'application de la macro à la cellule $A$1 et positionner le curseur sur la nouvelle ligne de saisie.
      Sujet résolu donc.
      Merci merci
      Bien à toi
      Laurent
      0