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 :

Macro création liens hypertexte


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 6
    Par défaut Macro création liens hypertexte
    Bonjour à vous toutes et vous tous,

    Je suis nouveau sur le forum et au passage, débutant en macro.

    Je suis sur excel 2007, et j'ai besoin d'automatiser une manip. Etre débutant ayant quelques limites, j'ai pensé à une macro.

    Ce que je fais:
    Je référence des fichiers, ils sont tous rangés dans le même dossier, et je crée un index sous excel.

    Comment ça se passe?
    Quand un fichier doit être indexé, je note son nom dans une cellule, son titre, puis la date à laquelle il a été trouvé. Je lui attribue ensuite un numéro.
    Avec tout ça, je donne un nom au pdf associé, nom qui est "numéro Nom date".pdf

    Où est ce que ça bloque?
    Comme je débute, j'utilise la fonction "enregistrer une macro", je fais ça en utilisant les références relatives et basta. Sauf que lorsque je veux copier le contenu de la cellule "numéro" et le coller dans la fenêtre de recherche de fichier (ctrl+K, rechercher les fichiers, type de fichiers = tous types de fichiers, nom de fichier = contenu cellule numéro) pour espérer avoir le nom complet qui s'affiche en entrant juste le début du nom du pdf, ma macro reproduit sur toutes lignes le numéro copié au départ.
    Donc mon index me crée des liens hypertexte mais que pour le 1er fichier.

    J'ai essayé de comprendre, d'apprendre avec un cours d'intro au vba trouvé ici, mais je n'arrive pas à trouver comment faire pour que ce numéro soit copié et collé dans ma fenêtre de recherche et surtout, que ça "lise" à chaque ligne...

    Donc si j'ai été assez clair sur mon problème, et que quelqu'un a une idée, ça m'aiderait vraiment beaucoup!

    Par avance merci,

    Le Rookie

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    592
    Détails du profil
    Informations personnelles :
    Âge : 75
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 592
    Par défaut
    Bonsoir,

    On utilise tous la fonction "enregistrer une macro" mais ensuite il est nécessaire d'adapter le code enregistré.

    Si tu nous expliquait ce que tu souhaites faire et nous donner le code utilisé on pourrait faire plus.

    PPz

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 6
    Par défaut
    Bonjour,

    Oui, un exemple aurait été bien plus parlant, j'aurais dû en mettre un

    J'ai fait donc un index type. L'idée, c'est qu'à partir du numéro je puisse créer un lien hypertexte pour le doc sauvegardé. Mon souci, c'est que je ne sais pas faire une fonction "lire le contenu de la cellule numéro" pour le reporter dans la ligne de la fenêtre rechercher.

    Merci d'avance!

    Le Rookie
    Fichiers attachés Fichiers attachés

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 6
    Par défaut
    J'ai un peu progressé!

    Dans macro 4, j'arrive à sélectionner le contenu de la cellule numéro, mais je n'arrive toujours pas à utiliser l'écriture intuitive pour avoir le nom complet du doc. Là, ça reproduit toujours le même lien.
    Fichiers attachés Fichiers attachés

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    592
    Détails du profil
    Informations personnelles :
    Âge : 75
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 592
    Par défaut
    Je ne comprends pas bien ce que tu veut faire

    Ce que j'ai compris :
    A partir du contenu des colonnes :
    2 : Numéro
    3 : Nom
    5 : Date

    tu souhaites mettre dans la colonne 6 une hyper lien
    - vers un fichier pdf
    - avec écrit dans la cellule "Numéro Nom Date.pdf " (3 auteur B 030810.pdf)

    Mais qui te garanti que le pdf a bien le nom "Numéro Nom Date.pdf " ?

    D'ailleurs dans ton exemple il y a une salade dans la date.

    PPz

    En attendant ta réponse je te propose ce code qui ne fait pas encore le lien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub M_PPz()
        lg = ActiveCell.Row
        Cl = ActiveCell.Column
        Numéro = Cells(lg, Cl)
        Nom = Cells(lg, Cl + 1)
        Dat = Cells(lg, Cl + 3)
        Jour = Day(Dat)
        Dat_Str = Format(Dat, "ddmmyy")
     
        Cells(lg, Cl + 4) = Numéro & " " & Nom & " " & Dat_Str & ".pdf"
        Cells(lg + 1, Cl).Select
    End Sub

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 6
    Par défaut
    Voilà, mon index me sert à classer des articles provenant de différents auteurs. Donc pour les classer simplement, je crée un numéro et j'utilise le nom de l'auteur et la date à laquelle l'article est sorti.

    Généralement je sauvegarde les doc sous format pdf. Au début, j'avais parfois des.html, mais je ne m'en sers plus.

    Par contre, je ne vois pas la salade dans les dates

    Quand je crée un lien hypertexte, je fais ctrl+k puis sur la ligne "regarder dans", je fais "rechercher les fichiers". Dans type de fichier, je précise "tous les fichiers" et dans "nom de fichier", quand je rentre le numéro, ça me propose directement mon doc. Après je valide 2 fois et c'est bon. Sur mon 2ème post, avec la macro 4, j'arrive à faire en sorte que la macro copie la valeur de la cellule contenant le numéro, mais là où ça bloque, c'es tque quand ça me propose un nom de doc pour la 1ère fois, la macro enregistre ce nom comme étant à reporter systématiquement... en gros là, je n'arrive pas à faire la manip "sélectionner le résultat suggéré"


  7. #7
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    592
    Détails du profil
    Informations personnelles :
    Âge : 75
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 592
    Par défaut
    Voici la version complète :
    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
    Sub M_PPz()
        lg = ActiveCell.Row
        Cl = ActiveCell.Column
        Numéro = Cells(lg, Cl)
        Nom = Cells(lg, Cl + 1)
        Dat = Cells(lg, Cl + 3)
        Jour = Day(Dat)
        Dat_Str = Format(Dat, "ddmmyy")
     
        TexteAdresse = Numéro & "%20" & Nom & "%20" & Dat_Str & ".pdf"
        TexteAEcrire = Numéro & " " & Nom & " " & Dat_Str & ".pdf"
     
        Cells(lg, Cl + 4).Select
        ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _
            TexteAdresse, TextToDisplay:=TexteAEcrire
     
        Cells(lg + 1, Cl).Select
    End Sub
    Elle suppose qu'il n'y a pas d'espace dans les noms des auteurs.
    Auteur 3 a été transformé en Auteur_3 ....

    Par contre, comme tu utilises la dernière version d'Excel", je ne comprends pas et je ne peux t'aider sur
    puis sur la ligne "regarder dans", je fais "rechercher les fichiers". Dans type de fichier, je précise "tous les fichiers" et dans "nom de fichier", quand je rentre le numéro, ça me propose directement mon doc. Après je valide 2 fois et c'est bon. Sur mon 2ème post, avec la macro 4, j'arrive à faire en sorte que la macro copie la valeur de la cellule contenant le numéro, mais là où ça bloque, c'es tque quand ça me propose un nom de doc pour la 1ère fois, la macro enregistre ce nom comme étant à reporter systématiquement... en gros là, je n'arrive pas à faire la manip "sélectionner le résultat suggéré"
    Pour ma part je n'utilise que 2003

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 6
    Par défaut
    Salut,

    Merci pour cette partie!

    J'ai fait un petit ppt pour mieux illustrer la fonction rechercher et montrer ce dont je veux parler. En espérant que ce soit clair! je précise que je copie juste le numéro 4 et que le reste est proposé automatiquement par excel. Il me suffit donc de le valider.

    @+
    Fichiers attachés Fichiers attachés

  9. #9
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    592
    Détails du profil
    Informations personnelles :
    Âge : 75
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 592
    Par défaut
    As tu essayé ce que je t'ai proposé? car en fait plus que ton besoin, puisqu'il n'est pas nécessaire de taper le numéro du document.

    PPz

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 6
    Par défaut
    Je viens d'essayer, mais malheureusement ça ne fonctionne pas...

  11. #11
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    592
    Détails du profil
    Informations personnelles :
    Âge : 75
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 592
    Par défaut
    C'est toujours désespérant de lire "ça ne fonctionne pas" sans savoir ce qui ne fonctionne pas. Chez moi c'est OK. Merci pour les détails.

    J'ai compris ce que tu veut obtenir par contre je ne suis pas OK pour la façon de procéder.
    Quand tu reçois un nouvel article, tu le places dans le répertoire adhoc avec un nom qui comprend un numéro, un auteur et une date sur 6 caractères. Le plus sûr et le plus simple consiste à analyser le contenu du répertoire et de générer l'ensemble du fichier d'index en une seule fois. Cette solution résiste à la mise à jour des noms des fichiers si par exemple il y a une erreur sur le nom de l'auteur (il suffit de relancer la macro pour effectuer une mise à jour).

Discussions similaires

  1. [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, 09h14
  2. macro pour liens hypertextes
    Par maternelle dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 26/11/2008, 22h32
  3. Création lien hypertext
    Par Jeanvaljean44 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 13/08/2008, 09h37
  4. Macro fermeture - lien hypertext précédent
    Par bravojr dans le forum VBA Word
    Réponses: 4
    Dernier message: 31/07/2008, 13h46
  5. création liens hypertexte automatisés
    Par ericdev67 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 03/03/2008, 09h38

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