Bonjour,

J'ai ce code qui me permet d'afficher une autre feuille à partir d'un double-clic dans une cellule. Il fonctionne bien.
Je l'ai copié dans une 50aine de feuilles. Est-il possible de créer un module avec ce même code afin d'alléger l'écriture dans chaque feuille ?
Merci par avance pour vos propositions.

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
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
 
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'On error GoTo fin
 
If Not Intersect([A12:A39], Target) Is Nothing Then
Cancel = True
    If Target(, 2).Value = "" Then MsgBox "Merci d'indiquer qui fait la réserve en" & " " & Target(, 2).Address(0, 0): Exit Sub
 
Dim FNew As Worksheet, Wb As Workbook, Sh As Worksheet
Dim Cible As String
Dim NumLig As Variant
 
    NumLig = ActiveSheet.Range("D5")
    Cible = ("FL" & NumLig)
    Set Wb = ThisWorkbook
 
    On Error Resume Next
        Set FNew = Wb.Worksheets(Cible)
    On Error GoTo fin
 
    If Not FNew Is Nothing Then
        FNew.Activate
        FNew.Visible = True
    Else
        GoTo fin
    End If
 
    'on masque les feuilles inutiles
        For Each Sh In Wb.Worksheets
            If FNew.name <> Cible Then
            If FNew.name <> ("L" & NumLig) Then
                FNew.Visible = xlSheetVeryHidden
            End If
            End If
        Next Sh
 
        FNew.Cells((Target.Value - 1) * 41 + 2, 3).Select
        'Application.GoTo reference:=
        End If
 
        FNew.Rows("1:1185").Hidden = True
            FNew.Range(FNew.Cells((Target.Value - 1) * 41 + 2, 3), FNew.Cells((Target.Value - 1) * 41 + 1 + 38, 3)).EntireRow.Hidden = False
            FNew.Cells((Target.Value - 1) * 41 + 2, 3).Select
 
fin:
            Set FNew = Nothing: Set Wb = Nothing: Set Sh = Nothing
 
End Sub