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

Soyez le premier à donner votre avis sur cette source.

Vue 22 773 fois - Téléchargée 1 977 fois

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

Ajouter un commentaire

Commentaires

Bonjour!!
Je confirme le bug (y inclus la déprotection de tous les fichiers ouverts) dans Excel 2010 avec VBA 7.0, sous Windows7...
Effectivement, écœurant!!
Reste à tester la solution de de JJM78 du 12/12/2009 00:20:28 ...
A suivre...
delattre13
Messages postés
20
Date d'inscription
lundi 2 février 2009
Statut
Membre
Dernière intervention
3 mai 2013
-
Bonjour,

ça marche Nickel sur les feuilles protégée avec mot de passe mais pas sur le VBA Excel 2007.

Je sais que c'est peu vieux mais le moyen pour visualiser tous les codes VBA Excel sans réfléchir c'est de l'ouvrir avec OpenOffice et là c'est un vrai plaisir de lire tous les codes VBA protégés par les et les autres.
Ceci dit en général ils n'offrent que peu d'intérêt car ils ont une fonction bien précise pour un classeur donné, et tout comme les boulons et les vis on a jamais la bonne sous la main. Donc on cherche sur Internet les instructions qui nous conviennent.
PWM63
Messages postés
127
Date d'inscription
lundi 11 octobre 2004
Statut
Membre
Dernière intervention
18 mai 2016
-
Reste plus qu'à vérifier si ce bug existe sur ooo :)
et à compter le nombre de jours avant de voir venir le correctif...
bigfish_le vrai
Messages postés
1839
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
20 novembre 2013
8 -
je vous ai rajouté une petite parade à ce "bug" (voir la description)

je confirmes la réponse affirmative de US_30, un mot de passe sur le code VBA n'est pas plus une protection que le mot de passe sur une feuille.

Le meilleur moyen que pourrait nous donner MS serait d'ajouter un évenement de déprotection. Mais hélas il n'existe pas, même au niveau de l'application dommage...
Je suis en train travailler sur le sujet et voir si l'on peut détourner un des évènements dispo. pour detecter une tentative de déprotection. mais dans touts les cas il restera toujours le problème du mot de passe sur le code qui comme dit plus haut n'est en rien une protection.

-JJM78, aucun problème pour afficher une feuille cachée même avec xlverihidden via une macro sur un autre classeur et même si elle est protégée.
vas voir ici : http://www.vbfrance.com/codes/ASTUCE-AMELIORER-SECURITE-ACCES-DONNEES-CODE-FICHIER-EXCEL_48448.aspx
je donnes quelques autres astuces methode pour ça.

3ddI7IHd
jacpapy
Messages postés
1
Date d'inscription
lundi 7 avril 2008
Statut
Membre
Dernière intervention
14 décembre 2009
-
Bonjour,

J'ai fait un test en protégeant moi-même la feuille
dans ce cas le bouton "déprotection via le bug" ne s'active pas
J'ai donc exécuter la macro "Bigfish_3ddI7IHd", la seule visible
Le résultat est correct, la protection est levée
Je suis en version V2007 sous vista, mais la version du VBA est la même que toi 6.3

jacpapy

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.