XL 2016 Bonsoir, je suis à la recherche d'un code qui me permettrait d'ouvrir un chemin reseau et de me renvoyer le lien hypertext sur le texte de la cellule.

christ77000

XLDnaute Occasionnel
Bonsoir, je suis à la recherche d'un code qui me permettrait d'ouvrir un chemin reseau et de me renvoyer le lien hypertext sur le texte de la cellule.

Chemin réseau en C1 de ma feuille "GC-2020"
..\..\Accidents%20&%20analyse%205%20pourquoi%20et%20arbres%20des%20causes\2020\

Donnée dans cellule C17:C57

exemple en C17 j'ai le mot "toto" je double clic dans la cellule et j'ai l'ouverture du chemin reseau dans l'explorer. je selectionne le fichier et il me renvoie sur le mot toto le lien hyperlink du fichier.

Merci pour votre aide.
 
Solution
C
Re,

Le choix du fichier retourne le chemin complet, il suffisait de supprimer le chemin initial

Voici
VB:
Option Explicit

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  Dim MonDossier As String, MonFichier As String
  Cancel = True ' Evite d'entrée en mode esition dans la cellule
  If Not Application.Intersect(Target, Range("C18:C57")) Is Nothing Then
    MonDossier = "L:\1. Sécurité & Environnement\Accidents & analyse 5 pourquoi et arbres des causes\2020" '<-- adaptez le nom du Dossier
    ' Vérifier l'anti-skash de fin
    If Right(MonDossier, 1) <> "\" Then MonDossier = MonDossier & "\"
    ' Vérifier l'existence du dossier, quoi que pas forcément nécessaire
    If Len(Dir(MonDossier...

christ77000

XLDnaute Occasionnel
Re, j'ai trouvé un code ou je dois mettre le nom du fichier d'un répertoire donné et il l'ouvre, mais cela ne correspond pas a mes besoins

VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    Dim Chemin As String, Sous_Dossier As String, Derlig As Long
    
    Derlig = Range("A" & Rows.Count).End(xlUp).Row
    'test si click sur plage de cellules avec le nom des sous-dossiers
  If Not Application.Intersect(Target, Range("A2:A" & Derlig)) Is Nothing And Target <> Empty And Target.Count = 1 Then
        Chemin = "c:\Users\toto\Desktop\"
        'sous-dossier a ouvrir
        Sous_Dossier = Target
        'commande Shell pour ouvrir le sous-dossier
        Shell "C:\windows\explorer.exe " & Chemin & Sous_Dossier, vbMaximizedFocus
    End If
End Sub
 

christ77000

XLDnaute Occasionnel
Bonsoir à tous je re formule ma demande

En faite je travail sur un fichier ou tout le monde renseigne en C17 un mot ou un résumé de ca fiche de poste.
C'est rapport électronique journalier. Exemple en C17 la personne marque "RAS sur mon poste" ca fiche de poste est dans un répertoire du réseau, en suite il fait manuellement un lien hypertexte de façon classique vers sa fiche situé sur le fameux chemin réseau.
Mais tout le monde ne c'est pas utiliser Excel et encore moins retrouver sa fiche sur le réseau. Donc d'où ma demande de double clic en C17 avec le lien réseau situé en C1 ouvre l'explorateur de fichier, l'utilisateur clic en suite sur ca fiche et le lien hypertexte se créer en automatique sur "RAS sur mon poste" en C17. Et nous rentrons nos donnés de C17 à C57. J'espère avoir été plus claire
icon_rolleyes.gif
. Merci.
 

christ77000

XLDnaute Occasionnel
Bonjour à tous,
j'ai enfin trouvé un code qui correspond a ma demande.
Alors ma demande est ce que je peux modifier se code pour qu'il puisse en :
1) s'activer sur un double clic dans les cellules de C17 à C57
2) avoir le lien c:\Users\Accidents & analyse 5 pourquoi et arbres des causes\ comme répertoie de départ. Merci pour vote aide

VB:
Sub Ouverture()
    fichier = Application.GetOpenFilename()
    If fichier <> False Then
      Else: MsgBox "Opération annulée ", vbOKOnly, "Confirmation": End
    End If
    ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="file://" & fichier
End Sub
 

christ77000

XLDnaute Occasionnel
J'ai trouvé pour le double clic, il me reste juste à ouvrir sur le bon répertoire.

VB:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Application.Intersect(Target, Range("C18:C57")) Is Nothing Then
fichier = Application.GetOpenFilename()
    If fichier <> False Then
    'MsgBox "Insertion du fichier " & fichier, vbOKOnly, "Confirmation"
    Else: MsgBox "Opération annulée ", vbOKOnly, "Confirmation": End
    End If
    ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="file://" & fichier
End If

End Sub
 

christ77000

XLDnaute Occasionnel
Bonsoir, soit je n'ai rien compris au fonctionnement de ce site ou je manque de politesse se dont je doute. POURQUOI n'y a t'il aucunes réponses, si mes demandes sont mal formulées il suffit de me le dire. Si je suis ici c'est parce ce que je veux apprendre et pour apprendre il faut de l'aide. Rien ne s'invente. Au moins si quelqu'un avait la gentillesse de me dire se que je ne respecte pas...
 

job75

XLDnaute Barbatruc
Bonsoir christ77000,

Vous n'avez pas de réponse parce que vous avez écrit ceci au post #1 :
exemple en C17 j'ai le mot "toto" je double clic dans la cellule et j'ai l'ouverture du chemin reseau dans l'explorer. je selectionne le fichier et il me renvoie sur le mot toto le lien hyperlink du fichier.
Il est contradictoire d'avoir "toto" en C17 et en même temps d'aller choisir un fichier pour mettre un lien dans cette cellule.

A+
 

christ77000

XLDnaute Occasionnel
bonsoir et merci d'avoir fait l'effort de me répondre. Sur Excel dans une cellule je prends un texte et je fais un lien HyperText sur le mot. Je ne comprend pas le contradictoire. Et quand bien même se serais le cas il suffisait de me le dire, tout simplement.
 

christ77000

XLDnaute Occasionnel
oui ok pour ca. mais l'apprentissage c'est ca aussi. il faut savoir aussi se remettre au niveau de celui qui débute. un gamin qui debute dans la lecture et l'écriture a des problèmes de compréhension et alors c'est a nous adultes de l'aider. et bien je suis cette enfant qui apprend
 

christ77000

XLDnaute Occasionnel
Si je prend une cellule x dans lequel je marque toto et que clic sur le bouton droit et que je sélectionne lien HyperText je fais bien un lien !! sur un fichier ou autres donc ma question était comment faire la même chose avec une macro en faisant un double clic dans cette même cellule pour ouvrir l'explorer et une fois choisi le fichier créer le lien. Et dont le chemin d'accès au fichier serait en C1. Dans mon travail certains on encore plus de mal que moi a utiliser Excel. donc je voulais simplifier la manipe du lien hypertexte. voila