Bonjour,
Lorsque tu sélectionnes plusieurs cellules, Target représente la plage de cellules complète.
Or, VBA ne peut pas déterminer la valeur d'une plage de cellules.
Donc, sépare le test If Target.Value = "..." :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count = 1 And Target.Column = 5 Then
If Target.Value = "…" Then
ligne_select = Target.Row
col_fiche = Cells.Find("Nom fiche").Column
nom_feuille = Cells(ligne_select, col_fiche).Value
Workbooks.Open (Worksheets("Fiche pour code").Cells(5, 2).Value)
Worksheets(nom_feuille).Activate
Else
Exit Sub
End If
End If
End Sub