Protection des feuilles en Excel 2013 trop lente?


La protection des Feuilles en Excel 2013 prends nettement plus de temps que dans les versions précédentes.

Cette différence n'est pas gênante lorsque vous protégez la ou les Feuilles manuellement. Mais si vous utilisez des procédures VBA pour protéger et déprotéger vos Feuilles de manière systématique (automatique et fréquente – par exemple lors de la gestion des utilisateurs), il peut s'agir d'un problème de performance assez important. Pour Si vous devez (dé)protéger une dizaine des Feuilles d'un coup, cette procédure peut facilement prendre 10-15 secondes. Pourtant, dans les versions précédentes d'Excel, cela ne prenait qu'une fraction de seconde.

Pourquoi la protection des Feuilles est-elle si lente?

Ce ralentissement est dû par une substantielle augmentation du niveau de sécurité dans Excel 2013 pour les fichiers protégés par un mot de passe. Excel 2013 utilise comme algorithme de chiffrage le "SHA-512" qui est beaucoup plus sûr que l'algorithme "SHA-1" utilisé dans Excel 2010.

Ceci implique donc que vos Feuilles et vos Classeurs (verrouillés avec un mot de passe) sont nettement mieux protégés mais le prix à payer est la performance.

Exemple de code VBA pour protéger les Feuilles

Avec le code VBA suivant, vous pouvez protéger par mot de passe toutes les Feuilles dans le Classeur. Pour un classeur avec plus de 10 Feuilles, la différence du temps d'exécution de ce code entre Excel 2007/2010 et Excel 2013 est saisissante…

 

 

La Solution?

En fait, il n'y en a pasla lenteur est le prix à payer pour une meilleure protection des fichiers. Et comme il s'agit du design même d'Excel, il est impossible d'y remédier.

Ce qui reste à faire aux développeurs en Excel/VBA, c'est de revoir la conception et le fonctionnement de leurs applications. Les Feuilles doivent-elles être protégées? Est-il possible de réduire le nombre des feuilles à protéger?

Une importante remarque à la fin: les Feuilles protégées SANS mot de passe ne sont pas concernées par ce problème. Le chiffrement n'a lieu que quand vous utilisez un mot de passe.

Si vous verrouillez les Feuilles par principe ou par précaution contre une mauvaise manipulation ou un "accident fortuit", vous pouvez protéger les Feuilles sans utiliser de mot de passe. Cela devrait faire l'affaire sans problèmes de performance même en Excel 2013.

Pour cela, il suffit de supprimer l'argument Password:="MonMotDePasse" :

Pour aller plus loin

Voici quelques autres articles ici sur Excel-Malin.com qui pourraient vous intéresser…

 

3 0

Pourrait vous intéresser

Partagez cette page...
Share on FacebookShare on Google+Share on LinkedInTweet about this on TwitterShare on RedditShare on TumblrDigg thisEmail this to someone

Laissez un commentaire

Votre adresse de messagerie ne sera pas publiée.