[Résolu] Retrouver l'URL d'un lien hypertexte

Discussions à propos du tableur Calc.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.

Modérateur : Vilains modOOs

Règles du forum
Cette section est uniquement dédiée au tableur Calc. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
fabrice91
NOOuvel adepte
NOOuvel adepte
Messages : 23
Inscription : 15 nov. 2006 11:12

[Résolu] Retrouver l'URL d'un lien hypertexte

Message par fabrice91 »

Bonjour,

Sur une feuille j'ai une colonne qui contient du texte pointant sur une url.
Par exemple
A1 : contient "google" qui est un lien vers "www.google.fr"
A2 : contient "wikipedia" qui est un lien vers "www.wikipedia.fr"
Et je voudrais que A1 contienne "www.google.fr" et que A2 contienne "www.wikipedia.fr"
En passant par le bouton "hyperlien", il me suffit pour cela de supprimer le contenu de la case "text" pour retrouver seulement le lien dans ma cellule mais je me vois mal faire cette manip 200 fois... :?
Merci si vous avez une solution !

oOo 2.4 sur Ubuntu
Dernière modification par trOhmato log le 03 mars 2009 11:58, modifié 2 fois.
Raison : Merci d'apprendre vous même à pratiquer le double balisage.
oOo 2.4 Ubuntu 2.4 / oOo 2.4 Windows XP2
jumbo444
InconditiOOnnel
InconditiOOnnel
Messages : 769
Inscription : 10 mars 2006 12:09
Localisation : Rouen, France

Re: Retrouver l'URL d'un lien hypertexte

Message par jumbo444 »

Bonjour,

