Microsoft 365 Oter protection feuille pour macro

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

  • PA_DIMT_2021_V0 (1).xlsm
    223.7 KB · Affichages: 12

Hasco

XLDnaute Barbatruc
Repose en paix

GALOUGALOU

XLDnaute Accro
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
 

Hasco

XLDnaute Barbatruc
Repose en paix
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

  • PA_DIMT_2021_V0 (1).xlsm
    235 KB · Affichages: 4

oceanepla

XLDnaute Junior
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
 

Hasco

XLDnaute Barbatruc
Repose en paix
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
 

oceanepla

XLDnaute Junior
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
 

Hasco

XLDnaute Barbatruc
Repose en paix
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
 

oceanepla

XLDnaute Junior
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
 

Hasco

XLDnaute Barbatruc
Repose en paix
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

  • PA_DIMT_2021_V0 (1).xlsm
    242.1 KB · Affichages: 3
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 338
Messages
2 087 397
Membres
103 535
dernier inscrit
moimeme1