Bonjour,
Je suis en train d'établir un catalogue de plusieurs centaines de sites internet sur Calc avec nom, commentaire sur le site et hyperlien.
Le catalogue est terminé mais à la place des adresse URL, je souhaite maintenant voir un texte (paramètres supplémentaires), ce texte est: Lien
Je dois donc me taper tout le catalogue, lien par lien, pour ajouter ce paramètre à chaque fois.
Si quelqu'un pouvait m'indiquer la macro me permettant d'éviter de faire tout à la main...ce serait bien de sa part !
Merci d'avance !
Automatiser texte d'hyperlien par macro
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.
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.
-
- NOOuvel adepte
- Messages : 15
- Inscription : 30 déc. 2005 09:54
- Localisation : Haute Savoie
Automatiser texte d'hyperlien par macro
OOo 2.1 sous WinXP SP2
Il faudra mettre dans cette macro les valeurs qui t'intéressent (nom de feuille, adresse de zone, texte à mettre).
Code : Tout sélectionner
dim laFeuille as object, laZone as object, coorz as object
dim uneCellule as object, tf as object
dim x as long, y as long
laFeuille = thisComponent.Sheets.getByName("Feuille1")
laZone = laFeuille.getCellRangeByName("C3:C11")
coorz = laZone.RangeAddress
for x = coorz.StartColumn to coorz.EndColumn
for y = coorz.StartRow to coorz.EndRow
uneCellule = laFeuille.getCellByPosition(x,y)
if uneCellule.TextFields.Count > 0 then
tf = uneCellule.TextFields(0)
tf.Representation = "Lien"
end if
next
next
-
- NOOuvel adepte
- Messages : 15
- Inscription : 30 déc. 2005 09:54
- Localisation : Haute Savoie
-
- NOOuvel adepte
- Messages : 15
- Inscription : 30 déc. 2005 09:54
- Localisation : Haute Savoie
Encore merci bm92, la macro fonctionne parfaitement malgré un message d'erreur qui apparaît après qu'elle ai fini son travail:
"Runtime error basic"
La sous-procédure ou procédure fonctionnelle n'est pas définie
args (0) Name= Hyperlink.text
Voici la macro en entier:
"Runtime error basic"
La sous-procédure ou procédure fonctionnelle n'est pas définie
args (0) Name= Hyperlink.text
Voici la macro en entier:
Code : Tout sélectionner
sub Lien1
rem ----------------------------------------------------------------------
rem define variables
dim laFeuille as object, laZone as object, coorz as object
dim uneCellule as object, tf as object
dim x as long, y as long
laFeuille = thisComponent.Sheets.getByName("Infos Pratiques")
laZone = laFeuille.getCellRangeByName("C5:C1500")
coorz = laZone.RangeAddress
for x = coorz.StartColumn to coorz.EndColumn
for y = coorz.StartRow to coorz.EndRow
uneCellule = laFeuille.getCellByPosition(x,y)
if uneCellule.TextFields.Count > 0 then
tf = uneCellule.TextFields(0)
tf.Representation = "Lien"
end if
next
next
args2(0).Name = "Hyperlink.Text"
args2(0).Value = "Lien"
args2(1).Name = "Hyperlink.URL"
args2(1).Value = "http://www.guideducreateur.com/"
args2(2).Name = "Hyperlink.Target"
args2(2).Value = ""
args2(3).Name = "Hyperlink.Name"
args2(3).Value = ""
args2(4).Name = "Hyperlink.Type"
args2(4).Value = 1
dispatcher.executeDispatch(document, ".uno:SetHyperlink", "", 0, args2())
OOo 2.1 sous WinXP SP2
Tu as ajouté dans ta macro un traitement sans rapport avec le sujet initial. Relis la règle n°7
L'ajout est l'insertion d'un lien sur la cellule courante. Mais il ne correspond pas exactement à ce que j'obtiens en utilisant l'enregistreur de macro. Notamment, les déclarations de variables manquent.
L'ajout est l'insertion d'un lien sur la cellule courante. Mais il ne correspond pas exactement à ce que j'obtiens en utilisant l'enregistreur de macro. Notamment, les déclarations de variables manquent.
-
- NOOuvel adepte
- Messages : 15
- Inscription : 30 déc. 2005 09:54
- Localisation : Haute Savoie
Désolé mais je ne saisis pas vraiment ce que tu veux me dire.
Je n'ai fait que de copier la macro à l'endroit qui me semblait le plus propice avec détails sur ma feuille, mes cellules et lignes concernées.
Mais alors pourquoi cela marche-t-il si bien au final ?
Merci de m'en dire un peu plus éventuellement.
Te suis reconnaissant du mal que tu t'es donné.
Je n'ai fait que de copier la macro à l'endroit qui me semblait le plus propice avec détails sur ma feuille, mes cellules et lignes concernées.
Mais alors pourquoi cela marche-t-il si bien au final ?
Merci de m'en dire un peu plus éventuellement.
Te suis reconnaissant du mal que tu t'es donné.
OOo 2.1 sous WinXP SP2