OVH Cloud OVH Cloud

protection VBA Excel2000 commentaires autorisés

14 réponses
Avatar
J
Bonjour à tous
Sous Excel 2000, j'utilise le code suivant pour permettre le filtrage
malgré la protection de la feuille.

'Benead
Sub Verrcls()
With ActiveSheet
.Protect UserInterfaceOnly:=True
.EnableAutoFilter = True
.EnableOutlining = True
End With
End Sub

Mais je souhaite que l'utilisateur puisse, dans la feuille protégée, à
partir de la ligne 4:
- insérer/masquer/supprimer des commentaires dans toutes les cellules
- insérer/supprimer des lignes

Merci pour l'aide
@+
J@@

4 réponses

1 2
Avatar
J
J'ai mis le faceID 1589, qui est justement celui des commentaires. On
jurerait du pur Excel ;-)
@+
J@@

Le 12/12/2010 09:13, isabelle a écrit :
correction,
il faut enlever le point devant Password

isabelle
,

Le 2010-12-12 13:58, isabelle a écrit :
salut J@@,

une autre solution serait un bouton perso sur la fenêtre du clic droit,

Sub MesCommentaire()
'executer Cette macro à l'ouverture du classeur
With Application.CommandBars("Cell").Controls.Add(msoControlButton)
.Caption = "Inscrire ou modifier un commentaire"
.BeginGroup = True
.FaceId = 252
.OnAction = "Inscrire_ou_modifier_un_commentaire"
End With
End Sub

Sub MesCommentaire_Reset()
'executer Cette macro à la fermeture du classeur
Application.CommandBars("Cell").Reset
End Sub

Sub Inscrire_ou_modifier_un_commentaire()
ActiveSheet.Unprotect "zaza"
On Error Resume Next
commentaire = ActiveCell.Comment.Text
If Err.Number = 91 Then
Err.Clear
titre$ = "Ajout de commentaire"
rep$ = InputBox("Inscrire votre commentaire", titre$, "")
ActiveCell.AddComment
ActiveCell.Comment.Text Text:=rep$
Else
titre$ = "Modification de commentaire"
rep$ = InputBox("Modifier votre commentaire", titre$, commentaire)
ActiveCell.Comment.Text Text:=rep$
End If
With ActiveSheet
.Password = "zaza"
.Protect UserInterfaceOnly:=True
.EnableAutoFilter = True
.EnableOutlining = True
End With
End Sub

@+
isabelle
Avatar
J
Encore un point Isabelle
Quel code faut-il pour ajouter un bouton dans le clic droit et permettre
la suppression du commentaire?
Merci encore
@+
J@@


Le 12/12/2010 09:13, isabelle a écrit :
correction,
il faut enlever le point devant Password

isabelle
,

Le 2010-12-12 13:58, isabelle a écrit :
salut J@@,

une autre solution serait un bouton perso sur la fenêtre du clic droit,

Sub MesCommentaire()
'executer Cette macro à l'ouverture du classeur
With Application.CommandBars("Cell").Controls.Add(msoControlButton)
.Caption = "Inscrire ou modifier un commentaire"
.BeginGroup = True
.FaceId = 252
.OnAction = "Inscrire_ou_modifier_un_commentaire"
End With
End Sub

Sub MesCommentaire_Reset()
'executer Cette macro à la fermeture du classeur
Application.CommandBars("Cell").Reset
End Sub

Sub Inscrire_ou_modifier_un_commentaire()
ActiveSheet.Unprotect "zaza"
On Error Resume Next
commentaire = ActiveCell.Comment.Text
If Err.Number = 91 Then
Err.Clear
titre$ = "Ajout de commentaire"
rep$ = InputBox("Inscrire votre commentaire", titre$, "")
ActiveCell.AddComment
ActiveCell.Comment.Text Text:=rep$
Else
titre$ = "Modification de commentaire"
rep$ = InputBox("Modifier votre commentaire", titre$, commentaire)
ActiveCell.Comment.Text Text:=rep$
End If
With ActiveSheet
.Password = "zaza"
.Protect UserInterfaceOnly:=True
.EnableAutoFilter = True
.EnableOutlining = True
End With
End Sub

