Macro bloquée par protection feuille
Fermé
Viking58
Messages postés
186
Date d'inscription
vendredi 5 décembre 2014
Statut
Membre
Dernière intervention
5 janvier 2018
-
12 août 2015 à 16:21
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 - 13 août 2015 à 18:00
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 - 13 août 2015 à 18:00
A voir également:
- Protéger une feuille excel avec macro
- Liste déroulante excel - Guide
- Proteger cellule excel - Guide
- Feuille de pointage excel - Télécharger - Tableur
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Formule excel - Guide
5 réponses
PHILOU10120
Messages postés
6368
Date d'inscription
lundi 16 avril 2012
Statut
Contributeur
Dernière intervention
22 avril 2024
796
13 août 2015 à 08:56
13 août 2015 à 08:56
Bonjour
Avec cette ligne pour enlever la protection
ActiveSheet.Unprotect Password:="MOT_DE_PASSE"
Et celle-ci pour remettre la protection
ActiveSheet.Protect "MOT DE PASSE"
cela devrait suffire
Avec cette ligne pour enlever la protection
ActiveSheet.Unprotect Password:="MOT_DE_PASSE"
Et celle-ci pour remettre la protection
ActiveSheet.Protect "MOT DE PASSE"
cela devrait suffire
Viking58
Messages postés
186
Date d'inscription
vendredi 5 décembre 2014
Statut
Membre
Dernière intervention
5 janvier 2018
7
13 août 2015 à 14:02
13 août 2015 à 14:02
Merci PHILOU10120.
Non. Ce code plante. Une fois lancé, il envoi un message d'erreur quand je veux exécuter une macro.
Mais ce n'est pas grave. En cas de nécessité, j'ôterai la protection, et j'effacerai la ou les lignes voulues.
Bonne fin de journée.
Non. Ce code plante. Une fois lancé, il envoi un message d'erreur quand je veux exécuter une macro.
Mais ce n'est pas grave. En cas de nécessité, j'ôterai la protection, et j'effacerai la ou les lignes voulues.
Bonne fin de journée.
PHILOU10120
Messages postés
6368
Date d'inscription
lundi 16 avril 2012
Statut
Contributeur
Dernière intervention
22 avril 2024
796
13 août 2015 à 15:33
13 août 2015 à 15:33
Si vous voulez enlever la protection sur la feuille qui n'est pas protégée c'est normal
Vous protégez la feuille manuellement et vous lancez cette première ligne puis la deuxième en fin de macro remettra la protection de la feuille avec le mot de passe précisé dans la macro
Vous protégez la feuille manuellement et vous lancez cette première ligne puis la deuxième en fin de macro remettra la protection de la feuille avec le mot de passe précisé dans la macro
eriiic
Messages postés
24570
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
23 avril 2024
7 213
13 août 2015 à 17:06
13 août 2015 à 17:06
Bonjour,
essaie en ajoutant le paramètre , AllowInsertingRows:=True
eric
essaie en ajoutant le paramètre , AllowInsertingRows:=True
eric
Viking58
Messages postés
186
Date d'inscription
vendredi 5 décembre 2014
Statut
Membre
Dernière intervention
5 janvier 2018
7
Modifié par Viking58 le 13/08/2015 à 17:08
Modifié par Viking58 le 13/08/2015 à 17:08
Merci PHILOU10120.
Ma feuille est bien protégée. Comme mes macros plantaient, ce code a été ajouté au lancement de la feuille pour éviter ce plantage:
Private Sub Workbook_Open()
With Worksheets("Feuil1")
.Protect "xxxxxx", DrawingObjects:=True, _
Contents:=True, Scenarios:=True, _
UserInterfaceOnly:=True
End With
End Sub
Plus de message d'erreur. Mes macros tournent au poil...
Le seul petit soucis est que depuis l'ajout de cette macro,si j'insère par erreur une ligne à l'aide du bouton "Insérer Ligne" que j'ai créé, je ne peux plus la supprimer, (commande grisée). Je suis obligé d'ouvrir "Révision" et d'ôter la protection de ma feuille, et là, je peux de nouveau supprimer les lignes insérées par erreur.
Voilà. J'espère que mon explication est claire. Ce n'est rien de bien gênant, plutôt de la curiosité.
Bonne soirée
Ma feuille est bien protégée. Comme mes macros plantaient, ce code a été ajouté au lancement de la feuille pour éviter ce plantage:
Private Sub Workbook_Open()
With Worksheets("Feuil1")
.Protect "xxxxxx", DrawingObjects:=True, _
Contents:=True, Scenarios:=True, _
UserInterfaceOnly:=True
End With
End Sub
Plus de message d'erreur. Mes macros tournent au poil...
Le seul petit soucis est que depuis l'ajout de cette macro,si j'insère par erreur une ligne à l'aide du bouton "Insérer Ligne" que j'ai créé, je ne peux plus la supprimer, (commande grisée). Je suis obligé d'ouvrir "Révision" et d'ôter la protection de ma feuille, et là, je peux de nouveau supprimer les lignes insérées par erreur.
Voilà. J'espère que mon explication est claire. Ce n'est rien de bien gênant, plutôt de la curiosité.
Bonne soirée
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Viking58
Messages postés
186
Date d'inscription
vendredi 5 décembre 2014
Statut
Membre
Dernière intervention
5 janvier 2018
7
13 août 2015 à 17:16
13 août 2015 à 17:16
Merci eriiic.
Nos messages se sont croisés. J'ai essayé d'insérer votre ligne dans ma macro, à plusieurs endroits, j'ai des messages d'erreur.
Nos messages se sont croisés. J'ai essayé d'insérer votre ligne dans ma macro, à plusieurs endroits, j'ai des messages d'erreur.
eriiic
Messages postés
24570
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
23 avril 2024
7 213
13 août 2015 à 18:00
13 août 2015 à 18:00
Erreur, j'avais mis pour ajouter les lignes au lieu de supprimer. C'est :
Mais il ne faut pas de cellule verrouillée sur la ligne.
Si tu en as il faut demander à l'utilisateur quelles lignes supprimer. Par exemple sur le clic-droit, à mettre dans le module Feuil :
Il sélectionne ses lignes fait un clic-droit sur la sélection.
Au passage tu peux contrôler les lignes pour voir s'il a le droit de les supprimer.
eric
Sub protege() Worksheets("Feuil1").Protect "MotDePasse", DrawingObjects:=True, Contents:=True, Scenarios:=True, _ AllowDeletingRows:=True, UserInterfaceOnly:=True End Sub
Mais il ne faut pas de cellule verrouillée sur la ligne.
Si tu en as il faut demander à l'utilisateur quelles lignes supprimer. Par exemple sur le clic-droit, à mettre dans le module Feuil :
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) If Target.Columns.Count = Columns.Count Then If MsgBox("Supprimer les lignes " & Target.Address, vbYesNo + vbQuestion) = vbYes Then Cancel = True Target.Locked = False Target.EntireRow.Delete End If End If End Sub
Il sélectionne ses lignes fait un clic-droit sur la sélection.
Au passage tu peux contrôler les lignes pour voir s'il a le droit de les supprimer.
eric