Bonjour,
Mon besoin est le suivant : l'usager doit être capable de copier des données externes dans un formulaire Excel que nous avons créé. Il ne faut pas cependant que le copier/coller change les propriétés des cellules (format conditionnel, liste de choix déroulantes, etc.)
J'ai essayé la solution VBA suivante qu'une amie m'a donnée, elle fonctionne, mais elle ne permet pas d'annuler (CTRL+Z). Une fois les données collées, plus moyen de revenir en arrière.
Quelqu'un aurait une meilleure solution?
Merci à l'avance.
Franco
Code utilisé :
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
End If
End With
End Sub
Si pour une feuille spécifique alors le début sera:
Private Sub Worksheet_Change(ByVal Target As Range)
Mon besoin est le suivant : l'usager doit être capable de copier des données externes dans un formulaire Excel que nous avons créé. Il ne faut pas cependant que le copier/coller change les propriétés des cellules (format conditionnel, liste de choix déroulantes, etc.)
J'ai essayé la solution VBA suivante qu'une amie m'a donnée, elle fonctionne, mais elle ne permet pas d'annuler (CTRL+Z). Une fois les données collées, plus moyen de revenir en arrière.
Quelqu'un aurait une meilleure solution?
Merci à l'avance.
Franco
Code utilisé :
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
End If
End With
End Sub
Si pour une feuille spécifique alors le début sera:
Private Sub Worksheet_Change(ByVal Target As Range)