Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

OpenOffice & LibreOffice Discussion :

Créer un lien hypertext par macro


Sujet :

OpenOffice & LibreOffice

  1. #1
    Membre à l'essai
    Créer un lien hypertext par macro
    Bonjour à toutes et tous

    J'aimerais, par macro, mettre chaque cellule de la colonne B à partir de B10 en lien hypertext vers l'onglet correspondant

    Merci pour votre attention et votre aide, cordialement, Gérard

  2. #2
    Membre éclairé
    Bonjour natorp,

    Si vous pouvez vous contenter d'une formule, celle ci est fonctionnelle
    en B10 de Tableau récapitulatif

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    =LIEN.HYPERTEXTE("#'Gymnase Langevin'.A1";"Gymnase Langevin")

    ou celle-ci
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    =LIEN.HYPERTEXTE("#"&INDIRECT(ADRESSE(1;1;4;1;NOMFEUILLE(LIGNE()-8));1);NOMFEUILLE(LIGNE()-8))
    LibreOffice 6.3.5.2 (x64) FR-YT 07-03-20
    OS : Windows 10.0

  3. #3
    Membre à l'essai
    Merci njhub

    Mais il me faut vraiment le code basic qui sera à intégrer au code général

    Cordialement, Gérard

  4. #4
    Membre éclairé
    Bonjour natorp,

    Un code trouvé là:
    https://forum.openoffice.org/fr/forum/viewtopic.php?f=8&t=39338&hilit=lien+hypertext%2A+calc

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Sub AllerFeuille()
    Dim oDoc As Object, lesFeuilles As Object
    Dim uneFeuille As Object, maCellule as Object
    	oDoc = ThisComponent
    	lesFeuilles = oDoc.Sheets
    	uneFeuille = oDoc.CurrentController.ActiveSheet
    	maCellule = uneFeuille.getCellRangeByName("A1")
    	Select Case maCellule.String
    		Case "feu1"
    			uneFeuille = lesFeuilles.getByName("Feuille1")
    		Case "feu2"
    			uneFeuille = lesFeuilles.getByName("Feuille2")
    		Case "feu3"
    			uneFeuille = lesFeuilles.getByName("Feuille3")
    	End Select	
    	oDoc.CurrentController.ActiveSheet = uneFeuille
    End Sub
    LibreOffice 6.3.5.2 (x64) FR-YT 07-03-20
    OS : Windows 10.0

  5. #5
    Membre à l'essai
    Merci, je l'ai trouvé également, mais c'est plus complexe que ça :
    il s'agit de récupérer le contenu de la cellule à partir de B10 et créer, dans cette cellule, un lien vers la feuille correspondante
    dans le fichier d'exemple, je n'ai mis qu'une seule feuille, mais je vais en avoir une bonne trentaine et des lignes qui vont s'ajouter dans la feuille "tableau récapitulatif"

    Merci pour votre aide, cordialement, Gérard

  6. #6
    Membre à l'essai
    tout est là : https://forum.openoffice.org/fr/foru...=8&t=61435

    Merci à Hubert et Luky-luke

    Gérard

###raw>template_hook.ano_emploi###