Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim i&, chemin$, fichier$, col, ref, F As Worksheet, n As Byte, v As Variant
i = Target.Row
If i = 1 Then Exit Sub
chemin = ThisWorkbook.Path & "\" 'à adapter
fichier = Dir(chemin & "Demande interim.xlsx") 'à adapter
If fichier = "" Then MsgBox "Fichier .xlsx introuvable !", 48: Exit Sub
col = Array(1, 3, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
ref = Array("B5", "B6", "B7", "G7", "D12", "C13", "B14", "C15", "B16", "G16", "B22", "B23", "E22", "E23", "G22", "G23", "I22", "i23")
Application.ScreenUpdating = False
Application.DisplayAlerts = False 'si le fichier est déjà ouvert
Set F = Workbooks.Open(chemin & fichier).Sheets(1)
For n = 0 To UBound(col)
v = Cells(i, col(n))
If IsDate(v) Then F.Range(ref(n)) = CDate(v) Else F.Range(ref(n)) = v
Next
End Sub