Fonction si et lien Hypertexte

Résolu
Bonjour,

Depuis quelques temps, je bloque sur un combinage de "fonction si et Lien Hypertexte" dans excel.

Ce que je souhaiterais faire serait d'accéder directement à la cellule Souhaitée (A186) dans ma feuille afin de ne pas à avoir à naviguer dans cette même feuille qui est bien chargée en info. Seulement, lorsque je note la formule, elle semble bonne mais n'envoie nul part. Le lien Hypertexte est actif mais lorsque je clique dessus, rien ne se passe.

Pour mieux visualiser, je laisse la copie de ma formule.

=SI(L4="Saisie évo en % IDV Mensuel";LIEN_HYPERTEXTE('[Renseignement_IDV_2013]Renseignement IDV 2013'!A186);"")

Autre info, le lien doit m'envoyer dans cette même feuille sans changer de fichier. Je veux juste accéder à cette cellule A186.

Si quelqu'un possède une info, je suis preneur et je remercie dors et déjà toute personne qui aurait la réponse

6 réponses

  1. Bonjour,

    j'avais une possibilité sans macro, que j'ai essayé de poster sans succès, la voila quand même si elle est prise en compte

    https://www.cjoint.com/?CJEibnOhlpt

    A+
    Mike-31

    Une période d'échec est un moment rêvé pour semer les graines du savoir.
    0
    1. Bonjour à vous deux,

      Merci beaucoup pour votre aide, j'ai opté pour la solution des macros.

      Merci encore !! :-)
      0
      1. Contributeur
        Bonjour à vous deux,

        Pour info :
        Je viens de tester avec la formule que j'avais proposée et chez moi cela fonctionne parfaitement. Bien entendu il faut que la feuille soit renommée 'Renseignement IDV 2013' et que le classeur s'appelle Renseignement_IDV_2013.xlsx

        J'ai Excel 2010
        Cordialement,
        0
        1. Bonjour Pilas 31,

          Pourrais tu taper textuellement la formule qui fonctionne chez toi ?

          Merci
          0
        2. Contributeur
          Bonjour,

          Voila la formule qui marche chez moi :
          =SI(L4="Saisie évo en % IDV Mensuel";LIEN_HYPERTEXTE("[Renseignement_IDV_2013.xlsx]'Renseignement IDV 2013'!A186";"JANVIER");"")

          J'ai ajouté "JANVIER" juste pour avoir un nom dans le champ de l'hyperlien mais cet argument est facultatif.
          0
        3. Re bonjour Pilas,

          Je viens de faire un copier coller de ta formule mais ça bug toujours. Ce doit être mon Excel qui a un petit problème. Pour les macros proposées, souhaitons qu'open Office prenne en charge ce type de fonctionalité car je fais le tableur sur Excel mais il devra être compatible au format .ods

          Cordialement.
          0
      2. Bonsoir et merci à via55 pour ton aide.

        Comme demandé, je fourni le lien menant à mon fichier allégé.
        Petite info complémentaire, la formule que je souhaite obtenir ne sera que le lancement de ma "fonction si + lien hypertexte" mais j'ai besoin de ce début fonctionnel afin d'en comprendre le mécanisme pour le reproduire ensuite. Pour rappel, la cellule cible est la A186.
        (partie concernée en bleu).

        Voici les formules testées qui n'ont pas fonctionné :

        =SI(L4="Saisie évo en % IDV Mensuel";LIEN_HYPERTEXTE("Renseignement IDV 2013!A186");"")

        et

        =SI(L4="Saisie évo en % IDV Mensuel";LIEN_HYPERTEXTE("[Renseignement_IDV_2013.xlsx]'Renseignement IDV 2013'!A186");"")

        http://cjoint.com/?0JDwjkPyk0j

        Merci encore et Bonne soirée !!

        (PS: si besoin de plus d'info, voici mon Mail: ***@***)
        0
        1. Effectivement impossible de faire fonctionner le lien hypertexte malgré plusieurs essais :
          création d'un nouveau classeur avec copie des données et enregistrement avant de mettre le lien hypertexte; il fonctionne alors une fois mais plus après ...
          Il y aurait un bug avec les liens hypertexte selon les versions d'Excel

          je te propose donc une solution alternative avec une macro (plus efficace et plus sûre)

          https://www.cjoint.com/?0JEa0XG90sU

          Macro placée dans le Worksheet de la feuille

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

          If Target.Column <> 12 Or Target.Row <> 5 Then Exit Sub ' si ce n'est pas la cellule en ligne 5 colonne 12 rien ne se passe

          If Cells(4, 12).Value <> "Saisie évo en % IDV Mensuel" Then Exit Sub 'si autre chose que Saisie Mensuel en L4 rien ne se passe non plus

          ' sinon positionnement sur la cellule ligne 186 de la colonne 1
          ActiveSheet.Cells(186, 1).Select

          End Sub

          Un double-clic en L5 renvoie donc en A186 si bon choix en L4

          Cdlmnt
          0
        2. Bonjour via55,

          Effectivement, ta macro fonctionne également chez moi.
          Cependant, je ne maîtrise pas du tout les macros car je n'ai jamais eu recourt à cette méthode auparavant. Donc, je ne sais pas accéder au "worskheet" de la feuille.

          Si tu pouvais me donner la manipulation si cela ne te dérange pas.

          Merci d'avance :-)

          A bientôt
          0
        3. Bonjour,

          Alt + F11 ouvre l'editeur de macro
          Dans la fenetre de gauche tu cliques sur le nom de ta feuille dans l'arborescence
          Dans la fenetre de droite tu bascules de General (en haut à gauche) à Worksheet
          et tu colles la macro

          Cdlmnt
          0
        4. Merci beaucoup, je comprends un peu mieux mais le langage, je ne le maîtrise pas au delà de ce que tu as noté.

          Pourrais tu, si tu l'acceptes, Me faire la macro complète si je te donne les contraintes ? Juste pour la case sur laquelle fonctionne la macro, en l'occurrence "L5". De cette façon, je connaitrais, je pense les principes de base.

          Voici la contrainte bien entendu écrite en Français.

          Début

          L5=Si "L4" = "saisie évo en % IDV Mensuel" alors se rendre directement sur case" A186" sinon si "L4" = "Saisie évo en % IDV Excercice" alors se rendre directement sur case "A196" sinon si "L4" = "Saisie évo en % IDV 12 Derniers Mois" alors se rendre directement sur case A205 sinon rien.

          Fin.

          Voilà.

          Bien sur, je n'oublie pas de te remercier encore et... si j'avais su, j'aurais mieux bossé sur Excel à l'époque où j'étais encore en cours...

          Bonne journée.
          0
        5. Bonjour,

          La macro : (que tu peux adapter pour d'autres cellules (en recopiant une ligne et changeant les coordonnées entre les les parenthèses)

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

          If Target.Column <> 12 Or Target.Row <> 5 Then Exit Sub ' si ce n'est pas la cellule en ligne 5 colonne 12 rien ne se passe

          If Cells(4, 12).Value ="Saisie évo en % IDV Mensuel" Then ActiveSheet.Cells(186, 1).Select : Exit Sub 'si Saisie Mensuel en L4 positionnement sur la cellule ligne 186 de la colonne 1

          If Cells(4, 12).Value ="Saisie évo en % IDV Exercice" Then ActiveSheet.Cells(196, 1).Select : Exit Sub

          If Cells(4, 12).Value ="Saisie évo en % IDV 12 Derniers Mois" Then ActiveSheet.Cells(205, 1).Select : Exit Sub

          End Sub

          Cdlmnt
          0
      3. Contributeur
        Bonjour,

        Je pense qu'il faut modifier le texte du lien comme suit :
        =SI(L4="Saisie évo en % IDV Mensuel";LIEN_HYPERTEXTE("[Renseignement_IDV_2013.xlsx]'Renseignement IDV 2013'!A186");"")

        Mettre des guillemets doubles sur tout le texte du lien
        Mettre des guillemets simples pour le nom de la feuille car il y a des espaces
        Mettre l'extension du fichier

        A tester
        Cordialement,
        0
        1. Bonjour pilas

          Non pas besoin de l'extension du fichier par contre pour les guillemets nous sommes d'accord

          Cdlmnt
          0
        2. Re Bonjour à tous,

          en 1er lieu, je tiens à vous remercier de votre aide précieuse.
          Cependant, soit je ne comprends rien, auquel cas il faudrait que je m'inquiète :-), soit mon Excel Bug ?

          J'ai tapé les différentes formules que vous m'avez fourni mais aucunes ne fonctionnent.
          Aussi, je vous laisse mon adresse mail et j'ai mis de côté une ébauche de mon classeur au cas où le problème vous intéresserait et si je ne vous ennuie pas.

          Merci d'avance
          0
        3. Bonsoir

          Pas d'adresse mail sur le site mais tu peux poster un exemple de ton fichier allégé sur cjoint.com et indiquer ensuite ici le lien fourni

          Cdlmnt
          0
      4. Bonjour

        le lien hypertexte doit être placé entre guillemets

        LIEN_HYPERTEXTE("[nom du classeur]nom de la feuille!adressecellule")

        Cdlmnt
        0