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 Word Discussion :

Liens dans listbox


Sujet :

VBA Word

  1. #1
    Membre régulier Avatar de tony76
    Homme Profil pro
    Développeur pour le plaisir....
    Inscrit en
    Avril 2014
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur pour le plaisir....

    Informations forums :
    Inscription : Avril 2014
    Messages : 131
    Points : 116
    Points
    116
    Par défaut Liens dans listbox
    Bonjour à tous,

    Voilà je souhaiterais une interface utilisateur avec des boutons qui pointe vers un dossier, et sous le bouton l'arborescence
    (uniquement les dossiers) qu'il contiens accessible en cliquant dessus (c'est la que sa coince)

    l'interface, la liste du dossier, sa c'est fait (reste a peaufiner)
    Nom : lien-word.JPG
Affichages : 123
Taille : 24,6 Ko


    Ce qui me pause problème c'est les liens voici ce que j'ai fait mais sans succès

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Private Sub UserForm_Initialize()
     
        For i = 0 To UserForm1.ListBox1.ListCount
            Dim listLien
            listLien = UserForm1.ListBox1.List(i, 0)
            ThisDocument.Hyperlinks.Add Anchor:=listLien, Address:="C:\Users\V_Core\Documents\" & listLien, TextToDisplay:=listLien
        Next i
    End Sub
    la réponse que j'ai et : Erreur d'exécution '424': Objet requis

    merci par avance pour votre aide.
    Tout se sait un jour, il suffit de l'apprendre !

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par tony76 Voir le message
    Bonjour,

    Dans la création de votre lien, Anchor doit être un objet range dans votre document. Dans votre code, listlien n'est qu'une variable de type string.
    Un exemple dans cette discussion : 1a-nb-vers-1b-na-copie-liens

    En clair, il vous faut sélectionner la chaîne à partir de laquelle s'appliquera le lien.

  3. #3
    Membre régulier Avatar de tony76
    Homme Profil pro
    Développeur pour le plaisir....
    Inscrit en
    Avril 2014
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur pour le plaisir....

    Informations forums :
    Inscription : Avril 2014
    Messages : 131
    Points : 116
    Points
    116
    Par défaut
    Merci pour ta réponse Eric KERGRESSE

    Toute fois faire un dans une feuil ok pas de souci

    ce qui me pause un souci comment faire un select du contenu d'une listbox ?

    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
     
    Private Sub UserForm_Initialize()
     
        Dim i As Integer
        Me.Caption = NOM_VERSION
     
        '*******************Path Dossier (Boutton)***************
     
        Variable.Lister_Dossier (Variable.GE)
     
     
        For i = 0 To UserForm1.ListBox1.ListCount - 1
            Dim listLien
            listLien = UserForm1.ListBox1.List(i, 0)
            ActiveDocument.Hyperlinks.Add Anchor:=Selection.Range, Address:="C:\Users\V_Core\Documents\" & listLien, TextToDisplay:=listLien
        Next i
    End Sub
    Pour l'instant j'ai bien les liens mais dans la feuil moi je souhaiterais dans la listbox et quand je clique j'arrive dans le dossier en question

    Nom : lien_dans_feuil_word.JPG
