Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim NomFic As String
If Target.Column = 19 And Target.Row = 1 Then Call Macro1 : Exit Sub 'Celle la doit se lancer lors d'un clic en S1
If Target.Column < 17 And Target.Row = 1 Then Call Macro2 : Exit Sub 'Celle la doit se lancer lors d'un clic entre A1 et Q1
If Target.Column < 17 And Target.Row > 1 Then Call Macro3 : Exit Sub 'Celle la doit se lancer lors d'un clic entre A2 et Qla derniere ligne
If Target.Column <> 19 Or Target.Row = 1 Or Target.Count <> 1 Then Exit Sub
If Target.Value = "" Then MsgBox "Mais cette Cellule est vide !", vbExclamation, "Atteindre une fiche": Exit Sub
NomFic = Target.Offset(, -1).Value
On Error Resume Next
Workbooks(NomFic).Activate ' car il peut déjà avoir été ouvert
If Err Then Err.Clear: Workbooks.Open ThisWorkbook.Path & "\Fiche MP\" & NomFic
If Err Then MsgBox "Ouverture impossible de """ & NomFic & """ dans" & vbLf _
& ThisWorkbook.Path & "\Fiche MP", vbCritical, "Applel " & Target.Value
End Sub