automatiser 1693 hyperliens

Bonjour à tous !

Je suis sur Libre Office Calc 3.5.7.2 .
J'ai une base de données de 1693 photos sur tableur. Voir exemple. La
colonne A comprend l'hyperlien qui permet d'afficher la photo. Les
hyperliens des 1693 photos sont mauvais. Je veux remplacer les 1693
hyperliens mauvais par les 1693 hyperliens corrects qui sont en colonne B. A
raison d'une centaine par jour et sans erreur j'en ai pour 17 jours....
N'est-il pas possible d'automatiser ce petit travail ? Merci à celui qui me
fera gagner beaucoup de temps. test.ods
<http://nabble.documentfoundation.org/file/n4043076/test.ods>

Bonjour à tous !

Je suis sur Libre Office Calc 3.5.7.2 .
J'ai une base de données de 1693 photos sur tableur. Voir exemple. La
colonne A comprend l'hyperlien qui permet d'afficher la photo. Les
hyperliens des 1693 photos sont mauvais. Je veux remplacer les 1693
hyperliens mauvais par les 1693 hyperliens corrects qui sont en colonne B. A
raison d'une centaine par jour et sans erreur j'en ai pour 17 jours....
N'est-il pas possible d'automatiser ce petit travail ? Merci à celui qui me
fera gagner beaucoup de temps. test.ods
<http://nabble.documentfoundation.org/file/n4043076/test.ods>

Bonjour,
Si j'ai bien compris,
tu places ton curseur en D1,
puis fonction : =LIEN.HYPERTEXTE(B1)
puis tu recopies vers le bas
J.M

Bonjour

Une autre proposition permettant de n'avoir qu'une seule colonne:
utiliser le rechercher-remplacer pour modifier la colonne B.

Procédure:

1. Sélectionner la colonne B
2. Édition> Rechercher & remplacer
3. Rechercher:

(.*photos/)(.*)_(.*)(\.jpg)

4. Remplacer par:

=LIEN.HYPERTEXTE("&";"$2/$3")

5. Cliquer sur "Plus d'options"
6. Cocher : "Sélection active seulement" et "Expressions régulières"
7. Cliquer sur "Tout remplacer"

Explications:

On utilise la fonction cherche-remplace pour insérer la fonction
LIEN.HYPERTEXTE

Cette fonction utilise en premier paramètre l'url et en deuxième le
texte à afficher.

Dans la colonne A on voit que tu souhaites afficher non pas l'url complet
mais simplement le nom du fichier dans l'extension .jpg et en remplaçant le
"_" par "/"

Dans l'expression recherchée la mise entre parenthèses permet de
séparer des éléments qu'on utilisera dans la zone Remplacer par.
Ainsi en marquant :

(.*photos/)(.*)_(.*)(\.jpg)

(.*photos/) sera le premier élément : tout ce qui précède "photos/" incluant
ce terme
(.*)_ sera le deuxième élément : ce qui suit "photos/" jusqu'au "_"
(.*) sera le troisième élément jusqu'à
(\.jpg) qui sera le quatrième élément

Dans la zone "remplacer par" on fait référence aux éléments
par $1 (premier élément), $2 (deuxième élément), etc.

Autrement dit avec l'expression...

=LIEN.HYPERTEXTE("&";"$2/$3")

...on ajoute dans la cellule le nom de la fonction, avec comme
premier argument "&"

Le code & représente tout ce qui était dans la cellule avant le
remplacement (l'url donc).

"$2/$3" veut dire qu'on veut le deuxième élément séparé du
troisième par un /

Parfois les explications semblent plus obscures que la procédure
à suivre, n'hésite pas à les ignorer :slight_smile:

Il est tout à fait possible de simplement suivre les étapes 1 à 7

Cordialement
Pierre-Yves

Merci à JM et Pierre-Yves. Je n'avais pas pensé à utiliser cette fonction que
je n'avais d'ailleurs jamais utilisée. J'ai mis un peu de temps à vous
répondre car je voulais terminer le travail au cas où j'aurais eu des
questions. Mes 1693 références son terminées . Un grand merci.