Sub Test()
Dim Plage, xcell, x
On Error Resume Next
Set Plage = Application.InputBox(prompt:="Sélectionner la plage des données, svp...", Type:=8)
If Plage Is Nothing Then MsgBox "Erreur dans la saisie de la plage", vbInformation: Exit Sub
On Error GoTo 0: Application.ScreenUpdating = False
For Each xcell In Plage
Set x = xcell.MergeArea
If x.Address <> xcell.Address Then
xcell.UnMerge
x.Interior.Color = vbYellow
x.Value = xcell.Value
End If
Next xcell
End Sub