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 :

création liens hypertexte automatisés


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    855
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 855
    Points : 368
    Points
    368
    Par défaut création liens hypertexte automatisés
    Bonjour,
    Petit soucis d'automatisation de liens hypertexte :
    Dans un dossier, j'ai des fichiers .pdf et .xls.
    exemple : "aa.pdf" et "aa.xls". Le nom du fichier est le même (pas l'extension).

    J'ai créé un fichier excel reprenant les noms et j'aimerais faire une automatisation pour faire des liens hypertextes:

    Colonne A : aa
    colonne B : lien vers aa.pdf
    colonne C : lien vers aa.xls

    J'ai essayé la formule
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =LIEN_HYPERTEXTE("C:\dossier\"(A1).pdf";A1)
    mais ça ne fonctionne pas, car il ne reconnait pas la valeur de A1 (=le nom du fichier).
    J'ai essayé avec la macro de Silkyroad dans le forum (celle qui liste les fichiers dans un dossier), elle marche super bien, mais je me retrouve avec l'extension (dans la colonne A), et n'arrive pas à mettre dans la colonne B les extensions PDF et dans la colonne C les XLS correspondantes.

    Une âme charitable pour m'aider ????
    : soit s'il existe une formule et/ou comment extraire le nom de A1, soit comment distinguer les "FileItem.Name" (et leur extensions) dans la macro de Silkyroad...

    D'avance merci,
    A+

  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
    Je ne suis pas certain de comprendre ton pb. Il serait bien que tu nous indique où trouver la macro de SilkyRoad qu'on y voit un peu plus clair.
    A+

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    855
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 855
    Points : 368
    Points
    368
    Par défaut Encore à mon secours...
    Bonsoir Ouskel'n'or,

    http://excel.developpez.com/faq/inde...riptingRuntime

    et c'est la macro "Comment lister les fichiers contenus dans un répertoire ainsi que dans tous ses sous-répertoires ? "


    La macro est nickel, mais comme je te l'ai dit, il faudrait que je puisse mettre dans la colonne B le lien vers aa.pdf et dans la colonne C, le lien vers aa.xls, et avec "FileItem", je n'arrive pas à identifier les extensions...

    Merci

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    855
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 855
    Points : 368
    Points
    368
    Par défaut Trouvé
    Encore merci ouskel'n'or,

    J'avais passé ma soirée à chercher la solution, et une fois de plus, tu m'as (indirectement cette fois-ci) trouvé la réponse : j'ai retrouvé un échange que tu as eu avec In0331 en décembre et en bidouillant un peu, j'ai trouvé : le code n'est pas très "propre", mais il fonctionne....(donc si tu avais juste quelques secondes pour l'améliorer dans l'écriture (histoire que j'apprenne encore mieux à utiliser le VBA...), sinon, c'est pas grave....

    Encore merci

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    Sub Hypertexte()
     
    'declaration des variables
    Dim vLien, vChemin As String, c As Range, d As Range
     
     
    For Each c In Range("J2", Range("J2").End(xlDown))
    's'il existe un nom dans la cellule alors
    If c <> "" Then
        'definition du chemin
        vChemin = "C:\Users\Eric\Desktop\Nouveau dossier (4)\"
        'concaténation du chemin, du nom du fichier et de l'extension
        vLien = vChemin & c.Value & ".pdf"
        'on active le lien hypertexte
        ActiveSheet.Hyperlinks.Add Anchor:=c, Address:=vLien
        End If
        Next
     
       For Each d In Range("k2", Range("k2").End(xlDown))
    's'il existe un nom dans la cellule alors
    If d <> "" Then
        'definition du chemin
     
        vChemin = "C:\Users\Eric\Desktop\Nouveau dossier (4)\"
        'concaténation du chemin, du nom du fichier et de l'extension
        vLien = vChemin & d.Value & ".doc"
        'on active le lien hypertexte
        ActiveSheet.Hyperlinks.Add Anchor:=d, Address:=vLien
     
     
    Else
        Exit Sub
    End If
    Next
     
    End Sub


  5. #5
    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
    Ben non, rien à ajouter... Par contre, tu m'as appris une chose : Je ne savais pas qu'on pouvait faire ça
    For Each c In Range("J2", Range("J2").End(xlDown))
    J'utilisais toujours
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    For Each c In Range("J2:J" & Range("J2").End(xlDown).row)
    Ce qui est plus long

    Un petit clic sur Résolu, bouton en bas de cette fenêtre

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    855
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 855
    Points : 368
    Points
    368
    Par défaut Résolu
    Vu ta maitrise, ta remarque est un honneur !!!! (non mérité puisque c'est In0331 qui l'avait trouvé....)
    mais bon, merci, je voulais juste savoir si le code aurait pu être plus "propre", (puisque je suis en plein apprentissage...), avant de marquer "résolu".

    Par contre j'ai vu qu'il y avait des "classifications" (membre actif, régulier...), à quoi ça correspond ???

    Encore merci
    A+

  7. #7
    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
    Bonjour,
    Pour membre actif, régulier, etc... ce n'est pas important. Moins tu comprends, plus tu poses de questions, plus tu patauges, plus tu galères et plus mieux t'es considéré comme compétent... T'as qu'à voir, moi
    Je plaisante mais à peine. En ça n'est lié qu'à la fréquentation du site, c'est tout.
    Bonne journée

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Création lien Hypertexte
    Par dan40 dans le forum Excel
    Réponses: 5
    Dernier message: 19/05/2014, 08h58
  2. Création Lien hypertext et repertoire associé
    Par piwa6291 dans le forum IHM
    Réponses: 6
    Dernier message: 12/11/2012, 23h36
  3. [WD-2007] Macro Recherche et création lien Hypertexte
    Par Arthur Z dans le forum VBA Word
    Réponses: 2
    Dernier message: 07/02/2012, 08h14
  4. [XL-2007] Macro création liens hypertexte
    Par Le Rookie dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 01/09/2010, 07h58
  5. Création lien hypertext
    Par Jeanvaljean44 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 13/08/2008, 08h37

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