Bonjour à tous,

voila le problème :

J'ai deux fichier Excel. Sur le premier, je récupère les noms de fichiers situés dans un certain répertoire et je créé grace au nom du fichier et du repertoire un hyperlink dans une cellule.

la macro simplifié ressemble à :

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
21
 Dim objFSO, objDossier, objFichier
    Dim Repertoire ' Repertoire source des fichiers

    On Error Resume Next
    Repertoire = InputBox("Chemin à parcourir :")
    
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objDossier = objFSO.GetFolder(Repertoire)
    i = 3
    For Each Fichier In objDossier.Files
        
        ' Ajout du lien hypertexte vers le fichier
        Range("C" & Trim(Str(i + Num))).Select
        ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _
        Repertoire & "/" & Fichier.Name, _
        TextToDisplay:="FichierMachin"

    Next Fichier
    
    Set objFSO = Nothing
    Set objDossier = Nothing
la macro marche parfaitement pour le premier fichier. Seulement, lorsque je copie la cellule et que je la colle dans le deuxième fichier Excel (situé dans un répertoire différent). Le lien est alors innexploitable.

Il semble que le lien soit créé de manière Relative et non absolut. Dans mon cas, les fichiers à atteindres sont situés sur le réseau.

Ex pour le repertoire : \\ServeurMachin\dossier bla\dossier blabla

Le lien que j'obtiens avec la macro (clique droit->modifier lien hypertexte) ressort avec la forme suivante :

dossier%20bla/dossier%20blabla/FichierMachin.doc

Il n'y as donc plus de trace du nom de serveur dans le lien, et le copier/coller de la cellule avec hyperlink vers mon fichier escel 2 est innéficace

Y as t'il une manière pour que le lien soit enregistrer de manière absolut dans la cellule ? Ou bien Comment copier correctement un lien d'un fichier vers un autre ?

D'avance merci pour vos réponse