liens hypertexte dans Listview d' un usf

flaneur

XLDnaute Junior
Bonjour à tous,

je sollicite votre aide , si possible:

j'ai un BDD conséquente de documents, notices, plans et vidéos sur un DD externe.
Grace a mes talents ( en utilisant le copier coller de vos réponses ) j 'ai crée un truc !! :(
dans mon USF, la Listview me renvoi bien mes recherches, mais les liens hypertextes
(il y en aura beaucoup...) ne fonctionne pas depuis celle ci.. j 'ai lu beaucoup de chose
sur le site mais je ne m 'en sort pas.
les feuilles sauf la feuille "recherche" seront masquées.


merci pour votre compréhension en lisant mes bouts de codes modifiés...
je vous joint mon fichier avant de mettre les yeux à dormir.

en vous remerciant.
 

Pièces jointes

  • test listbox 10.xlsm
    216.4 KB · Affichages: 67

Lone-wolf

XLDnaute Barbatruc
Bonjour flaneur

Un essai avec l'ajout du lien hypertext. Clique sur l'item. Et la prochaine fois, met le contrôle exacte. Ce n'est pas une ListBox, mais une ListView; ce qui est différent.
 

Pièces jointes

  • test listview 11.xlsm
    217.8 KB · Affichages: 115

flaneur

XLDnaute Junior
Bonjour à tous,
Lone-wolf , je te remercie pour ta réponse, les liens apparaisse bien comme tel dans ma Listview,
mais j 'otiens l 'erreur 432 ou erreur d'execution '-2147221014(800401ea) impossible d’ouvrir le fichier spécifié.
en cherchant , il apparaîtrait que cela soit un pb de nom, voila ce que me montre le debugueur :

Private Sub ListView1_ItemClick(ByVal Item As MSComctlLib.ListItem)
ThisWorkbook.FollowHyperlink Item
End Sub

j 'ai changé les Liens hypertextes, cela ne change rien.

merci.
 

job75

XLDnaute Barbatruc
Bonjour flaneur, Lone-wolf, le forum,

Il faut indiquer le chemin d'accès complet si l'on veut aboutir à quelque chose !!!
Code:
Private Sub ListView1_ItemClick(ByVal Item As MSComctlLib.ListItem)
ThisWorkbook.FollowHyperlink ThisWorkbook.Path & "\" & Item & ".xlsx"
End Sub
Par ailleurs l'UserForm doit être ouvert en non modal :
Code:
Public Sub affichage_formulaire()
' affichage du formulaire
UserForm1.Show 0 'non modal
End Sub
Fichiers joints, à télécharger dans le même répertoire (le bureau).

Bonne journée.
 

Pièces jointes

  • test listview(1).xlsm
    231.2 KB · Affichages: 84
  • POSTE A SOUDER.xlsx
    16.7 KB · Affichages: 54
  • MOTEUR 1.xlsx
    16 KB · Affichages: 54

flaneur

XLDnaute Junior
Bonsoir Job75, Lone-wolf

Désolé pour cette réponse tardive.
merci à tous les deux , super travail !!

Pour l 'explication :
dans un disque dur externe, il y a une grande base de données de plans , images, et vidéos pour
des opérateurs et agents de maintenance .
le fichier sera sur le DD externe avec un raccourci sur le Bureau du PC, et permettra une recherche
plus aisée.
J 'ai pas trouvé plus simple ( et déjà trop compliqué pour moi !! ) :(
encore merci.
PS : pour les personnes ayant une erreur à l 'ouverture, renommer la première feuille à l 'identique.
 

Lone-wolf

XLDnaute Barbatruc
Bonjour flaneur, job75, le Forum :):):)

@flaneur: pour ne pas être contraint de chaque fois cliquer sur le bouton de recherche, je l'ai supprimé et mis la macro dans l'évenement AfterUpdate de TextBox1. Ici tu inscrit le nom et ensuite TAB du clavier. J'ai aussi rajouter le bouton de réduction pour le formulaire, pour réduire la fenêtre de celui-ci, si besoin. Avec le bouton Retour, celui-ci fermera l'userfom et affichera le classeur principal.
 

Pièces jointes

  • Base.zip
    221 KB · Affichages: 90

flaneur

XLDnaute Junior
Le forum, Lone-wolf,

merci, c 'est en effet bien mieux ainsi !!
j ai une erreur d exécution que Je pensais pouvoir trouver seul, grosse erreur !!
en cliquant sur l 'hyperlien dans la listeview J 'ai l erreur d 'exécution '-2147221014(800401ea)
le débogage me dit :

Private Sub ListView1_ItemClick(ByVal Item As MSComctlLib.ListItem)
ThisWorkbook.FollowHyperlink ThisWorkbook.Path & "\" & Item & ".xlsx"
Application.WindowState = xlNormal
Me.Hide
End Sub

je pensais que cela était due à l 'ouverture de plusieurs liens, mais en les supprimant ,
j ai toujours la même erreur...J ai Excel 2010.
si tu pouvais m 'éclairer.( à mon niveau c 'est meme plus un phare , plutot une canne blanche..)
merci
 

Lone-wolf

XLDnaute Barbatruc
Bonjour flaneur :), job :), le Forum :)

D'après ce que tu me dis, alors il y a autre chose dans le reste du code qui est mal écrit ou il y a quelque chose dans le classeur qui rentre en conflit, je ne saurait te dire.

EDIT: je viens de reprendre le dossier Base avec les deux fichiers à ouvrir. Tout c'est passé sans accros.
 
Dernière édition:

Lone-wolf

XLDnaute Barbatruc
Re

Une autre solution que je viens de tester. Dans un module ajoute ceci

Public Const chemin As String = "C:\Users\Ton nom\Desktop\Base\" à remplacer par le vrai chemin.

Dans le formulaire en haut juste après les déclarations Private xxxx, inscrit Dim fichier as string, ensuite

Private Sub ListView1_ItemClick(ByVal Item As MSComctlLib.ListItem)
fichier = Item & ".xlsx"
Workbooks.Open (chemin & fichier)
Application.WindowState = xlNormal
Me.Hide
End Sub

EDIT: ça marche aussi avec ThisWorkbook.FollowHyperlink chemin & fichier
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
311 725
Messages
2 081 945
Membres
101 849
dernier inscrit
florentMIG