Copier/coller valeur =LIEN_HYPORTEXTE en gardant le lien /Urgent
Marc
-
eriiic Messages postés 24603 Date d'inscription Statut Contributeur Dernière intervention -
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
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:
- Copier/coller valeur =LIEN_HYPORTEXTE en gardant le lien /Urgent
- Lien url - Guide
- Créer un lien pour partager des photos - Guide
- Historique copier coller - Guide
- Copier coller pdf - Guide
- Copier-coller - Accueil - Informatique
4 réponses
Bonjour,
si j'ai bien compris une proposition qui convertit les liens de la plage sélectionnée :
https://www.cjoint.com/?DJknTlAWyiY
eric
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
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 !
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 !
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.
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.
à tester, fichier2 doit être ouvert :
eric
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