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 :

Insertion d'un hyperlien vers document Word


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    217
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 217
    Points : 66
    Points
    66
    Par défaut
    Bonjour à vous,
    la macro suivante que j'utilise me créé un lien hypertexte vers un fichier Word que je sélectionne par boîte de dialogue (sous Excel 97).Le lien est de plus nommé avec le nom du fichier sélectionné (sans son extension).

    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
    Sub insererLien()
    Dim NomComplet, NomFich As String
     
    On Error GoTo GestionErreur
     
        NomComplet = Application.GetOpenFilename()
        NomFich = Left(MotRetourné(NomComplet), InStr(MotRetourné(NomComplet), "\") - 1)
        NomFich = MotRetourné(Right(NomFich, Len(NomFich) - 4))
        ActiveCell.FormulaLocal = _
                     "=LIEN_HYPERTEXTE(""" & NomComplet & """;""" & NomFich & """)"
     
    Exit Sub
     
    GestionErreur:
        MsgBox "Attention! L'insertion de lien n'a pas fonctionné", vbOKOnly, "Erreur : " & Err.Description
        Application.ScreenUpdating = True 'pour remettre l'affichage à jour
        Application.Cursor = xlDefault
     
    End Sub
     
     
     
    Function MotRetourné(LeMot)
         For i = Len(LeMot) To 1 Step -1
              MotRetourné = MotRetourné + Mid(LeMot, i, 1)
         Next
    End Function
    En général cela fonctionne mais:
    - quand je clique sur l'hyperlien ainsi créé,mon fichier Excel se ferme (excel reste ouvert mais le classeur s'est fermé).
    - parfois le lien est bien inséré et a bien le nom du fichier, mais quand je clique dessus j'ai l'erreur "impossible d'ouvrir le fichier spécifié" pourtant la formule est bonne et le fichier au bon emplacement.
    D'ou peuvent venir mes soucis?Je tourne en rond sans avoir de solution.
    Merci d'avance pour votre attention,
    M

    Petite précision:
    si je copie/colle dans une cellule adjacente le contenu de ma cellule dans laquelle le lien créé ne fonctionne pas cela fonctionen parfaitement; donc pourquoi pas dans la cellule de destination à l'origine?

  2. #2
    Membre éprouvé
    Avatar de fred65200
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 901
    Points : 1 207
    Points
    1 207
    Par défaut
    bonjour,
    je n'est pas réussi à reproduire ton erreur.
    à tout hasard, ajoute
    avant de placer ton lien hypertexte

    Sans conviction!!

  3. #3
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    217
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 217
    Points : 66
    Points
    66
    Par défaut
    Sur un autre fichier sur leqeul j'utilise la même macro: j'arrive bien à insérer le lien hypertexte et il fonctionne.
    Mais quand je veux quitter j'ai un message d'erreur:
    Impossible de convertir une formule dans la cellule (Nom: _filterDatabase) qui contient une fonction non disponible dans le format sous lequel vous enregistrez.Si vous poursuivez, la formule et son résultat seront enregistrés, mais la fonction elle-même se verra attribuer une valeur d'erreur.

    Voulez-vous voir les erreurs suivantes au fur et à mesure qu'elles se produisent pour pouvoir les corriger ultérieurement?
    Puis j'ai le choix oui/non/annuler.

    Si je met oui: il me reprend ue à ne toutes les cellules dans lesquelles j'ai utilisé ma macro pour insérer le lien, puis me remet le même message d'erreur que si dessous (avec (Nom: numéro de la cellule) au lieu de (Nom: _filterDatabase)).

  4. #4
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    217
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 217
    Points : 66
    Points
    66
    Par défaut
    Au sujet de mon dernier post (au-dessus): j'ai corrigé le problème en enregistrant mon fichier au bon format (apparememnt quelqu'un l'avait sauvegardé en excel 95).

    Pour mon tout premier fichier (tout premier message du topic): j'ai inséré une nouvelle colonne à la place de celle ou j'avais mes liens,je les ai tous remis ça marche à nouveau comme il faut.
    Par contre mon classeur se ferme toujours dès que je clique sur un des lien,et je suis obligé de le réouvrir à nouveau pour travailler dessus:d'ou cela peut-il venir?
    Merci d'avance pour vos conseils,
    M

  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
    Pas de soucis avec ton code. Pas de fermeture intempestive non plus.
    Tu dois bien appeler insererLien() depuis une macro, ce serait donc plutôt de ce côté que je chercherais. Dans tous les cas, ça ne vient pas du code que tu nous montres.

  6. #6
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    217
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 217
    Points : 66
    Points
    66
    Par défaut
    Citation Envoyé par ouskel'n'or Voir le message
    Tu dois bien appeler insererLien() depuis une macro, ce serait donc plutôt de ce côté que je chercherais.
    J'insère le lien à partir du clic sur un bouton auquel j'ai affecté la macro.
    Comme je l'ai dit le lien est correctement inséré,et sous la bonne forme.
    Mais je ne comprends pas pourquoi mon fichier se ferme après chaque clic sur un lien?

  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
    Donc, ton problème t'est spécifique puisqu'il ne se produit pas chez moi.
    Tu n'aurais pas une "cochonnerie" dans Worksheet_deactivate de ta feuille de calculs ou ailleurs ?
    En "principe", et même en pratique, avant de fermer Excel, et si ton fichier Excel a été modifié, tu devrais avoir un message à la fermeture pour te demander si tu veux enregistrer ton fichier.
    Or là, lien ajouté, donc fichier modifié, tu n'en as pas. Soit Excel se plante, soit tu as quelque part "Application.quit" après un "ActiveWorkbook.close False".
    Pour qu'Excel se plante, il y a plusieurs raisons possible mais d'où on est...

  8. #8
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    217
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 217
    Points : 66
    Points
    66
    Par défaut
    Salut,
    cela ne se produit pas spécifiquement quand je viens d'insérer un lien, mais même quand j'ouvre mon fichier et que je clique sur un lien déjà existant.
    Le problème étant que je n'ai d'"application.quit" nulle part!
    Excel reste ouvert mais le classeur se ferme (comme je l'ai dit c'est pas pratique).
    Il y a pas mal d'instabilités au niveau d'office sur le réseau de l'entreprise, mais j'aimerais au moins régler ce problème-là!

  9. #9
    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
    Ok, tu es sur réseau. Faut tout nous dire !
    Malheureusement, là il m'est difficile de tester quoi que ce soit et donc de t'aider. Désolé mais je suis obligé de passer la main à quelqu'un qui travaille vraiment
    Bonne chance.

  10. #10
    Membre éprouvé
    Avatar de fred65200
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 901
    Points : 1 207
    Points
    1 207
    Par défaut
    bonsoir,

    tu n'aurais pas un thisworkbook.close ou activeworkbook.close qui traine?

    cordialement

  11. #11
    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
    Hello Fred,
    Citation Envoyé par fred65200 Voir le message
    bonsoir,

    tu n'aurais pas un thisworkbook.close ou activeworkbook.close qui traine?

    cordialement
    T'a pas tout lu

  12. #12
    Membre éprouvé
    Avatar de fred65200
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 901
    Points : 1 207
    Points
    1 207
    Par défaut
    bonjour ouskel'n'or

    autant pour moi!

    @+

  13. #13
    Membre habitué Avatar de scully2501
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 184
    Points : 148
    Points
    148
    Par défaut
    Es tu peux pas nous montrer ton code vba?

  14. #14
    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
    Le code ne semble pas être en cause. Il fonctionne parfaitement sur mon poste (perso sans réseau) Tu l'as sur la première discussion.
    Bonne chance

  15. #15
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    217
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 217
    Points : 66
    Points
    66
    Par défaut
    Citation Envoyé par ouskel'n'or Voir le message
    Ok, tu es sur réseau. Faut tout nous dire !
    Malheureusement, là il m'est difficile de tester quoi que ce soit et donc de t'aider. Désolé mais je suis obligé de passer la main à quelqu'un qui travaille vraiment
    Bonne chance.
    Pas de souci,merci pour ton attention tout de même!
    M

Discussions similaires

  1. Feuille Excel vers document Word.
    Par lecail65 dans le forum Excel
    Réponses: 2
    Dernier message: 26/03/2009, 14h05
  2. [CS3] Lien vers document word
    Par dan-fa dans le forum Dreamweaver
    Réponses: 4
    Dernier message: 08/07/2008, 10h21
  3. Lien vers document word ou classeur excel
    Par Dehoust dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 09/07/2007, 09h54
  4. [VB6 - Word] Insertion d'entêtes dans un document Word
    Par tmcgrady dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 27/09/2006, 14h45
  5. Fusion requête Access 2003 vers document word
    Par davidf dans le forum Access
    Réponses: 2
    Dernier message: 17/06/2005, 13h46

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