Les hyperliens dans Excel se modifient seuls

Résolu
Hello,

Voilà.. Depuis que l'entreprise où je fais mon stage est passée de la version 2003 à 2010 d'Office il y a pas mal de souci dont.. :

Les liens créés dans Excel, vers un pdf sur le serveur par exemple, ne fonctionnent plus.. En effet au lieu que la syntaxe soit : "\\serv596\Services\ 51 - communication\....\fichier.pdf "
C'est devenu : "../../ 51 - communication/..../fichier.pdf "
J'ai donc réouvert ce même fichier sur un poste équipé d'Excel 2003 et même problème..

Dans les deux versions si on modifie à la main le lien ok ça marche mais après ça se change tout seul !..
Parmi une dizaine de lien un seul fonctionnait !..

Help ='( J'en ai marre il n'y a que des soucis et mon maître de stage est en congés !..

Merci d'avance

7 réponses

  1. Merci à tous ! ; )
    0
    1. J'ai trouvé comment créer ma macro ! ; ) Le bouton Visual Basic dans l'onglet Développeur !

      Code :

      Sub ReplacePartHyperlinkAddress()
      Dim hLink As Hyperlink
      Dim wSheet As Worksheet
      Dim chainecherch As String
      Dim nouvchaine As String
      'demande quelle chaine est à remplacer
      chainecherch = InputBox("Quelle est la chaine à remplacer dans les liens hypertexte,svp")
      'demande la nouvelle chaine à insérer
      nouvchaine = InputBox("Nouvelle valeur à insérer dans les liens hypertexte, svp")
      'traite toutes les feuilles
      For Each wSheet In Worksheets
      For Each hLink In wSheet.Hyperlinks
      'ici remplace l'adresse du lien hypertexte
      hLink.Address = Replace(hLink.Address, chainecherch, nouvchaine)
      'ici remplace le texte afiché
      hLink.TextToDisplay = Replace(hLink.TextToDisplay, chainecherch, nouvchaine)
      Next hLink
      Next wSheet
      End Sub
      0
      1. Contributeur
        salut
        sélectionne ta plage de cellules puis appuie sur les touches Ctrl et H en même temps
        mettre \ dans chercher et / dans remplacer et cliquer sur remplacer tout
        qu'est-ce que ça donne ?

        voir aussi dans les options de correction auto ce qu'il y a de cocher pour tout ce qui est internet et réseau
        0
        1. ça ne marche pas puisque ça chercher dans le nom de la cellule et pas dans le lien n qui se trouve derrière =/
          0
        2. Heu j'ai essayé de simplement rechercher un "e" et il me Excel me dit qu'il ne trouve rien oO Pourtant il y en a des "e" !
          0
        3. Pour que les liens soient fonctionnels, il faudrait aussi remplacer

          ../..
          par
          \\serv596\Services\

          Si vraiment tu coinces, je te propose d'envoyer ton fichier (ou une partie) en pièce jointe.
          0
      2. Comment on utilise crée une macro ?..

        Parce que ça me prend le chou là ><
        0
        1. avec une macro de ce type:
          qui extrait tous les liens de B1 à B300 et les colle 4 colonnes plus loin
          quand je presse le raccourci clavier: Ctrl+y

          Sub extractionhypertexte()   
          '   
          ' extractionhypertexte Macro   
          ' Macro enregistrée le 31/08/2010 par tchernosplif   
          '   
          ' Touche de raccourci du clavier: Ctrl+y   
          '   
          Dim Cell As Range   
          On Error Resume Next   
          For Each Cell In Range("B1:B" & Range("B300").End(xlUp).Row)   
          
          Cell.Offset(0, 4) = Cell.Hyperlinks(1).Address   
          Next Cell   
          
          End Sub


          !!! il faut attribuer le raccourci clavier !!!

          il est possible de mettre un offset de 0 pour réécrire les liens dans les mêmes cellules.

          si quelqu'un sait faire la substitution de caractères / \ via une macro ...
          0
          1. ça m'aide en quoi ?..
            0
        2. Ah pas idiot.. Mais faudrait faire toutes les cellules.. Et le début du lien je fais comment ? =S
          0
          1. tu peux toujours essayer de substituer les / par des \
            et réécrire le lien hypertexte

            par exemple, imaginons un lien hypertexte dans la cellule A1

            =LIEN_HYPERTEXTE(SUBSTITUE(A1;"/";"\"))
            0
            1. ça ne marche pas =S
              0
            2. ça me m'affiche le même nom que la cellule, se met en bleu souligné (comme s'il y avait un lien hypertexte), mais aucun lien n'est rattaché !
              0