J'essaie d'empêcher les utilisateurs de coller d'autresLes choses que les valeurs du modèle que je suis en train de développer. J’utilise une macro pour toujours coller les valeurs dans la feuille de calcul (voir ci-dessous). Lorsque les utilisateurs basculent vers un autre classeur, cette macro doit être désactivée. Le problème est que je reçois l'erreur 91 lors de l'activation d'un autre classeur.
"la macro dans un module
Sub AlwaysPasteValues()
Selection.PasteSpecial Paste:=xlPasteValues
End Sub
"le code dans ce classeur
Public wb As Workbook
Private Sub Workbook_Activate()
Application.MacroOptions Macro:="AlwaysPasteValues", Description:="AlwaysPasteValues", ShortcutKey:="v"
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Set wb = Nothing
End Sub
Private Sub Workbook_Deactivate()
With wb
.MacroOptions Macro:="AlwaysPasteValues", Description:="AlwaysPasteValues", ShortcutKey:=""
End With
End Sub
Private Sub Workbook_Open()
Set wb = ThisWorkbook
End Sub
Réponses:
0 pour la réponse № 1Vous changez .MacroOptions
sur wb
qui n'existe pas en tant que propriété. MacroOptions
est pour le Application
. Utilisez le même code que le Activate
et vous devriez être bon.
Private Sub Workbook_Deactivate()
Application.MacroOptions Macro:="AlwaysPasteValues", Description:="AlwaysPasteValues", ShortcutKey:=""
End Sub