Modification chemin sur plusieurs liens Hypertexte

Lakota

XLDnaute Nouveau
Bonjour,

Suite à l'envois d'un fichier excel par mail, celui-ci m'est revenu avec tous mes liens hyper texte modifiés.
Je cherche donc un moyen pour tous les remettre à jour en même temps.

Le chemin correcte est celui-ci :

\\FR00001\Bureau\Projet\AAA\BBB
\\FR00001\Bureau\Projet\CCC\DDD

Le chemin erroné que j'ai maintenant est celui-là :

D:\Profils\lakota\APPDATA\LOCAL\TEMP\wz0f9a\AAA\BBB
D:\Profils\lakota\APPDATA\LOCAL\TEMP\wz0f9a\CCC\DDD


Je cherche donc un moyen de remplacer le début des liens D:\Profils\lakota\APPDATA\LOCAL\TEMP\wz0f9a\ par \\FR00001\Bureau\Projet\

J'ai essayer chercher remplacer, mais ça ne fonctionne pas.

Merci par avance pour votre aide.

Salutations
 

didus

XLDnaute Occasionnel
Désolé, je n'ai pas été alerté de la réponse, je vous joins le fichier concerné réduit

la colonne à compléter est la colonne C
j'ai mis en surbrillance jaune les cellules vides de liens (une partie)

j'ai aussi laissé les macros utilisées si ça peut rendre service
par exemple saisie auto des commentaires et leur mise en forme, tris etc...

il y a au début des macros une ébauche pour les liens hypertext

merci d'avance
 

Pièces jointes

  • fichier test.xlsx
    101.4 KB · Affichages: 4

job75

XLDnaute Barbatruc
Bonsoir didus,

Voici 2 solutions, la 1ère crée les liens hypertextes après les avoir tous supprimés :
VB:
Sub Creer_Liens1()
Dim i&
With [A1].CurrentRegion
    .Columns(3).Hyperlinks.Delete 'RAZ
    For i = 2 To .Rows.Count
        .Parent.Hyperlinks.Add .Cells(i, 3), .Cells(i, 3)
    Next
End With
End Sub
La 2ème crée seulement les liens qui n'existent pas :
VB:
Sub Creer_Liens2()
Dim i&
For i = 2 To [A1].CurrentRegion.Rows.Count
    If Cells(i, 3).Hyperlinks.Count = 0 Then ActiveSheet.Hyperlinks.Add Cells(i, 3), Cells(i, 3)
Next
End Sub
PS : il n'y a aucune macro dans un fichier .xlsx...

A+
 

didus

XLDnaute Occasionnel
Bonjour,
Encore en retard le didus, merci pour les réponses taillées sur mesure, j'ai testé les deux formules qui ont toutes les deux leur intérêt, je vais devoir travailler la compréhension de cette minuscule ligne de code, car malgré son efficacité, je n'ai pu l'assimiler à la lecture
De la compréhension nait l'efficacité...
Un tout grand merci Job75 et désolé pour le xslx que je n'ai pas compris, lui non plus, pas trop doué le garçon,
Amitiés
 

Florence Requilé

XLDnaute Nouveau
Bonjour,

Je souhaiterais modifier un fichier qui a 1300 lignes et dans chaque ligne se trouve entre 2 à 15 liens hypertextes, séparés par des virgules.
En effet, les liens ne finissent pas par ".jpeg" alors qu'ils devraient.. Comment puis-je faire en passant par la macro (je n'ai jamais utilisé VBA)?

Un tout grand merci pour votre aide!
 

Florence Requilé

XLDnaute Nouveau
Bonjour Florence, bienvenue sur XLD,

Des liens concaténés ne sont plus des liens hypertextes.

Vous voulez les séparer ? Pour les mettre où ? Soyez plus claire et joignez un fichier anonymisé.

A+
Bonjour Job75,

Voici un exemple en fichier joint.
Ce sont 20 articles, qui sont repris ligne par ligne et pour chaque article, il y a 2 à 15 photos associées.
Nous ne souhaitons pas séparer les liens, juste modifier les fins des liens afin qu'ils finissent tous par ".jpeg" et ainsi qu'ils fonctionnent correctement.
Ma question vous semble-t-elle plus claire?

Merci beaucoup d'avance!
 

Pièces jointes

  • image produit.xlsx
    12.5 KB · Affichages: 6

job75

XLDnaute Barbatruc
Bonjour Florence,

Entrez cette formule en D5 et tirez-la vers le bas :
Code:
=SUBSTITUE(SUBSTITUE(SUBSTITUE(C5;" ";);",";".jpeg , ")&".jpeg";".jpeg.jpeg";".jpeg")
Puis Copier-Collage spécial-Valeurs de D5: D24 sur C5:C24.

Fichier joint, la colonne D peut être effacée.

Mais je ne vois pas à quoi cela va servir puisque comme je l'ai dit les liens ne peuvent pas fonctionner.

A+
 

Pièces jointes

  • image produit(1).xlsx
    14 KB · Affichages: 1

Florence Requilé

XLDnaute Nouveau
Bonjour Florence,

Entrez cette formule en D5 et tirez-la vers le bas :
Code:
=SUBSTITUE(SUBSTITUE(SUBSTITUE(C5;" ";);",";".jpeg , ")&".jpeg";".jpeg.jpeg";".jpeg")
Puis Copier-Collage spécial-Valeurs de D5: D24 sur C5:C24.

Fichier joint, la colonne D peut être effacée.

Mais je ne vois pas à quoi cela va servir puisque comme je l'ai dit les liens ne peuvent pas fonctionner.

A+
Bonjour Job75,

En effet, je travaille une Google Sheet sur Drive et je me rends compte que le comportement n'est pas pareil que sur Excel!
Sur Google Sheet, les liens séparés par des virgules fonctionnent bien comme des liens hypertextes individuels, même s'ils se trouvent sur la même cellule (voir capture d'écran).
Il n'y a donc rien à faire à ce sujet?
Merci pour votre patience!
 

Pièces jointes

  • Capture d’écran 2023-04-26 à 15.46.55.png
    Capture d’écran 2023-04-26 à 15.46.55.png
    311.7 KB · Affichages: 9

Statistiques des forums

Discussions
314 628
Messages
2 111 322
Membres
111 102
dernier inscrit
driss touzi