Voila, G une feuille qui contient des infos qui sont modifier par une saisie
dans une form.
Pour eviter que l'utilisateur ne mette ses gros doigts :) dans la feuille,
elle est protegé, MAIS SANS MOT DE PASSE
Voici en gros le traitement lors de la validation de la Form
...
If ActiveWorkbook.Worksheets(MainSheetName).ProtectContents = True Then '(si
la feuille est protegé, je deprotege)
ActiveWorkbook.Worksheets(MainSheetName).Unprotect
endif
...
'(Ici je modifi les infos sur la feuille)
...
ActiveWorkBook.Worksheets(MainSheetName).Protect '(Je reprotege la feuille)
Unload MaForme '(et je ferme la forme)
Mais voila.. si la feuille est deja protegée, j'ai un "La methode Unprotect
de la classe worksheets a echoué" et dans le cas ou lors de l'appel de la
form, la feuille n'est pas protege, c'est la méthode protect qui plante ("La
methode Protect de la classe worksheets a echoué")
Voici le code reel, ca peut ptet servir
......
'Met à jour la feuille
If ActiveWorkbook.Worksheets(MainSheetName).ProtectContents = True Then
ActiveWorkbook.Worksheets(MainSheetName).Unprotect '<- Ca bloque ici si la
feuille etait protegée sans mdp lors de l'appel
Compteur = 1
Do While ActiveWorkbook.Sheets(DBSheetName).Cells(DBdepart - 1,
Compteur).Value <> ""
RefCell = ActiveWorkbook.Sheets(DBSheetName).Cells(DBrefCell, Compteur)
If RefCell <> "" Then
ActiveWorkbook.Sheets(MainSheetName).Range(RefCell).Value =
ActiveWorkbook.Sheets(DBSheetName).Cells(Ligne, Compteur).Value
End If
Compteur = Compteur + 1
Loop
' ActiveSheet.Protect <-- G essayé ca aussi, pas mieux ...
ActiveWorkbook.Worksheets(MainSheetName).Unprotect '<- Ca bloque ici si la
feuille n'etait pas protegé lors de l'appel
Unload Form_selection_client
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
papou
Bonjour ProtectionMode te renvoie TRUE si la feuille est protégée et FALSE sinon, tu peux donc effectuer ce test avant de vouloir protéger ou déprotéger : 'Exemple : If Sheets("TaFeuille").ProtectionMode Then Sheets("TaFeuille").UnProtect End If Cordialement
PS : Evite les grossièretés même si elles paraissent masquées
Pascal
"Snip" a écrit dans le message de news:
Salut a tous,
Voila, G une feuille qui contient des infos qui sont modifier par une saisie
dans une form. Pour eviter que l'utilisateur ne mette ses gros doigts :) dans la feuille, elle est protegé, MAIS SANS MOT DE PASSE Voici en gros le traitement lors de la validation de la Form ... If ActiveWorkbook.Worksheets(MainSheetName).ProtectContents = True Then '(si
la feuille est protegé, je deprotege) ActiveWorkbook.Worksheets(MainSheetName).Unprotect endif ... '(Ici je modifi les infos sur la feuille) ... ActiveWorkBook.Worksheets(MainSheetName).Protect '(Je reprotege la feuille)
Unload MaForme '(et je ferme la forme)
Mais voila.. si la feuille est deja protegée, j'ai un "La methode Unprotect
de la classe worksheets a echoué" et dans le cas ou lors de l'appel de la form, la feuille n'est pas protege, c'est la méthode protect qui plante ("La
methode Protect de la classe worksheets a echoué")
Voici le code reel, ca peut ptet servir ...... 'Met à jour la feuille If ActiveWorkbook.Worksheets(MainSheetName).ProtectContents = True Then ActiveWorkbook.Worksheets(MainSheetName).Unprotect '<- Ca bloque ici si la
feuille etait protegée sans mdp lors de l'appel Compteur = 1 Do While ActiveWorkbook.Sheets(DBSheetName).Cells(DBdepart - 1, Compteur).Value <> "" RefCell = ActiveWorkbook.Sheets(DBSheetName).Cells(DBrefCell, Compteur) If RefCell <> "" Then ActiveWorkbook.Sheets(MainSheetName).Range(RefCell).Value > ActiveWorkbook.Sheets(DBSheetName).Cells(Ligne, Compteur).Value End If Compteur = Compteur + 1 Loop ' ActiveSheet.Protect <-- G essayé ca aussi, pas mieux ... ActiveWorkbook.Worksheets(MainSheetName).Unprotect '<- Ca bloque ici si la feuille n'etait pas protegé lors de l'appel Unload Form_selection_client
Merci !! +
Bonjour
ProtectionMode te renvoie TRUE si la feuille est protégée et FALSE sinon, tu
peux donc effectuer ce test avant de vouloir protéger ou déprotéger :
'Exemple :
If Sheets("TaFeuille").ProtectionMode Then
Sheets("TaFeuille").UnProtect
End If
Cordialement
PS : Evite les grossièretés même si elles paraissent masquées
Pascal
"Snip" <snip@danstoncul.net> a écrit dans le message de news:
Ol7rWXXIEHA.3128@TK2MSFTNGP10.phx.gbl...
Salut a tous,
Voila, G une feuille qui contient des infos qui sont modifier par une
saisie
dans une form.
Pour eviter que l'utilisateur ne mette ses gros doigts :) dans la feuille,
elle est protegé, MAIS SANS MOT DE PASSE
Voici en gros le traitement lors de la validation de la Form
...
If ActiveWorkbook.Worksheets(MainSheetName).ProtectContents = True Then
'(si
la feuille est protegé, je deprotege)
ActiveWorkbook.Worksheets(MainSheetName).Unprotect
endif
...
'(Ici je modifi les infos sur la feuille)
...
ActiveWorkBook.Worksheets(MainSheetName).Protect '(Je reprotege la
feuille)
Unload MaForme '(et je ferme la forme)
Mais voila.. si la feuille est deja protegée, j'ai un "La methode
Unprotect
de la classe worksheets a echoué" et dans le cas ou lors de l'appel de la
form, la feuille n'est pas protege, c'est la méthode protect qui plante
("La
methode Protect de la classe worksheets a echoué")
Voici le code reel, ca peut ptet servir
......
'Met à jour la feuille
If ActiveWorkbook.Worksheets(MainSheetName).ProtectContents = True Then
ActiveWorkbook.Worksheets(MainSheetName).Unprotect '<- Ca bloque ici si
la
feuille etait protegée sans mdp lors de l'appel
Compteur = 1
Do While ActiveWorkbook.Sheets(DBSheetName).Cells(DBdepart - 1,
Compteur).Value <> ""
RefCell = ActiveWorkbook.Sheets(DBSheetName).Cells(DBrefCell, Compteur)
If RefCell <> "" Then
ActiveWorkbook.Sheets(MainSheetName).Range(RefCell).Value > ActiveWorkbook.Sheets(DBSheetName).Cells(Ligne, Compteur).Value
End If
Compteur = Compteur + 1
Loop
' ActiveSheet.Protect <-- G essayé ca aussi, pas mieux ...
ActiveWorkbook.Worksheets(MainSheetName).Unprotect '<- Ca bloque ici si la
feuille n'etait pas protegé lors de l'appel
Unload Form_selection_client
Bonjour ProtectionMode te renvoie TRUE si la feuille est protégée et FALSE sinon, tu peux donc effectuer ce test avant de vouloir protéger ou déprotéger : 'Exemple : If Sheets("TaFeuille").ProtectionMode Then Sheets("TaFeuille").UnProtect End If Cordialement
PS : Evite les grossièretés même si elles paraissent masquées
Pascal
"Snip" a écrit dans le message de news:
Salut a tous,
Voila, G une feuille qui contient des infos qui sont modifier par une saisie
dans une form. Pour eviter que l'utilisateur ne mette ses gros doigts :) dans la feuille, elle est protegé, MAIS SANS MOT DE PASSE Voici en gros le traitement lors de la validation de la Form ... If ActiveWorkbook.Worksheets(MainSheetName).ProtectContents = True Then '(si
la feuille est protegé, je deprotege) ActiveWorkbook.Worksheets(MainSheetName).Unprotect endif ... '(Ici je modifi les infos sur la feuille) ... ActiveWorkBook.Worksheets(MainSheetName).Protect '(Je reprotege la feuille)
Unload MaForme '(et je ferme la forme)
Mais voila.. si la feuille est deja protegée, j'ai un "La methode Unprotect
de la classe worksheets a echoué" et dans le cas ou lors de l'appel de la form, la feuille n'est pas protege, c'est la méthode protect qui plante ("La
methode Protect de la classe worksheets a echoué")
Voici le code reel, ca peut ptet servir ...... 'Met à jour la feuille If ActiveWorkbook.Worksheets(MainSheetName).ProtectContents = True Then ActiveWorkbook.Worksheets(MainSheetName).Unprotect '<- Ca bloque ici si la
feuille etait protegée sans mdp lors de l'appel Compteur = 1 Do While ActiveWorkbook.Sheets(DBSheetName).Cells(DBdepart - 1, Compteur).Value <> "" RefCell = ActiveWorkbook.Sheets(DBSheetName).Cells(DBrefCell, Compteur) If RefCell <> "" Then ActiveWorkbook.Sheets(MainSheetName).Range(RefCell).Value > ActiveWorkbook.Sheets(DBSheetName).Cells(Ligne, Compteur).Value End If Compteur = Compteur + 1 Loop ' ActiveSheet.Protect <-- G essayé ca aussi, pas mieux ... ActiveWorkbook.Worksheets(MainSheetName).Unprotect '<- Ca bloque ici si la feuille n'etait pas protegé lors de l'appel Unload Form_selection_client