IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

Macros et VBA Excel Discussion :

[VBA-E] Problème d'adresse de liens hypertext


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 199
    Points : 66
    Points
    66
    Par défaut [VBA-E] Problème d'adresse de liens hypertext
    Bonjour à tous,
    J'ai la fonction suivante qui me permet de récupérer les adresses des liens hypertext :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Function adresse(cell As Range)
    adresse = cell.Hyperlinks(1).Address
    End Function
    Lorsque j'appelle la fonction dans une cellule :
    ça marche si l'adresse du lien est un fichier externe (genre test.xls), mais s'il s'agit d'un lien vers une référence de cellule ou vers une autre feuille, rien ne s'affiche.
    Comment faire pour récupérer TOUTES les adresses de liens ?
    Merci par avance.

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    En VBA/xl, j'ai ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub LiaisonsLister()
    aLinks = ActiveWorkbook.LinkSources(xlExcelLinks)
    If Not IsEmpty(aLinks) Then
        For i = 1 To UBound(aLinks)
            MsgBox "Liaison " & i & ":" & Chr(13) & aLinks(i)
        Next i
    End If
    End Sub
    Si ça peut te donner des idées

    A+

  3. #3
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 130
    Points : 3 118
    Points
    3 118
    Par défaut
    Pas très joli la fonction qui utilise des mots clés (adresse et cell)

    Peut-être
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Function adress(plage As Range)
        If plage.Hyperlinks.Count > 0 Then
            adress = plage.Hyperlinks(1).Address
        Else
            adress = plage.Text
        End If
    End Function

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 199
    Points : 66
    Points
    66
    Par défaut
    Merci beaucoup pour vos réponses... mais malheureusement aucune ne marche : je n'arrive toujours pas à voir l'adresse d'un lien faisant référence à une cellule ou une feuille (avec un fichier externe, ça marche).
    Si quelqu'un a une idée, ça me dépannerait bien !
    Merci.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 199
    Points : 66
    Points
    66
    Par défaut
    Voilà ce que je voudrais, si on considère qu'en A1 j'ai un lien appelé "lien1" et qui pointe vers un fichier "test.txt" et en A
    Si en A1 j'ai un lien hypertexte vers un fichier appelé test.x un lien "lien2" qui pointe vers la cellule A1 de la Feuil2 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     |   A   |     B     |
    ----------------------
    1| lien1 | test.txt  |
    2| lien2 | Feuil2!A1 |
    Voilà ! Alors, est-ce que c'est possible ?
    Merci.

  6. #6
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Avec l'exemple que je t'ai donné, tu dois enchaîner les tests pour avoir tous les liens. Pour un lien avec un txt, c'est un paramètre, vers un xls, c'est un autre...

    Extrait de l'aide VBA :

    Renvoie un tableau de liaisons dans le classeur. Les noms qui figurent dans le tableau sont les noms des documents liés, des éditions ou des serveurs DDE ou OLE. Cette méthode renvoie la valeur Empty s'il n'existe aucune liaison.

    Syntaxe

    expression.LinkSources(Type)

    expression Obligatoire. Expression qui renvoie un objet Workbook.

    Type Cet argument est facultatif. Le type de liaison à renvoyer. Il peut s'agir de l'une des constantes XlLink suivantes : xlExcelLinks, xlOLELinks (qui gère également les liaisons DDE), xlPublishers ou xlSubscribers.

    Remarques

    Le tableau est à une dimension pour tous les types, quel que soit le type de liaisons, à l'exception de la publication et de l'abonnement. Les chaînes de caractères renvoyées contiennent le nom de la source de la liaison dans la notation appropriée au type de liaison. Par exemple, les liaisons DDE utilisent la syntaxe « Server|Document!Item ».

    Pour les liaisons de publication et d'abonnement, le tableau renvoyé est à double entrée. La première colonne du tableau contient les noms de la publication et la seconde colonne, les références des éditions sous la forme de texte.
    En VB, tu as peut-être simplement le même pb... (?)

    Mais DarkVader va venir à ton secours...

    A+

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 199
    Points : 66
    Points
    66
    Par défaut
    Salut,
    J'ai testé cette fonction de la manière suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    aLinks = ActiveWorkbook.LinkSources()
    MsgBox "aLinks : " & aLinks
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    aLinks = ActiveWorkbook.LinkSources(xlExcelLinks)
    MsgBox "aLinks : " & aLinks
    et dans les deux cas aLinks ne vaut rien : j'ai la msgbox qui s'affiche avec :

    J'ai pourtant bien, dans le deuxième cas, un lien vers un classeur Excel...
    Je ne comprends pas...

  8. #8
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Je ne comprends pas...
    moi non plus car chez moi, ce code fonctionne
    Un pb de version ? (j'ai VBA97) Peut-être la syntaxe a-t-elle changé (?)

    Je cède la place

    Bonne chance

Discussions similaires

  1. [VBA-Excel] Problème de syntaxe pour lien hypertexte
    Par matt8-5 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 04/01/2007, 11h23
  2. [VBA-E]copie de lien hypertexte
    Par nicobrunet1 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 05/05/2006, 15h21
  3. [VBA-E]Copier un lien hypertexte d'une feuille à une autre
    Par DomBourti dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 28/04/2006, 17h01
  4. [VBA-E] Affecter un lien hypertexte au texte d'un cellule
    Par yaya54 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 03/03/2006, 09h38
  5. [VBA-E]copier un lien hypertexte sur Excel
    Par delamarque dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 23/02/2006, 18h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo