Bonjour le Forum
actuellement je protege la feuille et le classeur par cette macro
Dim o As Object
On Error Resume Next
With ActiveSheet
Set o = .DrawingObjects(Application.Caller)
If o Is Nothing Then Exit Sub
If o.Text = "Ôter les protections" Then
.Unprotect
If .ProtectContents Then MsgBox "Mot de passe non valide...": Exit Sub
.Parent.Unprotect "123"
o.Text = "Mettre les protections"
Else
o.Text = "Ôter les protections"
.Protect "123"
.Parent.Protect "123"
End If
End With
cela fonctionne bien pour proteger le classeur et la mise en forme.
Le problème est que j'ai des cellules qui ne sont pas verouillées pour que les utilisateurs puisse remplir celle qui les concernent.
est il possible egalement dans la macro d'y mettre :
empecher le copier coller et le glisser coller lorque je met la protection
et de remettre en service quand j'enleve la protection. ?
Jusqu'a maintenant l'empechement se fesait dans le worksheet Change
Dim tablo, sel As Range
On Error Resume Next 'sécurité
Application.EnableEvents = False 'désactive l'action des évènements
tablo = Target 'mémorise les valeurs
'POUR LE GLISSER on reseclectionner la plage
Set sel = Selection ' on reselectionne la plage
Application.Undo 'annule le collage
Target = tablo 'rétablit uniquement les valeurs
sel.Select 'plage
Application.EnableEvents = True mais le probleme c'est que cela m'empeche de rajouter des lignes
je vous remercie d'avance de votre aide
Bosco13
actuellement je protege la feuille et le classeur par cette macro
Dim o As Object
On Error Resume Next
With ActiveSheet
Set o = .DrawingObjects(Application.Caller)
If o Is Nothing Then Exit Sub
If o.Text = "Ôter les protections" Then
.Unprotect
If .ProtectContents Then MsgBox "Mot de passe non valide...": Exit Sub
.Parent.Unprotect "123"
o.Text = "Mettre les protections"
Else
o.Text = "Ôter les protections"
.Protect "123"
.Parent.Protect "123"
End If
End With
cela fonctionne bien pour proteger le classeur et la mise en forme.
Le problème est que j'ai des cellules qui ne sont pas verouillées pour que les utilisateurs puisse remplir celle qui les concernent.
est il possible egalement dans la macro d'y mettre :
empecher le copier coller et le glisser coller lorque je met la protection
et de remettre en service quand j'enleve la protection. ?
Jusqu'a maintenant l'empechement se fesait dans le worksheet Change
Dim tablo, sel As Range
On Error Resume Next 'sécurité
Application.EnableEvents = False 'désactive l'action des évènements
tablo = Target 'mémorise les valeurs
'POUR LE GLISSER on reseclectionner la plage
Set sel = Selection ' on reselectionne la plage
Application.Undo 'annule le collage
Target = tablo 'rétablit uniquement les valeurs
sel.Select 'plage
Application.EnableEvents = True mais le probleme c'est que cela m'empeche de rajouter des lignes
je vous remercie d'avance de votre aide
Bosco13
Dernière édition: