Déprotéger toutes les feuilles d'un classeur

Le
jpierrethillard
Bonjour,
J'ai cette macro qui bug dans la boucle for next sur la ligne:
Sheets(i).unprotect Password:="toto"
Je ne comprend pas pourquoi. Est-ce que quelqu'un saurait me dire?

Merci JP


Sub DeprotegeFeuilles()
Dim rep As String, nombre As Integer, i As Integer
rep = InputBox("Entrer le mot de passe?")
If rep <> "mot" Then
MsgBox "Impossible d'exécuter la procédure " _
& "sans le mot de passe !"& " Mot de passe incorrect!"
Exit Sub
End If
' Déportège toutes les feuilles du classeur
nombre = ActiveWorkbook.Sheets.Count
Application.ScreenUpdating = False
For i = 1 To nombre
Sheets(i).Unprotect Password:="toto"
Next i
End Sub
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
ChrisV
Le #5140491
Bonjour jpierre,

L'erreur se produit lorsque le MdP pour lancer la proc est correct, mais que
le MdP associé à la protection d'un onglet du classeur n'est pas conforme...
pour gérer cette erreur tu pourrais avoir:

...
On Error Resume Next
For i = 1 To nombre
Sheets(i).Unprotect Password:="toto"
Next i
End Sub


ChrisV




Bonjour,
J'ai cette macro qui bug dans la boucle for next sur la ligne:
Sheets(i).unprotect Password:="toto"
Je ne comprend pas pourquoi. Est-ce que quelqu'un saurait me dire?

Merci JP


Sub DeprotegeFeuilles()
Dim rep As String, nombre As Integer, i As Integer
rep = InputBox("Entrer le mot de passe?")
If rep <> "mot" Then
MsgBox "Impossible d'exécuter la procédure " _
& "sans le mot de passe !"& " Mot de passe incorrect!"
Exit Sub
End If
' Déportège toutes les feuilles du classeur
nombre = ActiveWorkbook.Sheets.Count
Application.ScreenUpdating = False
For i = 1 To nombre
Sheets(i).Unprotect Password:="toto"
Next i
End Sub
JPMonnier
Le #5140481
Bonjour,
Sub a()
nb = Sheets.Count
For I = 1 To nb
Sheets(I).Unprotect Password:="toto"
Next
End Sub
Ca devrait marcher

--
Cordialement


news:
Bonjour,
J'ai cette macro qui bug dans la boucle for next sur la ligne:
Sheets(i).unprotect Password:="toto"
Je ne comprend pas pourquoi. Est-ce que quelqu'un saurait me dire?

Merci JP


Sub DeprotegeFeuilles()
Dim rep As String, nombre As Integer, i As Integer
rep = InputBox("Entrer le mot de passe?")
If rep <> "mot" Then
MsgBox "Impossible d'exécuter la procédure " _
& "sans le mot de passe !"& " Mot de passe incorrect!"
Exit Sub
End If
' Déportège toutes les feuilles du classeur
nombre = ActiveWorkbook.Sheets.Count
Application.ScreenUpdating = False
For i = 1 To nombre
Sheets(i).Unprotect Password:="toto"
Next i
End Sub
JB
Le #5140471
Bonjour,

Le mot de passe est-il bien 'toto'?

JB

On 26 jan, 16:01, wrote:
Bonjour,
J'ai cette macro qui bug dans la boucle for next sur la ligne:
Sheets(i).unprotect Password:="toto"
Je ne comprend pas pourquoi. Est-ce que quelqu'un saurait me dire?

Merci JP

Sub DeprotegeFeuilles()
Dim rep As String, nombre As Integer, i As Integer
rep = InputBox("Entrer le mot de passe?")
If rep <> "mot" Then
    MsgBox "Impossible d'exécuter la procédure " _
        & "sans le mot de passe !"& " Mot de passe incorrect!"
    Exit Sub
End If
' Déportège toutes les feuilles du classeur
nombre = ActiveWorkbook.Sheets.Count
Application.ScreenUpdating = False
For i = 1 To nombre
    Sheets(i).Unprotect Password:="toto"
Next i
End Sub


MichDenis
Le #5140451
Essaie ceci : Tu dois t'assurer que le mot de passe
est le même pour chacune des feuilles.

'--------------------------------------
Sub DeprotegeFeuilles()
Dim MotDePasse As String
Dim Rep As String, Sh As Worksheet

MotDePasse = "mot"

Do
Rep = InputBox("Entrer le mot de passe?")
If Rep = "" Then Exit Sub
If Rep <> MotDePasse Then
If MsgBox("Impossible d'exécuter la procédure " _
& "sans le mot de passe. !" & vbCrLf & vbCrLf & _
"Désirez-vous réessayer ?", vbCritical + _
vbYesNo, "Attention") = vbNo Then
Exit Sub
End If
End If
Loop Until Rep = MotDePasse

For Each Sh In Worksheets
Sh.Unprotect MotDePasse
Next
End Sub
'--------------------------------------





Bonjour,
J'ai cette macro qui bug dans la boucle for next sur la ligne:
Sheets(i).unprotect Password:="toto"
Je ne comprend pas pourquoi. Est-ce que quelqu'un saurait me dire?

Merci JP


Sub DeprotegeFeuilles()
Dim rep As String, nombre As Integer, i As Integer
rep = InputBox("Entrer le mot de passe?")
If rep <> "mot" Then
MsgBox "Impossible d'exécuter la procédure " _
& "sans le mot de passe !"& " Mot de passe incorrect!"
Exit Sub
End If
' Déportège toutes les feuilles du classeur
nombre = ActiveWorkbook.Sheets.Count
Application.ScreenUpdating = False
For i = 1 To nombre
Sheets(i).Unprotect Password:="toto"
Next i
End Sub
jpierrethillard
Le #5140311
ChrisV,

le: "on Error Resume Next" empeche le plantage.
Merci à tous

JP

On 26 jan, 17:12, "ChrisV"
Bonjour jpierre,

L'erreur se produit lorsque le MdP pour lancer la proc est correct, mais q ue
le MdP associé à la protection d'un onglet du classeur n'est pas confo rme...
pour gérer cette erreur tu pourrais avoir:

...
On Error Resume Next
For i = 1 To nombre
    Sheets(i).Unprotect Password:="toto"
Next i
End Sub




Bonjour,
J'ai cette macro qui bug dans la boucle for next sur la ligne:
Sheets(i).unprotect Password:="toto"
Je ne comprend pas pourquoi. Est-ce que quelqu'un saurait me dire?

Merci JP

Sub DeprotegeFeuilles()
Dim rep As String, nombre As Integer, i As Integer
rep = InputBox("Entrer le mot de passe?")
If rep <> "mot" Then
    MsgBox "Impossible d'exécuter la procédure " _
        & "sans le mot de passe !"& " Mot de passe incorrect!"
    Exit Sub
End If
' Déportège toutes les feuilles du classeur
nombre = ActiveWorkbook.Sheets.Count
Application.ScreenUpdating = False
For i = 1 To nombre
    Sheets(i).Unprotect Password:="toto"
Next i
End Sub


Publicité
Poster une réponse
Anonyme