j'étais parti sur une solution différente et j'ai continué dans la foulée, mais la macro ci-dessous est un peu plus propre que la version qui est dans le fichier.
Private Sub CommandButton1_Click()
Dim Dest As Range, Source As Range, Cel As Range
Dim Erreur As Boolean
Set Source = Selection
Set Dest = Range("DebCopie")
For Each Cel In Source
If Intersect(Cel, Range("Valeurs")) Is Nothing Then _
Erreur = True
Next Cel
If (Source.Cells.Count <> 5) Or Erreur Then
MsgBox "Erreur !" & vbCr & _
"Il faut sélectionner 5 cellules exactement" & _
vbCr & "dans la plage " & Range("Valeurs").Address, _
vbCritical, "Copie de valeurs"
Else
Application.ScreenUpdating = False
For Each Cel In Source
Dest.Value = Cel.Value
Set Dest = Dest.Offset(1, 0)
Next Cel
Application.ScreenUpdating = True
End If
End Sub