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
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
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
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
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
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
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
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
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$1@speranza.aioe.org...
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
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
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@@
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@@
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@@