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

VBA Access Discussion :

Modifier un lien hypertexte par VBA [AC-2010]


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Août 2009
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Août 2009
    Messages : 77
    Par défaut Modifier un lien hypertexte par VBA
    Bonjour !

    Question toute bête : Comment fait-on pour modifier un lien hypertexte par VBA ?

    Je suis dans un formulaire basé sur une table qui contient un champ Lien Hypertexte (MonLien).

    Je crée un bouton sur lequel je clique, et j'aimerais simplement que le lien hypertexte de mon champ devienne : C:\truc\bidule.docx

    J'ai bien essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MonLien.Hyperlink.Address = "C:\truc\bidule.docx"
    ou même
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MonLien.Hyperlink.Address = "#C:\truc\bidule.docx#"
    Mais j'ai un message d'erreur m'informant que cette propriété est en lecture seule.

    En fouillant sur le web, j'ai découvert HyperlinkPart, et j'ai pensé que je pouvais écrire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HyperlinkPart(MonLien, acAddress) = "C:\truc\bidule.docx"
    Mais il parait que "Un appel de fonction dans la partie gauche de l'affectation doit renvoyer Variant ou Object"

    Quelle est mon erreur sûrement très bête ?

  2. #2
    Membre émérite
    Avatar de mumen
    Homme Profil pro
    Développement à façon multisecteur.
    Inscrit en
    Mars 2004
    Messages
    566
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Développement à façon multisecteur.

    Informations forums :
    Inscription : Mars 2004
    Messages : 566
    Par défaut
    Bonjour,
    Mais j'ai un message d'erreur m'informant que cette propriété est en lecture seule.
    Il me semble probable que ton jeu de données soit en lecture seule. Si tu essayes de le changer par le menu "Lien Hypertexte", cela fonctionne ?

  3. #3
    Membre actif
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Août 2009
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Août 2009
    Messages : 77
    Par défaut
    Citation Envoyé par mumen Voir le message
    Si tu essayes de le changer par le menu "Lien Hypertexte", cela fonctionne ?
    Oui, absolument...

  4. #4
    Membre émérite
    Avatar de mumen
    Homme Profil pro
    Développement à façon multisecteur.
    Inscrit en
    Mars 2004
    Messages
    566
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Développement à façon multisecteur.

    Informations forums :
    Inscription : Mars 2004
    Messages : 566
    Par défaut
    Bonjour

    Ne connaissant pas encore cette propriété je teste comme suit :

    Sous Access 2010, je crée un formulaire. J'ajoute deux boutons Commande1 et Commande2

    Sur l'évènement OnClic de Commande2 je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        Me.Commande1.Hyperlink.Address = "http:\\www.google.fr"
    ou ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        Me.Commande1.HyperlinkAddress = "http:\\www.google.fr"
    Et cela fonctionne. Et c'est pareil avec un fichier de mon disque dur.

  5. #5
    Membre actif
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Août 2009
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Août 2009
    Messages : 77
    Par défaut
    Citation Envoyé par mumen Voir le message
    Sur l'évènement OnClic de Commande2 je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Me.Commande1.Hyperlink.Address = "http:\\www.google.fr"
    Me.Commande1.HyperlinkAddress = "http:\\www.google.fr"
    Et cela fonctionne.
    Oui, je viens de tester, ça, ça fonctionne. Mais tout se gâte si ton formulaire est basé sur une table, et sur le clic de ton bouton Commande1 tu essaies d'attribuer un lien hypertexte à un champ de la table sur ton formulaire.

    Evénement OnClick de ton bouton Commande1 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.ChampDeMaTable.Hyperlink.Address = "http:\\www.google.fr"
    C'est là qu'est l'os...

    Si j'essaie ta 2ème méthode (HyperLinkAdress - en un seul mot), j'ai carrément "Membre de données ou de méthode introuvable"

  6. #6
    Membre émérite
    Avatar de mumen
    Homme Profil pro
    Développement à façon multisecteur.
    Inscrit en
    Mars 2004
    Messages
    566
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Développement à façon multisecteur.

    Informations forums :
    Inscription : Mars 2004
    Messages : 566
    Par défaut
    Salut,

    Mais tout se gâte si ton formulaire est basé sur une table, et sur le clic de ton bouton Commande1 tu essaies d'attribuer un lien hypertexte à un champ de la table sur ton formulaire.
    Bien. On avance.

    La question, c'est de savoir si le lien hypertexte est déjà déclaré au niveau design de la table, dans le champ. Vérifie et si c'est le cas, enlève cette déclaration (EstHyperLien = Faux) pour voir si tu peux alors accéder à la propriété "Hyperlink.Address" du contrôle de ton formulaire. Si cela fonctionne, alors tu auras déjà trouvé une des deux solutions à ton problème.

    a+

    PS : on laisse tomber HyperlinkAddress, ça doit être un résidu de compatibilité.

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

Discussions similaires

  1. Liens Hypertextes Par Mail
    Par maverick91 dans le forum VBA Access
    Réponses: 1
    Dernier message: 18/07/2007, 15h09
  2. ouvrir lien hypertexte par bouton de commande
    Par tomas dans le forum IHM
    Réponses: 4
    Dernier message: 18/06/2007, 08h58
  3. lien hypertexte en VBA
    Par admnico dans le forum VBA Access
    Réponses: 2
    Dernier message: 07/06/2007, 12h46
  4. Réponses: 4
    Dernier message: 17/05/2007, 14h17
  5. Comment modifier un lien hypertexte dans Word
    Par QuickSave dans le forum Delphi
    Réponses: 3
    Dernier message: 05/01/2007, 13h11

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