Problème code pour copier/coller uniquement valeur

Bonjour au forum,

J'ai besoin de n'autoriser que le copier/coller de valeur dans un classeur Excel, quelque soit la méthode utilisée (clique droit, ctrl+c, glisser/déposer...).

J'ai donc écris ce code :

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Source As Range)
On Error Resume Next
With Application
  If .CutCopyMode Then
    .EnableEvents = False
    .Undo
    Selection.PasteSpecial xlPasteValues
    .OnUndo "", ""
    .OnRepeat "", ""
    .EnableEvents = True
  End If
End With
End Sub

qui fonctionne mise à part pour le glisser/déposer qui lui me recopie la mise en forme

J'ai testé ce code :

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Source As Range)
On Error Resume Next 'sécurité
With Application
  If .CutCopyMode Then
    .EnableEvents = False
    .Undo
    Selection.PasteSpecial xlPasteValues
    .OnUndo "", ""
    .OnRepeat "", ""
    .EnableEvents = True
 If .CellDragAndDrop Then
    .EnableEvents = False
    .Undo
    Selection.PasteSpecial xlPasteValues
    .OnUndo "", ""
    .OnRepeat "", ""
    .EnableEvents = True
  End If
  End if
End With
End Sub

mais cela ne fonctionne pas.

Auriez-vous une idée ?

Un tout grand merci d'avance

Nico.

Rechercher des sujets similaires à "probleme code copier coller uniquement valeur"