Private Sub Worksheet_Change(ByVal Target As Range)
Dim vVals, i&
vVals = Array([{"Porte d'entrée","F19:G23"}], [{"Porte de garage","F12:I16"}], [{"Fenêtre","F26:G30"}])
If Target.Address = "$A$3" Then
For i = 0 To 2
If Target.Text = vVals(i)(1) Then
Sheets("GARAGE").Range(CStr(vVals(i)(2))).Copy Sheets("Facture").Range("C65536").End(xlUp).Offset(1, 0)
End If
Next
End If
End Sub