Copier/coller valeur =LIEN_HYPORTEXTE en gardant le lien /Urgent

Marc -  
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

J'utilise la fonction =LIEN_HYPERTEXTE(emplacement;nom ) en utilisant des fichiers extérieurs.
Dans un soucis de confidentialité, je souhaite casser les lien vers le fichier exterieur ce qui se traduit par un copier/coller valeur.
Pb: la fonction ne créée par de lien hypertexte à proprement parler et donc je perd ce lien.

L'idéal serrai une macro qui fera :
-copier lien
- coller valeur "nom"
-insérer lien hypertexte (emplacement)

Je ne sais pas écrir de macro !

Merci de votre aide

A voir également:

4 réponses

g Messages postés 1265 Date d'inscription   Statut Membre Dernière intervention   577
 
Bonjour,

Il ne faut pas faire Coller Valeur, mais Coller.

Cordialement.
0
Marc
 
Ca ne casse pas le lien externe :/
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Bonjour,

si j'ai bien compris une proposition qui convertit les liens de la plage sélectionnée :
Sub convertirLien()
    Dim c As Range, lien As Variant
    For Each c In Selection
        If Left(c.Formula, 11) = "=HYPERLINK(" Then
            lien = Split(Replace(Mid(c.Formula, 12, Len(c.Formula) - 13), """", ""), ",")
            c = c.Value
            ActiveSheet.Hyperlinks.Add c, lien(0) ', , , lien(1)
        End If
    Next c
End Sub

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

eric
0
Marc
 
C'est cela ! J'ai juste un petit si(...) à tuer.
La formule est la suivante :
=SI(B32="";"";SI(ESTNA(RECHERCHEV(B32;'DO'!$C:$L;10;FAUX));"";LIEN_HYPERTEXTE(RECHERCHEV(B32;'DO'!$C:$J;8;FAUX);RECHERCHEV(B32;'DO'!$C:$J;4;FAUX))))

Savez vous ajuster ?

Dans tout les cas merci !
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Pourquoi ne pas tout dire la 1ère fois ?
On pourra y réfléchir avec 2 fichiers (réduits à l'essentiel, 4-5 lignes et tous les cas de figure) pour les tests.

eric

PS: si tu pouvais enlever le 'urgent' de ton titre stp. Ici on bosse bénévolement au rythme qu'on veut, et sur ce qu'on veut. Après il faut s'adresser à un professionnel qui laissera tomber tout le reste si tu y mets le prix.
0
Marc
 
Je pensais pouvoir gerer cette étape seul. Joint un extrait de mon fichier. A noter que la feuil 1 est en fait un fichier à part. L'objet est de remplacer la colonne J par un lien hypertexte.

Encore une fois merci
Marc

http://cjoint.com/?3Jko6xLsPBK
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
à tester, fichier2 doit être ouvert :
Sub convertirLien()
    Dim c As Range, lien As Variant, pos As Long
    Dim sh2 As Worksheet, c2 As Range
    Set sh2 = Workbooks("classeur1.xlsm").Sheets("Feuil1")
    For Each c In Selection
        pos = InStr(c.Formula, "HYPERLINK(")
        If pos > 0 Then
            Set c2 = sh2.[C:C].Find(Cells(c.Row, 2), LookIn:=xlValues, lookat:=xlWhole)
            If Not c2 Is Nothing Then
                lien = c2.Offset(, 7)
                c = c.Value
                ActiveSheet.Hyperlinks.Add c, c2.Offset(, 7)
            End If
        End If
    Next c
End Sub

eric
0
marc
 
Merci beaucoup Eric. Cela répond exactement à mon besoin !
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Petit détail : tu peux enlever lien=... et la déclaration de cette variable. Elle ne se justifiait plus, je ne l'ai pas utilisée.
eric
0