Ôter la protection d'une feuille grace à un bug d'excel

Description

On savait à quel point excel est une passoire, mais de là à trouver une telle faille !!!

Et oui, un changement de valeur de la propriété "AllowFormattingCells" éfface purement et simplement le mot de passe de la feuille sur la qu'elle cette propriété est appliquée.

Ceci dit je ne garantis pas que ce bug existe sur toutes les versions d'excel. En tout cas cela fonctionne avec excel2003 sp2 + VBA 6.3

Le classeur téléchargeable ci-dessous est une demo de l'utilisation de ce bug:

-Le premier bouton protège la feuille avec un mot de passe généré aléatoirement.
-Le second utilise le bug

Mise à jour du 14/12/2009

Voici une parade à ce "bug" :

Il se trouve que si lors de la mise en place de la protection, l'argument "DrawingObjects" de la methode "protect" est à false
le bug ne s'applique plus !
En claire: l'option "modifier les objets" doit être cochée.

Attention ceci est une parade à ce "bug" rien de plus !... ce qui veut dire que cela ne protege en rien contre les methodes de recherches de mot de passe!

A+

3ddI7IHd

Source / Exemple :


'code à mettre dans le code de la feuille concernée:

Option Explicit
'
'Macro Créée par : BigFish_le Vrai (Philippe E)
'le :08-12-2009
'V1.0
'

Sub Bigfish_3ddI7IHd()
    'le "bug" c'est ici !!!
    'le fait de changer la valeur de la propriété AllowFormattingCells fait sauter le mot de passe !
    'il ne reste plus alors qu'à déprotéger la feuille
    'ATTENTION:
    '   ce bug existe sur excel 2003 sp2 + VBA 6.3, pour les autres versions cela reste à confirmer.
    With Me
        .Protect AllowFormattingCells:=Not .Protection.AllowFormattingCells
        .Unprotect
        .[A1].Activate
    End With
End Sub

'Le reste dans le fichier

Conclusion :


Voici donc un sujet tres politiquement incorrect !

Il serait interressant que les personnes qui essaient de reproduire ce bug sur d'autre version d'excel, que celle cité ci-dessus, nous donne le résultat.

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.