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
|
'En cliquant dans une cellule de la colonne A, si pas de saisie de nom dans la colonne C alors message d'avertissement. Sinon, ouverture d'un fichier "FL" avec le numéro de la ligne.
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 de saisir votre NOM dans la cellule" & " " & 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
Application.Goto FNew.Cells((Target.Value - 1) * 41 + 2, 3), True
Fin:
Set FNew = Nothing: Set Wb = Nothing: Set Sh = Nothing
End Sub |
Partager