Private Sub Worksheet_Change(ByVal Target As Range)
Dim MacroName As String
If Target.Address(0, 0) = "Q1" And Target.Text <> "" Then
MacroName = "Module1." & Replace(Target, " ", "_") ' remplacer les espaces par _
Application.Run MacroName
End If
End Sub