Déprotéger certaines cellules pour éxecution d'une macro
Fermé
geo3701
Messages postés
58
Date d'inscription
mardi 16 avril 2013
Statut
Membre
Dernière intervention
8 août 2017
-
Modifié par geo3701 le 25/07/2013 à 11:49
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 - 25 juil. 2013 à 21:48
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 - 25 juil. 2013 à 21:48
Bonjour,
J'ai un léger soucis. J'ai protéger des cellules en écriture dans ma feuille, mais normalement le filtre est autorisé. Je lance donc une macro qui remet tous mes filtres "à zéro".
Sauf que du coup, à cause de la protection, la macro bloque.
J'ai vu par ci par là des unprotect ou autres.
En fait il faudrait juste que les protections sautent le temps de l'éxecution de la macro, mais je ne sais pas comment procéder.
Merci d'avance
J'ai un léger soucis. J'ai protéger des cellules en écriture dans ma feuille, mais normalement le filtre est autorisé. Je lance donc une macro qui remet tous mes filtres "à zéro".
Sauf que du coup, à cause de la protection, la macro bloque.
J'ai vu par ci par là des unprotect ou autres.
En fait il faudrait juste que les protections sautent le temps de l'éxecution de la macro, mais je ne sais pas comment procéder.
Merci d'avance
A voir également:
- Déprotéger certaines cellules pour éxecution d'une macro
- Formule excel pour additionner plusieurs cellules - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Macro word - Guide
- Verrouiller certaines cellules excel - Guide
- Aller à la ligne dans une cellule excel - Guide
3 réponses
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
25 juil. 2013 à 11:59
25 juil. 2013 à 11:59
Bonjour,
« à cause de la protection, la macro bloque. » Est-tu sûr que ce soit à cause de la protection ?
Peux-tu mettre ton fichier sur cjoint (Comment utiliser cjoint) ou à défaut le texte de ta macro dans ton prochain message ?
« à cause de la protection, la macro bloque. » Est-tu sûr que ce soit à cause de la protection ?
Peux-tu mettre ton fichier sur cjoint (Comment utiliser cjoint) ou à défaut le texte de ta macro dans ton prochain message ?
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
25 juil. 2013 à 14:58
25 juil. 2013 à 14:58
Re,
Ta méthode pour enlever et remettre le filtre n'est pas bonne :
Ta méthode pour enlever et remettre le filtre n'est pas bonne :
sh.Activate Range("a1:w1").Select Selection.AutoFilter 'retire le filtre sur toute la ligne Selection.AutoFilter 'le remet (pour avoir la petite flèche en bas à droite de chaque cellule de cette ligne)Il faut utiliser :
sh.Activate If ActiveSheet.AutoFilterMode Then ActiveSheet.AutoFilter 'retire le filtre Range("a1:w1").AutoFilter 'le remet
geo3701
Messages postés
58
Date d'inscription
mardi 16 avril 2013
Statut
Membre
Dernière intervention
8 août 2017
1
25 juil. 2013 à 16:29
25 juil. 2013 à 16:29
Merci beaucoup. Je vais essayer de ce pas
geo3701
Messages postés
58
Date d'inscription
mardi 16 avril 2013
Statut
Membre
Dernière intervention
8 août 2017
1
25 juil. 2013 à 16:34
25 juil. 2013 à 16:34
Ca me met toujours
"erreur 1004:
vous ne pouvez executer cette commande sur une feuille protégée. pour pouvoir l'éxecuter, vous devez d'abord ôter la protection de la feuille (onglet révision, groupe modifications, bouton ôter la protection de la feuille). vous serez peut-être invité à taper un mot de passe.
PS: pour la protection des cellule, je n'ai pas utilisé de mdp
"erreur 1004:
vous ne pouvez executer cette commande sur une feuille protégée. pour pouvoir l'éxecuter, vous devez d'abord ôter la protection de la feuille (onglet révision, groupe modifications, bouton ôter la protection de la feuille). vous serez peut-être invité à taper un mot de passe.
PS: pour la protection des cellule, je n'ai pas utilisé de mdp
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
25 juil. 2013 à 21:48
25 juil. 2013 à 21:48
Essaies :
sh.Activate ActiveSheet.Unprotect If ActiveSheet.AutoFilterMode Then ActiveSheet.AutoFilter.Range.AutoFilter 'retire le filtre Range("a1:w1").AutoFilter 'le remet ActiveSheet.Protect
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 252
25 juil. 2013 à 19:57
25 juil. 2013 à 19:57
Bonjour,
met-toi en enregistrement de macro pour avoir le code de protection et déprotection.
Et si tu regardes l'aide sur .protect tu vois que tu peux ajouter le paramètre UserInterfaceOnly=true : seul l'utilisateur est bloqué par la protection, pas les macros.
eric
met-toi en enregistrement de macro pour avoir le code de protection et déprotection.
Et si tu regardes l'aide sur .protect tu vois que tu peux ajouter le paramètre UserInterfaceOnly=true : seul l'utilisateur est bloqué par la protection, pas les macros.
eric
25 juil. 2013 à 13:10
ong_tous est une fonction appelant une sélection d'onglets
Sub defiltre()
Windows(nom_fich).Activate
For Each sh In Worksheets(ong_tous)
If sh.Name = "SAS" Then
sh.Activate
Range("a1:w1").Select
Selection.AutoFilter =>retire le filtre sur toute la ligne
Selection.AutoFilter => le remet (pour avoir la petite flèche en bas à droite de chaque cellule de cette ligne)
Else
sh.Activate
Range("a1:v1").Select
Selection.AutoFilter
Selection.AutoFilter
End If
Next sh
Sheets("PLANNING").Activate
Range("a9:q9").Select
Selection.AutoFilter
Selection.AutoFilter
25 juil. 2013 à 13:13