Microsoft 365 Oter protection feuille pour macro

  • Initiateur de la discussion Initiateur de la discussion oceanepla
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

oceanepla

XLDnaute Junior
Bonjour,
Dans ma macro, je n'arrive pas à l'executer lorsque mes feuilles de mon classeur sont protégées. Savez-vous comment je pourrais faire pour que cela fonctionne. J'ai tenté des codes comme : ActiveSheet.Unprotect mais j'ai pas reussi.

Merci de votre aide,
 

Pièces jointes

bonjour oceanepla, bonjour roblochon, bonjour le forum

enlever la protection comportant un mot de passe connu sur la feuille active
VB:
ActiveSheet.Unprotect ("PADIMT")
ne pas oublier de protéger la feuille en fin de procédure
VB:
ActiveSheet.protect ("PADIMT")
cordialement
galougalou
 
Bonjour,

Dans le fichier joint, voilà qui est corrigé.

Cordialement

P.S. les ActiveWorkbook.RefreshAll de votre macro et de Workbook_SheetChange sont-ils bien necessaires ? il ralentissent le classeur et n'apporte pas vraiment grand chose. Utilisez plutôt un rafraîchissement des requêtes au besoin.
 

Pièces jointes

Bonjour,

Dans le fichier joint, voilà qui est corrigé.

Cordialement

P.S. les ActiveWorkbook.RefreshAll de votre macro et de Workbook_SheetChange sont-ils bien necessaires ? il ralentissent le classeur et n'apporte pas vraiment grand chose. Utilisez plutôt un rafraîchissement des requêtes au besoin.
Ok super pour le code de la protection, merci beaucoup. Pour ta deuxième remarque, je suis obligé d'actualiser les requête de la feuille Tout sinon ma codification ne se met pas à jour. Sinon peut être que tu as une autre idée
 
Tout sinon ma codification ne se met pas à jour.
Bonjour,

Est-ce que vous avez un besoin réel sur _Tout d'une actualisation immédiate à chaque modification d'une des feuilles de département ?
Actualisez _Tout uniquement quand vous en avez besoin pour consultation, edition, publication etc...
En général nous avons besoin d'une information actualisée QUE lorsque nous voulons l'utiliser, le reste du temps qu'elle soit à jour ou non importe peu.

Cordialement
 
Bonjour,

Est-ce que vous avez un besoin réel sur _Tout d'une actualisation immédiate à chaque modification d'une des feuilles de département ?
Actualisez _Tout uniquement quand vous en avez besoin pour consultation, edition, publication etc...
En général nous avons besoin d'une information actualisée QUE lorsque nous voulons l'utiliser, le reste du temps qu'elle soit à jour ou non importe peu.

Cordialement
J'ai envie de dire oui, car si une des lignes est modifié au moins, elle est actualisée dans Tout. J'ai surtout fait ça pour la codification. Mais sinon, je suis ouverte à d'autres propositions. J'ai besoin que le code change dès qu'une action a été remplie
 
J'ai surtout fait ça pour la codification. Mais sinon, je suis ouverte à d'autres propositions. J'ai besoin que le code change dès qu'une action a été remplie
Je ne vois pas de quoi vous parlez.
J'ai répondu à un problème, précis et au passage j'ai juste constaté que vos macro demandaient un peu trop le rafraîchissement des requêtes.
Le pourquoi du comment de ces rafraîchissements successifs, et qui ne faisait pas partie de la question initiale, je ne m'en suis pas préoccupé.

Cordialement
 
Je ne vois pas de quoi vous parlez.
J'ai répondu à un problème, précis et au passage j'ai juste constaté que vos macro demandaient un peu trop le rafraîchissement des requêtes.
Le pourquoi du comment de ces rafraîchissements successifs, et qui ne faisait pas partie de la question initiale, je ne m'en suis pas préoccupé.

Cordialement
Merci pour votre remarque, je vais regarder cela
 
Re,

J'ai regardé et il me semble que dans la feuille 'Saisie' :

1 - est à proscrire ce genre de formule matricielle sur toute une colonne :
SOMME(SI(SIERREUR(STXT(_Tout!A:A;1;NBCAR(_Tout!A:A)-1);"")=F_codification1;1;0))+1I
très gourmande en ressources et temps de calcul.
même si les nouvelles version d'excel ont amélioré la délimitation des plages à calculer, ne jamais référencer toute une colonne dans une formule si ce n'est pas absolument nécessaire.

2 - était à raccourcir la formule de construction du code, devenue :
=DROITE(F_département;3)&TEXTE(F_datecréation;"aammjj")
et de son indice :

=NB.SI(INDIRECT("PA_"&F_département&"|code|");"="&F_codification1&"*")+1

Formule plus rapide et moins gourmande que la formule matricielle qui ne nécéssitera pas l'actualisation de _Tout dès qu'une ligne écriture est saisie.

J'ai enlevé les demandes de rafraîchissement de _Tout dans la macro saisie et à l'activation des feuilles de département.

Essayez, testez la saisie sur différents (plusieurs lignes) départements et dites nous.

si quelque chose ne va pas essayer d'être le plus précis possible dans la description du problème.

Une autre chose, est-ce bien nécessaire de trier les lignes des feuilles Département à chaque saisie de ligne.

Cela pourrait être fait sur activation d'une ces feuilles. D'autant que tel qu'écrites les lignes de codes de la macro Trient sur le Code pour annuler immédiatement se tri et le remplacer par un tri sur Statut !

cordialement
 

Pièces jointes

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
33
Affichages
713
Réponses
8
Affichages
485
Retour