Affichages : 112
Taille : 68,0 Ko


    Merci à tous par avance.
    Tout se sait un jour, il suffit de l'apprendre !

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par tony76 Voir le message
    Dans un module standard :
    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
     
     
    Sub LancerLHyperlien(ByVal NomDuLien As String)
     
    Dim I As Integer
    Dim DocEnCours As Document
     
        Set DocEnCours = ActiveDocument
        With DocEnCours.Range
             For I = 1 To .Hyperlinks.Count
                 With .Hyperlinks(I)
                    If .Range.Text = NomDuLien Then
                       .Follow NewWindow:=False, AddHistory:=True
                    End If
                 End With
             Next I
        End With
        Set DocEnCours = Nothing
     
    End Sub
    Dans le userform, si le ListBox est du type FmMultiSelectSingle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub ListBox1_Click()
            LancerLHyperlien ListBox1.Value
    End Sub

  5. #5
    Membre régulier Avatar de tony76
    Homme Profil pro
    Développeur pour le plaisir....
    Inscrit en
    Avril 2014
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur pour le plaisir....

    Informations forums :
    Inscription : Avril 2014
    Messages : 131
    Points : 116
    Points
    116
    Par défaut
    Merci beaucoup Eric KERGRESSE


    si je peux abusé de tes connaissances

    J'ai une petite erreur dans la condition
    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
     
    Public Sub LancerLHyperlien(ByVal NomDuLien As String)
     
    Dim I As Integer
    Dim DocEnCours As Document
     
        Set DocEnCours = ActiveDocument
        With DocEnCours.Range
             For I = 1 To .Hyperlinks.Count
                 With .Hyperlinks(I)
                    If .Range.Text = NomDuLien Then
                       .Follow NewWindow:=False, AddHistory:=True '<-- ICI
                    End If
                 End With
             Next I
        End With
        Set DocEnCours = Nothing
     
    End Sub
    Le message d'erreur: Erreur d’exécution '4198' la commande a échoué
    Tout se sait un jour, il suffit de l'apprendre !

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par tony76 Voir le message
    Mettez en ligne un exemple pour voir.

  7. #7
    Membre régulier Avatar de tony76
    Homme Profil pro
    Développeur pour le plaisir....
    Inscrit en
    Avril 2014
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur pour le plaisir....

    Informations forums :
    Inscription : Avril 2014
    Messages : 131
    Points : 116
    Points
    116
    Par défaut
    Merci pour l'aide mais mon fichier ne vaux pas passer

    "Fichier non valide" je ne sais pas pourquoi.
    Tout se sait un jour, il suffit de l'apprendre !

  8. #8
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par tony76 Voir le message
    Il faut le ziper.

  9. #9
    Membre régulier Avatar de tony76
    Homme Profil pro
    Développeur pour le plaisir....
    Inscrit en
    Avril 2014
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur pour le plaisir....

    Informations forums :
    Inscription : Avril 2014
    Messages : 131
    Points : 116
    Points
    116
    Par défaut
    Bonjour et encore merci

    Interface_d_acces_rapide.zip

    ne pas faire attention au commentaires j'ai fait de nombreux test.
    Tout se sait un jour, il suffit de l'apprendre !

  10. #10
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par tony76 Voir le message
    Les liens ne peuvent pas être appliqués sur les items d'une listbox. Il faudrait d'abord exporter les répertoires dans le document (dans un tableau par exemple) et créer les liens.
    Une autre solution consiste à lister dans une autre listbox le contenu des répertoires et de lancer l'ouverture du fichier choisi avec un bouton.

    Pièce jointe 574069

  11. #11
    Membre régulier Avatar de tony76
    Homme Profil pro
    Développeur pour le plaisir....
    Inscrit en
    Avril 2014
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur pour le plaisir....

    Informations forums :
    Inscription : Avril 2014
    Messages : 131
    Points : 116
    Points
    116
    Par défaut
    Merci pour sais astuce, je suis pas trop pour exporter dans un tableau dommage que se que je souhaite ne marche pas.

    j'ai 1 question peux t'on récupérer la valeur de l'item lorsqu'on clique sur la listbox ?
    Tout se sait un jour, il suffit de l'apprendre !

  12. #12
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par tony76 Voir le message
    Si la propriété MultiSelect de la ListBox est 0 - fmMultiSelectSingle :

  13. #13
    Membre régulier Avatar de tony76
    Homme Profil pro
    Développeur pour le plaisir....
    Inscrit en
    Avril 2014
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur pour le plaisir....

    Informations forums :
    Inscription : Avril 2014
    Messages : 131
    Points : 116
    Points
    116
    Par défaut
    Bonjour à tous,

    je reviens vers vous, pour ce que sa intéresse pour avoir des liens cliquable dans une listebox
    j'avais la solution sous les yeux pourtant.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub ListBox1_Click()
        Shell Environ("WINDIR") & "\explorer.exe " & Variable.GE & Mid(ListBox1.Value, 4), vbNormalFocus
    End Sub
    Pour le Mid(ListBox1.Value, 4) c'est juste dans la listebox j'insert un point avec des espaces pour les retirer.
    Pour les détails voir dans le fichier zip plus haut
    Tout se sait un jour, il suffit de l'apprendre !

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

Discussions similaires

  1. lien hypertexte dans listbox
    Par jcbid dans le forum Macros et VBA Excel
    Réponses: 20
    Dernier message: 09/05/2017, 12h48
  2. Liens hypertexte dans LISTBOX
    Par yoyo77yo dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 12/04/2017, 22h02
  3. Lien hypertexte dans listbox
    Par Gecoo dans le forum Macros et VBA Excel
    Réponses: 25
    Dernier message: 22/04/2010, 10h44
  4. Lien cliquable dans listbox
    Par sihammaster dans le forum VB.NET
    Réponses: 2
    Dernier message: 27/12/2009, 13h34

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