Le contenu de la case étant "google", je ne vois pas comment récupérer le lien sans utiliser une macro :(
LibO 5.4.6.2 sous Ubuntu 16.04
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 17187
Inscription : 03 mars 2006 16:02
Localisation : Venise verte

Re: Retrouver l'URL d'un lien hypertexte

Message par jeanmimi »

Bonjour,
En B1, la fonction

Code : Tout sélectionner

=CONCATENER("http://www.";A1;".fr")
te récupére le texte de A1.
LibreOffice : Version : 25.2.0.3 (x64)(20 février 2025)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
Avatar de l’utilisateur
gerard24
ManitOOu
ManitOOu
Messages : 3160
Inscription : 06 juil. 2008 17:08
Localisation : dans le Périgord

Re: Retrouver l'URL d'un lien hypertexte

Message par gerard24 »

Bonjour,

Autre méthode :
Si tous tes liens sont en www.nom.fr
tu peux utiliser Rechercher et Remplacer
Rechercher Remplacer par

Code : Tout sélectionner

www.&.fr
tu ajoutes ainsi www. et .fr a tous les textes de ta séléction.
Ne pas oublier de cocher sélection active et expressions régulières

A+
OOodidacte
LibreOffice 6.4.5 sous Windows 10.
pour télécharger LibreOffice
fabrice91
NOOuvel adepte
NOOuvel adepte
Messages : 23
Inscription : 15 nov. 2006 11:12

Re: Retrouver l'URL d'un lien hypertexte

Message par fabrice91 »

Euh non, merci à vous mais ce n'est pas aussi simple :
je peux avoir en C1 :"coucou ca va" et qui pointe vers "www.unsitequelquepart.com" :?
En fait il n'y a aucun rapport entre le texte de la cellule et le lien lui-même, enfin rien de systématique donc pas si simple...
Donc le titre est vraiment "retrouver une url a partir d'un lien hypertexte", sinon ce ne serait qu'une "simple" transformation texte->texte
oOo 2.4 Ubuntu 2.4 / oOo 2.4 Windows XP2
Avatar de l’utilisateur
Dominique Pautrel
Membre cOOnfirmé
Membre cOOnfirmé
Messages : 210
Inscription : 02 déc. 2008 21:22
Localisation : Laval, Pays de Loire

Re: Retrouver l'URL d'un lien hypertexte

Message par Dominique Pautrel »

Bonjour,

Et donc effectivement :
jumbo444 a écrit :je ne vois pas comment récupérer le lien sans utiliser une macro
+1
fabrice91 a écrit :mais je me vois mal faire cette manip 200 fois... :?
Tu peux essayer d'enregistrer cette manip : Menu Outils > Macros > Enregistrer une macro

Si tu n'es pas familier avec les macros :
http://user.services.openoffice.org/fr/ ... ?f=8&t=820
http://www.formation-openoffice.fr/inde ... &Itemid=37
OpenOffice.org 3.2 sous Debian Squeeze/Sid et OpenOffice.org 3.2 sous Windows XP SP3.
Le logiciel libre représente selon moi une grande famille où l'union fait la force ...
Battons les escrocs à leur petit jeu
Avatar de l’utilisateur
gerard24
ManitOOu
ManitOOu
Messages : 3160
Inscription : 06 juil. 2008 17:08
Localisation : dans le Périgord

Re: Retrouver l'URL d'un lien hypertexte

Message par gerard24 »

Dans ce cas je rejoins Jumbo444
jumbo444 a écrit :Bonjour,

Le contenu de la case étant "google", je ne vois pas comment récupérer le lien sans utiliser une macro :(
Je ne vois pas de méthode autres, et par macro cela dépasse mes faibles compétences.

@ dominique, je ne pense pas que cela puisse se faire par l'enregistreur de macros. L'enregistreur n'enregistre pas les saisies effectuées dans les boites de dialogue.
Je pense qu'il faille l'écrire...

Essaies quand même, peut-être me me trompe-je ?
OOodidacte
LibreOffice 6.4.5 sous Windows 10.
pour télécharger LibreOffice
fabrice91
NOOuvel adepte
NOOuvel adepte
Messages : 23
Inscription : 15 nov. 2006 11:12

Re: Retrouver l'URL d'un lien hypertexte

Message par fabrice91 »

merci pour vos réponses.
En effet j'ai essayé en enregistrant une macro, mais cela ne fonctionne pas, en fait le résultat donné au lancement de la macro est celui obtenu lors de l'enregistrement de la macro...donc si j'applique la macro à 20 cellules, les 20 cellules contiennent toutes le résultat de celle ayant servie à enregistrer la macro :?
oOo 2.4 Ubuntu 2.4 / oOo 2.4 Windows XP2
Avatar de l’utilisateur
Dominique Pautrel
Membre cOOnfirmé
Membre cOOnfirmé
Messages : 210
Inscription : 02 déc. 2008 21:22
Localisation : Laval, Pays de Loire

Re: Retrouver l'URL d'un lien hypertexte

Message par Dominique Pautrel »

Re,
gerard24 a écrit :L'enregistreur n'enregistre pas les saisies effectuées dans les boites de dialogue.
Merci Gérard pour cette précision, après test effectivement le "copier" n'est pas transposé.
fabrice91 a écrit :les 20 cellules contiennent toutes le résultat de celle ayant servie à enregistrer la macro :?
J'ai un résultat similaire ... un peu cherché (mal sans doute ?) avec Xray sur les propriétés d'une cellule :|
Je donne ma langue au chat ! :?
OpenOffice.org 3.2 sous Debian Squeeze/Sid et OpenOffice.org 3.2 sous Windows XP SP3.
Le logiciel libre représente selon moi une grande famille où l'union fait la force ...
Battons les escrocs à leur petit jeu
fabrice91
NOOuvel adepte
NOOuvel adepte
Messages : 23
Inscription : 15 nov. 2006 11:12

Re: Retrouver l'URL d'un lien hypertexte

Message par fabrice91 »

Je trouve dingue tout de même qu'une fonction telle que HYPERLINK existe et permette de générer une "phrase" pointant vers une url :
HYPERLINK("ceci est un lien vers google";"www.google.fr") va donner dans une cellule la phrase "ceci est un lien vers google" avec un pointage vers http://www.google.fr
Je trouve dingue disais-je qu'une telle fonction existe mais qu'il n'existe pas une fonction inverse ( du genre BROKE_LINK() qui prendrait en parametre une cellule contenant un lien et renvoyant l'url de celle-ci.)
Cela veut dire que l'on peut générer des milliers de cellules sans pouvoir revenir en arrière !
oOo 2.4 Ubuntu 2.4 / oOo 2.4 Windows XP2
jumbo444
InconditiOOnnel
InconditiOOnnel
Messages : 769
Inscription : 10 mars 2006 12:09
Localisation : Rouen, France

Re: Retrouver l'URL d'un lien hypertexte

Message par jumbo444 »

Si la fonction n'existe pas c'est que :
- soit il y a une difficulté de programmation
- soit il y a trop peu d'utilisateurs intéressés par cette fonction
Sinon pour la macro, j'essaierai de regarder ça ce soir.
LibO 5.4.6.2 sous Ubuntu 16.04
Avatar de l’utilisateur
spYre
InconditiOOnnel
InconditiOOnnel
Messages : 888
Inscription : 29 oct. 2008 19:02
Localisation : Liège, Belgique

Re: Retrouver l'URL d'un lien hypertexte

Message par spYre »

Bonjour,

Voici un bout de code (merci xRay) qui répond j'espère au souhait d'automatisation, mais qui demande aussi à être optimisé :

Code : Tout sélectionner

Sub RenommerHyperliens

Dim oDoc as Object, oFeuille as Object, oCellule as Object
Dim oHyperlien
Dim a as Integer, b as Integer

oDoc = ThisComponent
oFeuille = oDoc.sheets.getbyName("Feuille1") ' par exemple...
For a = 0 to 25
	For b = 0 to 99
		oCellule = oFeuille.getcellbyPosition(a,b) 'passe en revue les cellules de la matrice A1:Z100

		If  oCellule.TextFields.Count = 1 Then  'vérifie la présence d'un champ texte

			REM --- Récupération du champ :
			oHyperlien = oCellule.getTextFields.getbyIndex(0)

			REM --- Modification de la propriété "Representation", qui est le texte du champ, par l'adresse URL du champ
			oHyperlien.setPropertyValue("Representation",oHyperlien.URL)
		EndIf
	Next b
Next a

End Sub
En espérant que cela peut aider...
LibreOffice 3.3.4 + Report Builder
Windows 7 / Windows XP sp3
Ubuntu 11.10 / LMDE
Avatar de l’utilisateur
Dominique Pautrel
Membre cOOnfirmé
Membre cOOnfirmé
Messages : 210
Inscription : 02 déc. 2008 21:22
Localisation : Laval, Pays de Loire

Re: Retrouver l'URL d'un lien hypertexte

Message par Dominique Pautrel »

Bonsoir,
spYre a écrit :En espérant que cela peut aider...
Réalisé avec le code de spYre, çi-dessus, qui a été plus perspicace que moi avec Xray :
ExtraireURL.ods
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
OpenOffice.org 3.2 sous Debian Squeeze/Sid et OpenOffice.org 3.2 sous Windows XP SP3.
Le logiciel libre représente selon moi une grande famille où l'union fait la force ...
Battons les escrocs à leur petit jeu
fabrice91
NOOuvel adepte
NOOuvel adepte
Messages : 23
Inscription : 15 nov. 2006 11:12

Re: Retrouver l'URL d'un lien hypertexte

Message par fabrice91 »

spYre a écrit :En espérant que cela peut aider...
Parfait !
Je viens de tester, cela fonctionne très bien.
Encore merci !
oOo 2.4 Ubuntu 2.4 / oOo 2.4 Windows XP2