Lien vers fichier source

bonjour a tous,

je n'ai aucune idée comment faire , je vous appel donc à l'aide....

le fichier joint permet de retrouver certaines infos dans divers fichiers

Dans la liste des résultats généré par la macro, on à notamment (en colonne B) le numéro de la ligne ou se trouve mon information.

Mon souhait serait qu'en cliquant sur le numéro de ligne inscrit dans la cellule que ça m'ouvre automatiquement le fichier indiqué en colonne A ! (comme un lien hypertexte par exemple) si possible avec le curseur directement sur la bonne ligne ...

J'espère être clair...

d'avance un très grand merci a celui ou ceux qui pourront m'aider.

il faut placer le fichier txt dans un dossier ; ouvrir le xlsm et lancé la macro sur le dossier , pas directement sur le fichier txt.

je précise qu'en utilisation normal, j'ai plusieurs centaine de fichiers a analyser ....

et ma demande peut parfaitement être relier a un bouton . avec un clic qui transformerai le contenu de la cellule b en lien ... par exemple.

sans touché au reste du code qui me permet d'obtenir mes résultats de recherche

Bonjour,

pfff Votre fichier xlsm ne contient aucunes données.
Comment voulez-vous que l'on vous donne une solution ?
Si vous voulez avoir une proposition prenez au moins le temps d'y mettre des informations.
Désolé.

dan,

c'est pour cela que j'ai explique dans mon message la marche a suivre !

il faut placer le fichier txt dans un dossier, puis ouvrir l'Excel et ensuite demander la lecture programme; et indiquer le dossier dans lequel le fichier txt se trouve.

personne pour m'aider ?

UP svp

c'est pour cela que j'ai explique dans mon message la marche a suivre !

ce n'est pas complet. Votre fichier ne contient aucune données

il faut placer le fichier txt dans un dossier, puis ouvrir l'Excel et ensuite demander la lecture programme; et indiquer le dossier dans lequel le fichier txt se trouve.

J'avais compris cela mais c'est contraire à ce que vous dites dans votre premier message --> Mon souhait serait qu'en cliquant sur le numéro de ligne inscrit dans la cellule que ça m'ouvre automatiquement le fichier indiqué en colonne A !

- Qu'avez vous comme référence en A2, A3, .... par exemple ? si c'est bien le nom du fichier, est-ce qu'il est mentionné avec son extension ou pas et quelle est-elle ?
- Quelle est l'adresse où le dossier que vous voulez atteindre ?

en A c'est le nom du fichier txt en lui même la en l'occurrence : pgm2-ope1-ok-le-24-06-08.txt

en B on retrouve le numéro de la ligne (à l'intérieur du fichier) ou se trouve l'élément chercher .

l'extension .txt n'est pas toujours mentionné !

le chemin du dossier sera a adpater.... dans l'idee: C:/ mes documents........

en B on retrouve le numéro de la ligne (à l'intérieur du fichier) ou se trouve l'élément chercher .

L'ouverture du fichier se fera bien dans excel. Vous êtes ok sur ce point ?
Le code sera d'autant plus facile surtout pour trouver la ligne

si le fichier (.txt) peut s'ouvrir dans excel moi ca me va tres bien.

si le fichier (.txt) peut s'ouvrir dans excel moi ca me va tres bien.

Ok. voici ce que vous pouvez faire à titre d'exemple dans le fichier posté sur ce fll

- Mettez votre fichier txt dans le même répertoire
- en A2, mettez la référence du fichier --> pgm2-ope-1-ok-le-24-06-08 (avec ou sans extension ".txt")
- en B2, mettez par exemple 11 pour la ligne
- faites un click droite sur l'onglet "Feuil1 "
- choisir l'option "Visualiser le code"
- Dans la fenêtre coller le code ci-dessous

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim chemin As String, fichier As String
Dim ligne As Integer

If Not Intersect(Target, ListObjects("Tableau1").DataBodyRange) Is Nothing Then
    chemin = ThisWorkbook.Path & "\" 'C:\mesdocuments\...."
    ligne = Target.Offset(0, 1).Value
    If Right(Target.Value, 4) = ".txt" Then
        fichier = Target.Value
    Else: fichier = Target.Value & ".txt"
    End If
    Cancel = False
    If Len(Dir(fichier)) > 0 Then
        Workbooks.Open Filename:=chemin & fichier
        ActiveWorkbook.ActiveSheet.Range("A" & ligne).Select
    Else: MsgBox "Le fichier ne semble pas exister dans le répertoire " & chemin
    End If
End If
Cancel = True
End Sub

Une fois terminé, faite en double click en A2. Le fichier txt s'ouvrira dans un fichier excel et le code sélectionnera la cellule en A11

Pour changer le répertoire, il vous suffit de modifier la variable "Chemin" dans le code

si ok...

Cordialement

je n'arrive pas a changer le chemin...

C:\Users\Documents

ca ne fonctionne pas.

j'oublie quoi ?

je n'arrive pas a changer le chemin...

??

ben remplacez

chemin = ThisWorkbook.Path & "\" 'C:\mesdocuments\...."

par

chemin = "C:\Users\Documents\"

ca ne marche pas ...

j'ai le message d'erreur que le fichier ne semble pas être dans le répertoire.

j'ai le message d'erreur que le fichier ne semble pas être dans le répertoire.

Oups désolé ... modifiez cette ligne

If Len(Dir(chemin & fichier)) > 0 Then

super !!! ca marche nickel !!

par contre tous mes fichiers ne sont pas forcement .txt !

certains sont sans extensions. je peux les ouvrirent avec le bloc notes.

avez vous une solutions ?

par contre tous mes fichiers ne sont pas forcement .txt !

Il faut savoir si ce sont des fichiers texte ou pas.

Exemple le fichier est un txt mais vous n'avez pas l'extension dans le nom qui est mentionné dans votre fichier excel. C'est ce cas que j'ai considéré dans le code au vu de votre explication

Quand vous dites certains sont sans extension. En principe les fichiers ont toujours une extension sans quoi au moment où ils sont sauvegardés vous avez une erreur.

c'est bon !

j'ai trouvé une parade

If Not Intersect(Target, ListObjects("Tableau1").DataBodyRange) Is Nothing Then
    chemin = "C:\Users\sylvain\Desktop\"  'C:\mesdocuments\...."
    ligne = Target.Offset(0, 1).Value
    If Right(Target.Value, 4) = "" Then
        fichier = Target.Value
    Else: fichier = Target.Value & ""
    End If

merci mille fois !!

heu cela n'a pas de sens ici -->

If Right(Target.Value, 4) = "" Then

Vous faites deux fois la même condition et si l'extension .txt est mentionnée dans excel vous aurez un bug.
Laissez plutot le .txt à cet endroit

If Right(Target.Value, 4) = ".txt" Then

Puis pour le reste, ok de mettre --> " "

Oubliez pas de cloturer...

ok pas de soucis.

petite question, est ce que le chemin indiqué dans ton code peut etre dynamique ?

c'est a dire qu'il se modifie automatiquement en fonction du chemin choisi pour l'autre macro de mon fichier .

Rechercher des sujets similaires à "lien fichier source"