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 :

Adresse hyperlien trop longue-


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    220
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Septembre 2007
    Messages : 220
    Par défaut Adresse hyperlien trop longue-
    Bonsoir à tous
    Voici mon problème.
    J'ai un fichier excel donc chacune des cellules de la colonne 1 des 50 premières lignes renvoie à des fichiers différents.
    Ces 50 fichiers sont tous sur un serveur, dans des classeurs, sous classeurs, sous sous classeurs, tellement que lorsque je vais dans les propriétés de l'hyperlien ou que je veux récupérer l'adresse par vba, le début de l'adresse est remplacé par "..\..\..\..\".
    Du coup, lorsque je veux vérifier par macro si tous les liens mènent bien à un fichier excel, quand j'utilise la fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dir(MaCellule.Hyperlinks(1).Address)
    , il me la renvoie vide. Pourtant, quand je clique avec la souris sur le lien, mon fichier s'ouvre bien.
    Quelqu'un a-t-il une idée pour pallier à ce problème et récupérer l'adresse complète de l'hyperlien?
    Merci pour votre aide!!!
    Mél

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2009
    Messages : 652
    Par défaut
    Bonjour,

    A tout hasard essayez avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dir(MaCellule.Hyperlinks(1).Name)
    Cordialement.

    PMO
    Patrick Morange

  3. #3
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    220
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Septembre 2007
    Messages : 220
    Par défaut
    Merci Ptrick pour cette idée.
    Je viens à l'instant de tester mais sans résultat.
    Mon code:
    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
    18
    19
    Function VerifHyperlink(Cellule As Range) As Boolean
    
    Dim Cible As String
    
    If Cellule.Hyperlinks.count = 0 Then
        VerifHyperlink = False
        Exit Function
    End If
    
    'Extrait l'adresse du lien
    Cible = Cellule.Hyperlinks(1).Name
    
    If Dir(Cible) <> "" And Cible <> "" Then
        VerifHyperlink = True
        Else
        VerifHyperlink = False
    End If
        
    End Function
    Il passe directement à Else lors du test If.
    Je n'ai plus d'idée...
    Helppp

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2009
    Messages : 652
    Par défaut
    Ce qui suit peut être n'importe quoi mais pourquoi ne pas essayer.

    Si ce qui s'affiche dans la cellule Excel correspond à l'adresse du lien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dir(MaCellule.Hyperlinks(1).TextToDisplay)
    Bon courage.

    PMO
    Patrick Morange

  5. #5
    Membre expérimenté
    Inscrit en
    Juillet 2007
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 239
    Par défaut Lien Hypertexte
    Bonjour,
    La chaine "..\..\..\..\" ne signifie pas que le chemin est trop long pour excel .
    Le problème vient du fait que le chemin est exprimé par rapport au path courant.
    Tu peux faire des tests de création de lien hypertexte, via l'enregistreur de macros, avec des chemins plus court , le résultat est le même.
    Le path par défaut est celui indiqué par le répertoire par défaut dans les options. Si tu ouvres un fichier via Excel , le path change; Si tu l'ouvres avec l'explorateur Windows ,il ne change pas. Quand tu crées ton lien hyper, il est calculé par rapport à ce path .

    Tu peux récupérer le chemin du fichier via des fonctions dir , Application.DefaultFilePath , ActiveWorkbook.Path , worbooks(tonnomfichier).path.

Discussions similaires

  1. [WD-2003] adresse internet trop longue dans lien hypertexte
    Par terre68 dans le forum Word
    Réponses: 4
    Dernier message: 26/04/2010, 14h45
  2. Erreur ORA-01704 : constante de chaine trop longue
    Par verrec_s dans le forum Oracle
    Réponses: 22
    Dernier message: 13/12/2004, 15h30
  3. [TP]Probleme de ligne trop longue
    Par poppels dans le forum Turbo Pascal
    Réponses: 4
    Dernier message: 24/09/2004, 06h36
  4. chaine trop longue pour envoyer en socket?
    Par jeje.r dans le forum C++Builder
    Réponses: 10
    Dernier message: 27/06/2003, 16h36

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