@+
isabelle
Avatar
michdenis
Bonjour,

Pour ajouter la commande "Supprimer le commentaire" à la barre
d'outils du menu contextuel de la cellule

'----------------------------------------
Sub test()
On Error Resume Next
With Application.CommandBars("Cell").Controls
.Item("Supprimer le commentaire").Delete
With .Add()
.Style = msoButtonIconAndCaption
.Caption = "Supprimer le commentaire"
.FaceId = 1592
.OnAction = "Supprimer_Le_Commentaire"
End With
End With
End Sub
'----------------------------------------

Dans un module standard, la macro qui supprimera le commentaire :
'----------------------------------------
Sub Supprimer_Le_Commentaire()
On Error Resume Next
With ActiveCell
.Parent.Unprotect '"MotDePasse" 'si nécessaire
.ClearComments
.Parent.Protect ' "MotDePasse", True, True, True, True
End With
End Sub
'----------------------------------------

MichD
--------------------------------------------
"J@@" a écrit dans le message de groupe de discussion : ie9rfs$gtk$

Encore un point Isabelle
Quel code faut-il pour ajouter un bouton dans le clic droit et permettre
la suppression du commentaire?
Merci encore
@+
J@@


Le 12/12/2010 09:13, isabelle a écrit :
correction,
il faut enlever le point devant Password

isabelle
,

Le 2010-12-12 13:58, isabelle a écrit :
salut J@@,

une autre solution serait un bouton perso sur la fenêtre du clic droit,

Sub MesCommentaire()
'executer Cette macro à l'ouverture du classeur
With Application.CommandBars("Cell").Controls.Add(msoControlButton)
.Caption = "Inscrire ou modifier un commentaire"
.BeginGroup = True
.FaceId = 252
.OnAction = "Inscrire_ou_modifier_un_commentaire"
End With
End Sub

Sub MesCommentaire_Reset()
'executer Cette macro à la fermeture du classeur
Application.CommandBars("Cell").Reset
End Sub

Sub Inscrire_ou_modifier_un_commentaire()
ActiveSheet.Unprotect "zaza"
On Error Resume Next
commentaire = ActiveCell.Comment.Text
If Err.Number = 91 Then
Err.Clear
titre$ = "Ajout de commentaire"
rep$ = InputBox("Inscrire votre commentaire", titre$, "")
ActiveCell.AddComment
ActiveCell.Comment.Text Text:=rep$
Else
titre$ = "Modification de commentaire"
rep$ = InputBox("Modifier votre commentaire", titre$, commentaire)
ActiveCell.Comment.Text Text:=rep$
End If
With ActiveSheet
.Password = "zaza"
.Protect UserInterfaceOnly:=True
.EnableAutoFilter = True
.EnableOutlining = True
End With
End Sub

@+
isabelle
Avatar
J
Bonjour michdenis
et un grande merci de nouveau.
La lumière arrive de l'Est (du Canada, pour moi), c'est net. ;-)
@+
J@@

Le 15/12/2010 01:38, michdenis a écrit :
Bonjour,

Pour ajouter la commande "Supprimer le commentaire" à la barre
d'outils du menu contextuel de la cellule

'----------------------------------------
Sub test()
On Error Resume Next
With Application.CommandBars("Cell").Controls
.Item("Supprimer le commentaire").Delete
With .Add()
.Style = msoButtonIconAndCaption
.Caption = "Supprimer le commentaire"
.FaceId = 1592
.OnAction = "Supprimer_Le_Commentaire"
End With
End With
End Sub
'----------------------------------------

Dans un module standard, la macro qui supprimera le commentaire :
'----------------------------------------
Sub Supprimer_Le_Commentaire()
On Error Resume Next
With ActiveCell
.Parent.Unprotect '"MotDePasse" 'si nécessaire
.ClearComments
.Parent.Protect ' "MotDePasse", True, True, True, True
End With
End Sub
'----------------------------------------

MichD
--------------------------------------------
"J@@" a écrit
Quel code faut-il pour ajouter un bouton dans le clic droit et permettre
la suppression du commentaire?
Merci encore
@+
J@@

1 2