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 de lien hypertexte dans une zone de texte par un bouton parcourir [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Inscrit en
    Août 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 26
    Points : 9
    Points
    9
    Par défaut insertion de lien hypertexte dans une zone de texte par un bouton parcourir
    Bonjour,

    J'ai créé un fichier Excel pour une base de données pour mon travail. J'ai ajouté un bouton qui ouvre un formulaire de saisie de nouvelles données. Sur ce userform, j'ai besoin que les utilisateurs puissent sélectionner des liens hypertexte pour les insérer dans une zone de texte via un bouton parcourir.
    J'ai programmé le bouton parcourir et il ouvre bien la fenêtre "insérer lien hypertexte" mais je ne sais pas comment récupérer le lien pour qu'il apparaisse dans ma zone de texte ("LIEN") du userform.
    J'ai vu à plusieurs reprises cette question sur le net mais jamais personne ne répond. Je suis désespérée car même mon service informatique ne sais pas...

    Voici le code de mon bouton "PARCOURIR"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub parcourir_Click()
    Application.Dialogs(xlDialogInsertHyperlink).Show
    End Sub
    Vous êtes mon dernier espoir! Merci d'avance pour votre aide.

  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 543
    Points
    15 543
    Par défaut
    Ne désespère pas, la solution existe, je l'ai rencontrée
    Il y a effectivement un problème de syntaxe. Je jète un oeil car je ne l'ai plus en tête mais la solution a déjà été donnée sur ce forum. Déjà une chose, le lien qui se trouve dans la zone de texte ne peut être utilisé tel quel. Bref, je reviens

    Je suppose ta zone de texte dans une feuille de calculs et le lien hypertexte associé à cette zone de texte.
    C'est Follow qu'il faut employer.
    Tu as un exemple dans l'aide en ligne
    Citation Envoyé par l'aide en ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheets(1).Shapes(1).Hyperlink.Follow NewWindow:=True
    Si j'ai bien compris ta demande...

  3. #3
    Futur Membre du Club
    Inscrit en
    Août 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 26
    Points : 9
    Points
    9
    Par défaut
    Heu non, ma zone de texte n'est pas dans une feuille de calcul mais dans un formulaire (userform) et c'est là toute la difficulté (pour moi). Il faut que le lien hypertexte (l'adresse du fichier) vienne se mettre dans ma zone de texte du formulaire. Le bout de code que j'ai mis dans mon 1er message c'est juste pour ouvrir la boite de dialogue d'insertion de lien hypertexte maintenant faut que je trouve la suite qui permet de récupérer l'info (l'adresse du fichier) et la mettre là ou je veux (ma zone de texte).

    Je joins en pièce jointe une capture d'écran pour aider les personnes à comprendre mon prob.


    Merci de votre aide.
    Images attachées Images attachées  

  4. #4
    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 543
    Points
    15 543
    Par défaut
    Je ne sais pas si j'ai bien compris mais voilà :
    Je suppose que tu récupères le chemin et le nom de ton lien quelque part pour le placer dans un textbox...
    Tu as donc l'adresse du lien dans ce textbox et tu veux créer le lien.
    Ce lien tu dois le placer quelque part
    Tu ne peux le placer que dans un objet d'une feuille de calculs Shape ou range
    Pour le placer tu dois utiliser Hyperlinks.add. F1 sur Hyperlinks puis Add -> Hyperlinks te donne la syntaxe.
    Pour t'aider, place une textbox et un bouton tout bêtes dans un userform et place ce code dans la feuille de code de l'userform
    Change simplement l'adresse du fichier et exécute. Le lien ira se placer en A1.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub CommandButton1_Click()
    Dim NomFich as string
        NomFich = TextBox1
        With Worksheets(1)
            .Hyperlinks.Add .Range("A1"), NomFich
        End With
     
    End Sub
     
    Private Sub UserForm_Initialize()
    'TextBox1 = "C:\Documents and setting\Le user\tes docs\Le nom du Classeur, de l'image ou du doc"
    TextBox1 = "D:\xls\Classeur1.xls"
    End Sub
    Est-ce que tu souhaites ?
    Tu dis
    A+

  5. #5
    Futur Membre du Club
    Inscrit en
    Août 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 26
    Points : 9
    Points
    9
    Par défaut
    Je crois que je vais pleurer

    Je suppose que tu récupères le chemin et le nom de ton lien quelque part pour le placer dans un textbox...
    Non mais j'aimerais bien car justement c'est exactement cela que je veux...

    Ce lien tu dois le placer quelque part
    Tu ne peux le placer que dans un objet d'une feuille de calculs Shape ou range
    C'est bien dommage car moi je veux que cela se mette dans la textbox de mon userform.

    Je mets en pièce jointe carrement mon fichier comme cela tu auras une meilleure visibilité de mon casse tête.

    Merci de ta patience et de ton interêt.
    Fichiers attachés Fichiers attachés

  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 543
    Points
    15 543
    Par défaut
    Fallait le dire tout de suite :
    Citation Envoyé par toi, une fois reformulé
    Je souhaite sélectionner un fichier dans une liste afin que son nom s'affiche dans une textbox.
    Et une fois connus le chemin et le nom du fichier, je veux que le lien soit établi par un clic sur la textbox.
    Confirme-nous tout ça
    A+

    C'est bien dommage car moi je veux que cela se mette dans la textbox de mon userform.
    Ça, tu oublies ça. Définitivement !

  7. #7
    Futur Membre du Club
    Inscrit en
    Août 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 26
    Points : 9
    Points
    9
    Par défaut
    Si je dois oublier définitivement le fait d'inserer les liens hypertexte dans la textbox de mon userform mon problême n'a pas de solution.

    Ta reformulation n'est pas tout à fait correct.
    Et une fois connus le chemin et le nom du fichier, je veux que le lien soit établi par un clic sur la textbox.
    Je ne veux pas que le lien soit établi par un clic sur la textbox, je veux que lorsque je valide mon formulaire toutes mes données saisies dedans bascule dans la feuille de calcul exactement à leur place prévue (définies par un code déjà en place).

    S'il n'y a vraiement pas de solution,
    Je demanderais donc aux utilisateurs de rentrer eux même et directement les liens voulus dans la colonne prévue à cet effet en faisant: insertion>lien hypertexte ou CTRL+K

  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 543
    Points
    15 543
    Par défaut
    Je ne veux pas que le lien soit établi par un clic sur la textbox, je veux que lorsque je valide mon formulaire toutes mes données saisies dedans bascule dans la feuille de calcul exactement à leur place prévue (définies par un code déjà en place)
    Ça revient au même. Qu'un clic valide ton textbox ou que la validation se fasse à la fermeture de ton userform ou par un clic sur une image ou un clic sur la croix ou sur n'importe quel événement intercepté par un contrôle quelconque de l'userform, c'est tout pareil.
    Au lieu de mettre le code dans le clic d'un bouton, place-le dans UserForm_QueryClose ou dans tout autre événement de l'userform de ton choix.
    Qu'est-ce qui te manque ?

  9. #9
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 903
    Points
    55 903
    Billets dans le blog
    131
    Par défaut
    Salut.

    Est-ce vraiment un lien hypertexte que tu veux insérer, ou bien veux-tu chercher un fichier pour en faire un lien hypertexte lorsque tu copieras les données du userform dans la feuille?
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  10. #10
    Futur Membre du Club
    Inscrit en
    Août 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 26
    Points : 9
    Points
    9
    Par défaut
    Bonjour,

    Dans mon userform ce n'est pas forcément le lien hypertexte que je veux insérer mais au moins le chemin(adresse) du fichier choisi. Car quand je valide le userform, la donnée de cette case remplie vient se mettre dans une cellule bien précise qui, elle, est au format lien hypertexte. Donc s'il existe une technique pour avoir au moins le chemin du fichier (en texte)dans ma textbox cela me convient.
    Et là ce qui me manque c'est le fait de récupérer le chemin que j'ai choisi dans ma boite dialogue "insérer lien hypertexte". Ma boite de dialogue s'ouvre bien lorsque je clique sur le bouton "parcourir" mais si je sélectionne le fichier voulu, il ne se passe rien (normal car il manque des lignes de programme que justement je cherche). Il faut que lorsque je sélectionne mon fichier dans cette boite de dialogue, le chemin vienne se mettre dans ma textbox.

    merci d'avance

  11. #11
    Futur Membre du Club
    Inscrit en
    Août 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 26
    Points : 9
    Points
    9
    Par défaut
    Bon ça y est j'ai trouvé!!!

    Donc je met la solution pour les autres personnes dans le même cas car j'ai dejà lu des posts où les gens ont trouvé d'eux même mais n'ont jamais mis la solution (trés malin)...

    Attention la voilà.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub parcourir_Click()
     
    Textbox1.Text = Application.GetOpenFilename("Tous,*.*", , "Choisir un fichier ...")
    DoEvents
     
    End Sub
    Et c'est tout!

    Merci quand même à ceux qui ont essayé de m'aider

  12. #12
    Candidat au Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Février 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Février 2012
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Inserer dans un textbos un lien hypertext sur un Userform
    Voici !!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub CommandButton1_Click()
     
    TextBox_.Text = "file:///" & Application.GetOpenFilename
    DoEvents
     
    End Sub

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

Discussions similaires

  1. [IP-2007] Lien hypertexte dans une zone de texte
    Par saxophtrion dans le forum InfoPath
    Réponses: 1
    Dernier message: 03/06/2012, 23h18
  2. Mettre un lien cliquable dans une zone de texte
    Par mlny84 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 07/09/2009, 22h23
  3. [WD-2003] Remplacer des liens Hypertextes dans les zones de texte
    Par Fanlou dans le forum VBA Word
    Réponses: 5
    Dernier message: 10/06/2009, 15h29
  4. Réponses: 7
    Dernier message: 07/06/2007, 20h09
  5. lien hypertexte dans une zone de liste
    Par corwin44 dans le forum Access
    Réponses: 1
    Dernier message: 02/11/2005, 11h48

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