XL 2010 lien hypertexte dans un userform

Barbouille79

XLDnaute Nouveau
Bonjour, comme je ne suis que débutante dans le domaine de la VBA, je ne suis pas sûre de savoir chercher les posts du même sujet. Veuillez m’en excuser d’avance, mais comme je ne sais pas vraiment ce que je cherche, c’est compliqué de l’exprimer clairement.

Voilà, je travaille actuellement sur base de donnée (excel), une base de quelques milliers de lignes.
Cette base est en réseau (appelé ici “passerelle”)
Afin de faciliter la recherche des informations pour mon équipe, j’ai créé une fenêtre de recherche (un userform). Et c’est après ça que coince!!!
:smirk:


Je ne sais pas inclure les liens hypertextes contenus dans ma base de données à mon formulaire.
Donc, c’est là que j’ai UN GRAND BESOIN DE VOUS.
Je voudrais que lorsque le userform est ouvert, on puisse cliquer sur la ligne qui intéresse et ouvrir le dossier qui en dépend.
Pas sûr que je sois très claire… franchement pas évident!!
Je peux vous faire parvenir un exemple de mon fichier si ça peut aider à m’aider
:wink:


Merci d’avance de venir à mon secours, je suis coincée et du coup je peux plus avancer!!!

A très vite
 

Pièces jointes

  • archives.zip
    118.1 KB · Affichages: 13

Barbouille79

XLDnaute Nouveau
Bonjour,

Si tu n'as pas modifié ton Excel c'est normal que ça ne fonctionne pas, car dans les cellules il y avait déjà un hyperlien, et pas un chemin. Ce qu'il te faut dans les cellules D__ là, c'est le chemin écrit en toutes lettres, pas un hyperlien ;)

Bonne continuation


Merci beaucoup de ta réactivité... mais là je vais abandonner!! j'y arrive pas!! je vais me faire une raison!
Le problème en question ne me parait pourtant pas si compliqué mais je ne comprends pas!
C'est la première fois que je n'arrive pas "bidouiller"... c'est trop pour moi! :(
 

Barbouille79

XLDnaute Nouveau
Merci beaucoup de ta réactivité... mais là je vais abandonner!! j'y arrive pas!! je vais me faire une raison!
Le problème en question ne me parait pourtant pas si compliqué mais je ne comprends pas!
C'est la première fois que je n'arrive pas "bidouiller"... c'est trop pour moi! :(

j'ai simplifier ma base de données. Finalement je me demande pourquoi j'avais 2 feuilles, alors qu'une suffit pour tout! je n'ai plus maintenant que ma feuille "Accueil" (base de ma listBox) ... et rien!! le néant total.
J'ai vraiment l'impression d'abuser, mais en tant qu'autodidacte... bah c'est pas simple! ;)
 

xUpsilon

XLDnaute Accro
Re,

Ne jamais baisser les bras, surtout quand la solution peut être fournie par quelqu'un d'autre.
Je vais essayer de t'expliquer comment faire pour que ça fonctionne et si ça ne fonctionne pas tu m'enverras ton fichier et je le ferai moi même.

Ton bout de code ici va suivre le chemin indiqué dans les cellules D__. Par chemin j'entends D:\____, suivant là où est stocké ton fichier. Par exemple, j'ai stocké le fichier Exemple.xlsx dans le dossier Test dans mes documents, le chemin sera le suivant :
C:\Users\NomDeLaSession\Documents\Test\Exemple.xlsx

Imaginons que cette adresse soit stockée en D3, et que ce soit le premier item de ma listbox.
Avec la ligne de code que je t'ai fournie, le code va aller chercher en D3 et suivre le chemin indiqué, à savoir donc ici C:\Users\NomDeLaSession\Documents\Test\Exemple.xlsx, et va l'ouvrir.

Tiens moi au courant

PS : Bonjour Dranreb, effectivement ça fonctionne aussi comme cela, il faudra simplement définir Cel par rapport à chaque item de ta listbox.
 

Barbouille79

XLDnaute Nouveau
Re,

Ne jamais baisser les bras, surtout quand la solution peut être fournie par quelqu'un d'autre.
Je vais essayer de t'expliquer comment faire pour que ça fonctionne et si ça ne fonctionne pas tu m'enverras ton fichier et je le ferai moi même.

