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...
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, [C18:C57]) Is Nothing Or Target(1) = "" Then Exit Sub
Dim fichier As Variant
Cancel = True
ChDir ThisWorkbook.Path 'dossier à adapter
fichier = Application.GetOpenFilename
If fichier <> False Then If InStr(LCase(fichier), LCase(Target)) Then Target.Hyperlinks.Add Target, fichier, TextToDisplay:=Target.Text
End Sub
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.
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, vbDirectory)) > 0 Then
MonFichier = ChoixFichier(MonDossier, "CHOIX du FICHIER", "*.*,*.*")
' Si MonFichier n'est pas vide
If MonFichier <> "" Then
' S'il s'agit d'un lecteur réseau, inutile de mettre "file://"
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:=MonFichier, TextToDisplay:=Selection.Value
End If
End If
End If
End Sub
Function ChoixFichier(DefaultPath As String, sTitre As String, Optional sFilter As String)
' LE filtre doit être du type : "BdD Communes (*.xlsx), *.xlsx"
Dim fd As FileDialog, TabFilter() As String
' Initialiser les variables
If Right(DefaultPath, 1) <> "\" Then DefaultPath = DefaultPath & "\"
' Initialiser l'intance du dialogue
Set fd = Application.FileDialog(msoFileDialogFilePicker)
With fd
.Filters.Clear
' Si un filtre a été donné
If sFilter <> "" Then
TabFilter = Split(sFilter, ",")
.Filters.Add TabFilter(0), Trim(TabFilter(1))
End If
.Title = sTitre
.InitialFileName = DefaultPath & TabFilter(0)
If .Show = -1 Then
ChoixFichier = fd.SelectedItems(1)
End If
End With
Set fd = Nothing
End Function
Ce n'est pas mon code, désoléLe double clic ne fonctionne plus
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, [C18:C57]) Is Nothing Or Target(1) = "" Then Exit Sub
Dim chemin$
Cancel = True
chemin = ThisWorkbook.Path 'dossier à adapter
ChDir chemin
With Application.FileDialog(msoFileDialogFilePicker)
.InitialFileName = chemin & "\*" & Target & "*"
.Filters.Clear
.Filters.Add "Tous les fichiers", "*.*"
.AllowMultiSelect = False
If .Show Then Target.Hyperlinks.Add Target, .SelectedItems(1), TextToDisplay:=Target.Text
End With
End Sub