macro Lien Hypertexte pour trouver fichier dans dossiers

thimote

XLDnaute Nouveau
Bonjour,

je susi en trainde créer un fihcier excel et j'aurais besoin d'une macro qu'i je pense est réalisable et me permetterait de facilite grandement mon travail :
j'ai un tableau avec une liste de produits, chaque produit a un code correspondant, pour chaqun de ces codes, dans un dossier un fichier Excel ou Word correspond, ou l'on retrouve dans le nom du fichier le code du produit suivi de l'indice (A,B,C..) correpsondant a la dernière mise a jour. donc mon but serait d'arriver a avoir dans le fihcier Excel dans la colonne à coter du code le lien qui correspond au fichier qui a le bon code et l'indice le plus haut.

Je joint un image montrant le problème, pour exemple le premier produit 1 a le code H03A, il faut dans la case à coter le lien du fichier qi se trouve dans le dossier, et donc le ficher H03A 991229 C , aussi il serrait peut etre possible d'utiliser la date modification du fichier, la plus récente étant la dernière a jour.

Auriez vous des propositions a me faire ? je suis débutant et la c'est vraiment la galère pour moi !

Merci Beaucoup d'avance
 

Pièces jointes

  • Liste produit.jpg
    Liste produit.jpg
    75.8 KB · Affichages: 98

Dranreb

XLDnaute Barbatruc
Re : macro Lien Hypertexte pour trouver fichier dans dossiers

À essayer dans le module de la feuille:
VB:
Option Explicit

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim NomFic As String, DateFic As Date, MeilDateFic As Date, MeilNomFic As String
If Target.Column <> 4 Or Target.Count <> 1 Then Exit Sub
If Target.Value = "" Then Exit Sub
ChDrive ThisWorkbook.Path: ChDir ThisWorkbook.Path
NomFic = Dir(Target.Value & "*")
Do While NomFic <> ""
   DateFic = FileDateTime(NomFic)
   If DateFic > MeilDateFic Then MeilDateFic = DateFic: MeilNomFic = NomFic
   NomFic = Dir: Loop
If MeilNomFic <> "" Then
   ThisWorkbook.FollowHyperlink MeilNomFic
Else
   MsgBox "Il n'existe aucun fichier """ & Target.Value & "*"" sur" & vbLf & CurDir, vbCritical, "Double clic sur nom de fichier"
   End If
End Sub
À +
 

thimote

XLDnaute Nouveau
Re : macro Lien Hypertexte pour trouver fichier dans dossiers

À essayer dans le module de la feuille:
VB:
Option Explicit

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim NomFic As String, DateFic As Date, MeilDateFic As Date, MeilNomFic As String
If Target.Column <> 4 Or Target.Count <> 1 Then Exit Sub
If Target.Value = "" Then Exit Sub
ChDrive ThisWorkbook.Path: ChDir ThisWorkbook.Path
NomFic = Dir(Target.Value & "*")
Do While NomFic <> ""
   DateFic = FileDateTime(NomFic)
   If DateFic > MeilDateFic Then MeilDateFic = DateFic: MeilNomFic = NomFic
   NomFic = Dir: Loop
If MeilNomFic <> "" Then
   ThisWorkbook.FollowHyperlink MeilNomFic
Else
   MsgBox "Il n'existe aucun fichier """ & Target.Value & "*"" sur" & vbLf & CurDir, vbCritical, "Double clic sur nom de fichier"
   End If
End Sub
À +

Merci beaucoup, je vais essayer, mais ou je doit la mettre ? dans "ThisWorkBook" ? et du coup je doit remplir des choses ou je la met tel quel ? (je suis débutant..)
 

thimote

XLDnaute Nouveau
Re : macro Lien Hypertexte pour trouver fichier dans dossiers

du coup j'ai changer le cemin comme ça :

Option Explicit

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim NomFic As String, DateFic As Date, MeilDateFic As Date, MeilNomFic As String
If Target.Column <> 4 Or Target.Count <> 1 Then Exit Sub
If Target.Value = "" Then Exit Sub
ChDrive "\\192.168.1.9\nasdata\GROUP sur serveurnas\DP-CST- FL\R.A.C": ChDir "\\192.168.1.9\nasdata\GROUP sur serveurnas\DP-CST- FL\R.A.C"
NomFic = Dir(Target.Value & "*")
Do While NomFic <> ""
DateFic = FileDateTime(NomFic)
If DateFic > MeilDateFic Then MeilDateFic = DateFic: MeilNomFic = NomFic
NomFic = Dir: Loop
If MeilNomFic <> "" Then
ThisWorkbook.FollowHyperlink MeilNomFic
Else
MsgBox "Il n'existe aucun fichier """ & Target.Value & "*"" sur" & vbLf & CurDir, vbCritical, "Double clic sur nom de fichier"
End If
End Sub

mais j'obtient:

"Erreur d'exécution '5':

Argument ou appel de procédure incorrect"

est ce que j'ai bien mis le chemin comme il fallait ?
 

Dranreb

XLDnaute Barbatruc
Re : macro Lien Hypertexte pour trouver fichier dans dossiers

Pour ChDrive C'est "C"
et pour Chdir "C:\quelque chose. Il faut la lettre du lecteur au début.
Remarque: ça ne veut pas dire qu'elle doit obligatoirement correspondre à un périphérique physique: un répertoire réseau interne à la boîte peut lui être affectée. Mais il faut la lettre.

P.S. Et si ça risque de ne pas être la même lettre pour tout le monde, le mieux serait de mettre le classeur avec les fichiers. Comme ça ce sera toujours ThisWorkbook.Path quelle que soit cette lettre.
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 685
Messages
2 090 930
Membres
104 702
dernier inscrit
Hugotheking