Ton bout de code ici va suivre le chemin indiqué dans les cellules D__. Par chemin j'entends D:\____, suivant là où est stocké ton fichier. Par exemple, j'ai stocké le fichier Exemple.xlsx dans le dossier Test dans mes documents, le chemin sera le suivant :
C:\Users\NomDeLaSession\Documents\Test\Exemple.xlsx

Imaginons que cette adresse soit stockée en D3, et que ce soit le premier item de ma listbox.
Avec la ligne de code que je t'ai fournie, le code va aller chercher en D3 et suivre le chemin indiqué, à savoir donc ici C:\Users\NomDeLaSession\Documents\Test\Exemple.xlsx, et va l'ouvrir.

Tiens moi au courant

PS : Bonjour Dranreb, effectivement ça fonctionne aussi comme cela, il faudra simplement définir Cel par rapport à chaque item de ta listbox.

Je n'ai pas l'habitude de baisser les bras ... mais quand on tombe sur plus fort que soi!!!!
J'ai essayé... j'ai écris en toute lettre l'adresse du dossier à ouvrir (Je ne veux pas ouvrir le le fichier .pdf. Car il suffirait que quelqu'un change, même par inadvertance, le nom de ce fichier et ça ferait tout capoter!).
Bref... rien à faire, la vba ne passe pas par moi!! en tout cas pas cette fois! ;)
Je veux bien que tu m'aide.... :confused:
 

Dranreb

XLDnaute Barbatruc
À priori ce serait dans le module de l'UserForm :
VB:
Private Sub ListBox1_Click()
   Dim Cel As Range
   Set Cel = Rng(ListBox1.ListIndex + 1, 4)
   If Cel.Hyperlinks.Count >= 1 Then Cel.Hyperlinks(1).Follow
   End Sub
Remarque: Rng est une variable globale de l'UserForm (et même une propriété d'ailleurs, je me demande bien pourquoi), de type Variant mais qui aurait dû être typée As Range à mon avis.
 
Dernière édition:

xUpsilon

XLDnaute Accro
À priori ce serait dans le module de l'UserForm :
VB:
Private Sub ListBox1_Click()
   Dim Cel As Range
   Set Cel = Rng(ListBox1.ListIndex + 1, 4)
   If Cel.Hyperlinks.Count >= 1 Then Cel.Hyperlinks(1).Follow
   End Sub

C'était plutot sur du DblClick (enfin la différence est pas énorme mais juste que @Barbouille79 ne soit pas surpris ;)
Et ce serait Listindex + 3 je crois

Bonne continuation
 

Barbouille79

XLDnaute Nouveau
Mmh tout ça il faudrait l'expliquer à notre ami @Barbouille79 , car je crois que ses connaissances sont limitées en VBA ;)

Bonne continuation


suis en train de m'arracher les cheveux... je passe bien plus de temps que prévu à faire ce truc!
Vraiment, je vous serai reconnaissante, à l'un(e) ou l'autre, si vous pouviez me le faire!!
J'en peux plus là!! p't'être qu'après, en explorant la chose, j'arriverai à comprendre ... ou pas! :(:eek:
 

xUpsilon

XLDnaute Accro
Re,

Pour cela il va falloir envoyer un fichier complètement pret (au moins dans la structure), et on te renverra la solution. Le top serait que tu insères un exemple que tu puisses tester de ton coté histoire que l'on puisse vérifier que ça tourne bien.

Bonne continuation
 

Barbouille79

XLDnaute Nouveau
Re,

Pour cela il va falloir envoyer un fichier complètement pret (au moins dans la structure), et on te renverra la solution. Le top serait que tu insères un exemple que tu puisses tester de ton coté histoire que l'on puisse vérifier que ça tourne bien.

Bonne continuation

Génial!!! C'est un sauvetage en pleine mer déchaînée!!
je prépare mon fichier (avec des explications claires ;)) et je l'envoie comment ? en PJ ici? oui, je suppose!! ;)
 

Statistiques des forums

Discussions
312 033
Messages
2 084 805
Membres
102 672
dernier inscrit
gemo911