Oter la protection d'une feuille excel avec une macro

Soyez le premier à donner votre avis sur cette source.

Snippet vu 86 278 fois - Téléchargée 42 fois

Contenu du snippet

la macro désactive la protection des feuilles Excel

Source / Exemple :


Sub enleve_protection()
    Dim a, b, c, d, e, f, g, h, i, j, k, l As Integer
    On Error Resume Next
    For a = 65 To 66
        For b = 65 To 66
            For c = 65 To 66
                For d = 65 To 66
                    For e = 65 To 66
                        For f = 65 To 66
                            For g = 65 To 66
                                For h = 65 To 66
                                    For i = 65 To 66
                                        For j = 65 To 66
                                            For k = 65 To 66
                                                For l = 32 To 126
                                                    ActiveSheet.Unprotect Chr(a) & Chr(b) & Chr(c) &_
                                                    Chr(d) & Chr(e) & Chr(f) & Chr(g) & Chr(h) &_
                                                    Chr(i) & Chr(j) & Chr(k) & Chr(l)
                                                    If ActiveSheet.ProtectContents = False Then
                                                        MsgBox "La Protection a été enlevée - Un mot de passe satisfaisant est :" & Chr(a) & Chr(b) & _
                                                        Chr(c) & Chr(d) & Chr(e) & Chr(f) & Chr(g) & _
                                                        Chr(h) & Chr(i) & Chr(j) & Chr(k) & Chr(l)
                                                        Exit Sub
                                                    End If
                                                Next
                                            Next
                                        Next
                                    Next
                                Next
                            Next
                        Next
                    Next
                Next
            Next
        Next
    Next
End Sub

Conclusion :


Tout est dans le code (testé sous excel 97)

A voir également

Ajouter un commentaire

Commentaires

cs_Marcus94
Messages postés
2
Date d'inscription
mercredi 24 décembre 2003
Statut
Membre
Dernière intervention
24 décembre 2003
-
Je l'ai testé sous excel 2000, voilà ce qu'affiche la compil ?? :
Erreur de compilation , erreur de syntaxe sur les lignes :

ActiveSheet.Unprotect Chr(a) & Chr(b) & Chr(c) &_
Chr(d) & Chr(e) & Chr(f) & Chr(g) & Chr(h) &_

Marcus.
NaVince
Messages postés
1
Date d'inscription
mardi 3 août 2004
Statut
Membre
Dernière intervention
3 août 2004
-
Exact, il y a juste une toute petite erreur de frappe de notre ami granddebutant : lorsque l'on veut retourner à la ligne, il faut mettre un espace entre le "&" et le "_". La ligne correctement écrite donne :

ActiveSheet.Unprotect Chr(a) & Chr(b) & Chr(c) & _
Chr(d) & Chr(e) & Chr(f) & Chr(g) & Chr(h) & _ ... et ainsi de suite.

Sinon, ça marche particulièrement bien ! Félicitations granddebutant !

Vince.
allo300
Messages postés
1
Date d'inscription
mardi 6 septembre 2005
Statut
Membre
Dernière intervention
6 septembre 2005
-
j'arrivve pas a trouvé la zone se saisie du code...
ile me demande toujours un mot de passe??????????
cs_salsitawapa
Messages postés
7
Date d'inscription
samedi 18 novembre 2000
Statut
Membre
Dernière intervention
19 avril 2006
-
Fonctionne très bien une fois les petites fautes corrigée :

Sub enleve_protection()
Dim a, b, c, d, e, f, g, h, i, j, k, l As Integer
On Error Resume Next
For a = 65 To 66
For b = 65 To 66
For c = 65 To 66
For d = 65 To 66
For e = 65 To 66
For f = 65 To 66
For g = 65 To 66
For h = 65 To 66
For i = 65 To 66
For j = 65 To 66
For k = 65 To 66
For l = 32 To 126
ActiveSheet.Unprotect Chr(a) & Chr(b) & Chr(c) & _
Chr(d) & Chr(e) & Chr(f) & Chr(g) & Chr(h) & _
Chr(i) & Chr(j) & Chr(k) & Chr(l)
If ActiveSheet.ProtectContents = False Then
MsgBox "La Protection a été enlevée - Un mot de passe satisfaisant est :" & Chr(a) & Chr(b) & _
Chr(c) & Chr(d) & Chr(e) & Chr(f) & Chr(g) & _
Chr(h) & Chr(i) & Chr(j) & Chr(k) & Chr(l)
Exit Sub
End If
Next
Next
Next
Next
Next
Next
Next
Next
Next
Next
Next
Next
End Sub
cs_salsitawapa
Messages postés
7
Date d'inscription
samedi 18 novembre 2000
Statut
Membre
Dernière intervention
19 avril 2006
-
Merci à granddebutant et NaVince

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.