Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Mot de passe

24 réponses
Avatar
Thierry
Bonjour,

j'ai un fichier excel a qui j'ai donné lors de l'enregistrement deux mots de
passes :

- un pour la lecture
- un pour la mise à jour

Ma question est la suivante lors de l'ouverture de ce classeur je voudrais
qu'automatiquement dans le cas d'une ouverture avec le mot de passe en
lecture :

- verrouiller tout le classeur (aucun accés aux
cellules, aucun accés au macro et code des modules, rendre invisible une
feuille qui s'appelle Paramètres)

Dans le cas d'une ouverture en mise à jour pouvoir automatiquement accéder à
tout.

Est ce possible ?

Merci.

--
Ne pas répondre à l'adresse anti-spam.





---
Antivirus avast! : message Sortant sain.
Base de donnees virale (VPS) : 000740-1, 15/05/2007
Analyse le : 15/05/2007 15:57:55
avast! - copyright (c) 1988-2007 ALWIL Software.
http://www.avast.com

10 réponses

1 2 3
Avatar
ffo
Salut Misange
Je découvre avec plaisir cette option
Que faut il faire à cette fin ???
Remettre tel quel le code je suis preneur
Mais toi le récupérer et ce afin d'éviter des manipulations supplèmentaires
que je ne connais pas ne serait ce pas plus simple ???
L'intégrer dans un classeur exemple encore mieux mais n'importe quel
classeur peut convenir dans la mesure où celà ne concerne que son verouillage
en fonction d'un mot de passe saisi, un classeur spéciphique n'est donc pas
nécessaire
Je pense que quelques lignes d'introduction quant à son objet à l'instar de
ce qui existe sur ce site seront à élaborer

Qui fait quoi ???

Merci de m'aider dans cette tâche
Je suis prêts à suivre tes indications
Dans l'attente de te lire


La ficelle a été longue et productive, si vous voulez remettre in
extenso le code, voire en faire un classeur exemple et me l'envoyer sur
excelabo, je le mettrai avec plaisir à la disposition de tous, c'est une
demande susceptible d'intéresser pas mal d'excelliens ;-)

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Rebonjour
Trés heureux que celà te convienne !!!!
Pour interdir l'enregistrement on atteint là les possibilité d'excel
Mais si aucune modification n'a pu être réalisée du fait des conditions
instaurées par le profile lecture un enregistrement éventuel ne serait pas
dommageable et ne porterait à aucune conséquence
Est ce donc bien utile
Toute fois tu as la possibilité de mettre le fichier concerné en lecture
seule :
click droit sur le document puis Propriétés et cocher Lecture seule
Cette option malheureusement touchera tous les utlisateurs y compris ceux
habilités à des modifications
Ils pourront toutefois l'enregistrer sous un autre nom
A toi de voir

A bientôt peut être


J'ai fait tout ce que tu m'a dit mais en repartant d'une sauvegarde car je
n'arrivais pas à m'en sortir avec celui qui avait été modifier.

Un Grand merci car tout marche impec :) :)

Question subsidiaire : Dans le cas du profil de lecture est il possible
d'interdire l'enregistrement ?

a +

"ffo" a écrit dans le message de news:

Dans la procédure manuelle de déprotection pense à réaliser l'opération
sur
toutes les feuilles y compris celles éventuellement cachées
Déprotection à réaliser avec
Outil/Protection icone Oter la protection de la feuille et Oter la
protection du classeur

Dis moi !!!

Bonjour,

J'ai testé ton code le premier et le second et j'ai toujours le même
problème :

Lorsque je rentre le mot de passe de la Mise à jour j'ai un plantage
erreur
d'execution 1004 Mot de passe non valide vérifier que la touche Verr.Maj
n'est pas activée et que vous respectez la bonne casse.

Pour le profil de lecture je n'ai jamais de souci.

Je ne comprends pas ????

"FFO" a écrit dans le message de news:

Re bonjour Thierry
Je n'ai pas inclu la protection du VBA dans ce code
Si tu souhaites le protéger je te propose une fois installé de
l'activer
manuellement :
Click droit sur ThisWorkbook/Proprièté de VBAProject icone Protection
Cocher Verrouiller le projet pour l'affichage
Saisir un mot de passe
le confirmer
enregistrer
A l'ouverture suivante le VBA sera inaccessible sauf en le
déverrouillant
avec le mot de passe

J'ai légèrement modifié le code pour inclure les protections avec mot
de
passe du classeur et des feuilles
Ce qui avait l'inconvénient d'accéder à leur activation et
desactivation
de
manière libre
Afin de ne pas demander 2 fois le même mot de passe notamment pour
l'option
mise à jour (une fois pour faire fonctionner le code l'autre fois pour
permettre la déprotection) j'ai intégré la saisie à l'ouverture du
document
dans l'instruction de déprotection
Le code corrigé :

Private Sub Workbook_Open()
Identité = InputBox("veuillez saisir le mot de passe", "Mot de passe",
"")
If Identité = "Lecture" Then
If Sheets("Paramètres").Visible = True Then
Sheets("Paramètres").Select
ActiveWindow.SelectedSheets.Visible = False
End If
For I = 1 To Sheets.Count
Sheets(I).Protect "Mise à jour", DrawingObjects:=True, Contents:=True,
Scenarios:=True
Sheets(I).EnableSelection = xlNoSelection
Next
ActiveWorkbook.Protect "Mise à jour", Structure:=True, Windows:úlse
Else
If Identité = "Mise à jour" Then
For J = 1 To Sheets.Count
Sheets(J).Unprotect Identité
Next
ActiveWorkbook.Protect Identité, Structure:úlse, Windows:úlse
Sheets("Paramètres").Visible = True
Else
ThisWorkbook.Close
Application.Quit
End If
End If
End Sub

Tu n'as plus qu'à l'actualiser des mots de passe :

Pour la lecture uniquement les lignes
If Identité = "Lecture" Then (le mot Lecture)
et
Sheets(I).Protect "Mise à jour", DrawingObjects:=True, Contents:=True,
Scenarios:=True (le mot Mise à jour)
et
ActiveWorkbook.Protect "Mise à jour", Structure:=True, Windows:úlse
(le
mot Mise à jour)

Pour la mise à jour la ligne :
If Identité = "Mise à jour" Then (le mot Mise à jour)

Espérant avoir répondu à tes attentes


Merci pour ce code.

Je vais le tester demain.

Est ce que ce code marche aussi pour interdire l'accès a VBA ? Je
voudrais
aussi bloquer cette possibilité.

"FFO" a écrit dans le message de news:

Salut Thierry
Je te propose ce code à mettre dans ThisWorkbook

Private Sub Workbook_Open()
Identité = InputBox("veuillez saisir le mot de passe", "Mot de
passe",
"")
If Identité = "Lecture" Then
Sheets("Paramètres").Select
ActiveWindow.SelectedSheets.Visible = False
For I = 1 To Sheets.Count
Sheets(I).Protect DrawingObjects:=True, Contents:=True,
Scenarios:=True
Sheets(I).EnableSelection = xlNoSelection
Next
ActiveWorkbook.Protect Structure:=True, Windows:úlse
Else
If Identité = "Mise à jour" Then
For J = 1 To Sheets.Count
Sheets(J).Unprotect
Next
ActiveWorkbook.Protect Structure:úlse, Windows:úlse
Sheets("Paramètres").Visible = True
Else
ThisWorkbook.Close
Application.Quit
End If
End If
End Sub

Tu n'as plus qu'à l'actualiser des mots de passe :

Pour la lecture uniquement la ligne
If Identité = "Lecture" Then
Pour la mise à jour la ligne :
If Identité = "Mise à jour" Then


Je pense que celà devrait faire

Dis moi !!!


Bonjour,

j'ai un fichier excel a qui j'ai donné lors de l'enregistrement
deux
mots
de
passes :

- un pour la lecture
- un pour la mise à jour

Ma question est la suivante lors de l'ouverture de ce classeur je
voudrais
qu'automatiquement dans le cas d'une ouverture avec le mot de passe
en
lecture :

- verrouiller tout le classeur (aucun
accés
aux
cellules, aucun accés au macro et code des modules, rendre
invisible
une
feuille qui s'appelle Paramètres)

Dans le cas d'une ouverture en mise à jour pouvoir automatiquement
accéder à
tout.

Est ce possible ?

Merci.

--
Ne pas répondre à l'adresse anti-spam.





---
Antivirus avast! : message Sortant sain.
Base de donnees virale (VPS) : 000740-1, 15/05/2007
Analyse le : 15/05/2007 15:57:55
avast! - copyright (c) 1988-2007 ALWIL Software.
http://www.avast.com






---
Antivirus avast! : message Entrant sain.
Base de donnees virale (VPS) : 000740-1, 15/05/2007
Analyse le : 15/05/2007 19:50:22
avast! - copyright (c) 1988-2007 ALWIL Software.
http://www.avast.com







---
Antivirus avast! : message Sortant sain.
Base de donnees virale (VPS) : 000740-1, 15/05/2007
Analyse le : 15/05/2007 19:54:07
avast! - copyright (c) 1988-2007 ALWIL Software.
http://www.avast.com






---
Antivirus avast! : message Entrant sain.
Base de donnees virale (VPS) : 000740-1, 15/05/2007
Analyse le : 16/05/2007 09:21:41
avast! - copyright (c) 1988-2007 ALWIL Software.
http://www.avast.com







---
Antivirus avast! : message Sortant sain.
Base de donnees virale (VPS) : 000740-1, 15/05/2007
Analyse le : 16/05/2007 09:34:18
avast! - copyright (c) 1988-2007 ALWIL Software.
http://www.avast.com






---
Antivirus avast! : message Entrant sain.
Base de donnees virale (VPS) : 000740-1, 15/05/2007
Analyse le : 16/05/2007 10:42:52
avast! - copyright (c) 1988-2007 ALWIL Software.













Avatar
Misange
bonjour FFO
Tu peux l'intégrer dans un classeur exemple (n'importe lequel, tu fais
juste deux feuilles, une visible par un administrateur et l'autre par un
utilisateur lambda). En revanche écris en clair sur une page d'accueil
ce que fais ce classeur (problème posé, solution retenue) et surtout
indique en clair le mot de passe !
le but c'est que celui qui veut réutiliser l'exemple dans un de ses
classeurs puisse accéder au code et le modifier à sa sauce ensuite.

toutes les "instructions" pour faire un classeur utile à d'autres sont
sur cette page d'excelabo.
http://www.excelabo.net/moteurs/contribuer.php
Cette même page te permet une fois ton classeur fini de me l'envoyer.

Si tu préfères, tu peux aussi remettre ensemble tous les bouts du code
et le soumettre comme une astuce sans classeur exemple associé, dans ce
cas, utilise plutot cette page :
http://www.excelabo.net/moteurs/contribuer2.php
et merci !

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Salut Misange
Je découvre avec plaisir cette option
Que faut il faire à cette fin ???
Remettre tel quel le code je suis preneur
Mais toi le récupérer et ce afin d'éviter des manipulations supplèmentaires
que je ne connais pas ne serait ce pas plus simple ???
L'intégrer dans un classeur exemple encore mieux mais n'importe quel
classeur peut convenir dans la mesure où celà ne concerne que son verouillage
en fonction d'un mot de passe saisi, un classeur spéciphique n'est donc pas
nécessaire
Je pense que quelques lignes d'introduction quant à son objet à l'instar de
ce qui existe sur ce site seront à élaborer

Qui fait quoi ???

Merci de m'aider dans cette tâche
Je suis prêts à suivre tes indications
Dans l'attente de te lire


La ficelle a été longue et productive, si vous voulez remettre in
extenso le code, voire en faire un classeur exemple et me l'envoyer sur
excelabo, je le mettrai avec plaisir à la disposition de tous, c'est une
demande susceptible d'intéresser pas mal d'excelliens ;-)

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Rebonjour
Trés heureux que celà te convienne !!!!
Pour interdir l'enregistrement on atteint là les possibilité d'excel
Mais si aucune modification n'a pu être réalisée du fait des conditions
instaurées par le profile lecture un enregistrement éventuel ne serait pas
dommageable et ne porterait à aucune conséquence
Est ce donc bien utile
Toute fois tu as la possibilité de mettre le fichier concerné en lecture
seule :
click droit sur le document puis Propriétés et cocher Lecture seule
Cette option malheureusement touchera tous les utlisateurs y compris ceux
habilités à des modifications
Ils pourront toutefois l'enregistrer sous un autre nom
A toi de voir

A bientôt peut être


J'ai fait tout ce que tu m'a dit mais en repartant d'une sauvegarde car je
n'arrivais pas à m'en sortir avec celui qui avait été modifier.

Un Grand merci car tout marche impec :) :)

Question subsidiaire : Dans le cas du profil de lecture est il possible
d'interdire l'enregistrement ?

a +

"ffo" a écrit dans le message de news:

Dans la procédure manuelle de déprotection pense à réaliser l'opération
sur
toutes les feuilles y compris celles éventuellement cachées
Déprotection à réaliser avec
Outil/Protection icone Oter la protection de la feuille et Oter la
protection du classeur

Dis moi !!!

Bonjour,

J'ai testé ton code le premier et le second et j'ai toujours le même
problème :

Lorsque je rentre le mot de passe de la Mise à jour j'ai un plantage
erreur
d'execution 1004 Mot de passe non valide vérifier que la touche Verr.Maj
n'est pas activée et que vous respectez la bonne casse.

Pour le profil de lecture je n'ai jamais de souci.

Je ne comprends pas ????

"FFO" a écrit dans le message de news:

Re bonjour Thierry
Je n'ai pas inclu la protection du VBA dans ce code
Si tu souhaites le protéger je te propose une fois installé de
l'activer
manuellement :
Click droit sur ThisWorkbook/Proprièté de VBAProject icone Protection
Cocher Verrouiller le projet pour l'affichage
Saisir un mot de passe
le confirmer
enregistrer
A l'ouverture suivante le VBA sera inaccessible sauf en le
déverrouillant
avec le mot de passe

J'ai légèrement modifié le code pour inclure les protections avec mot
de
passe du classeur et des feuilles
Ce qui avait l'inconvénient d'accéder à leur activation et
desactivation
de
manière libre
Afin de ne pas demander 2 fois le même mot de passe notamment pour
l'option
mise à jour (une fois pour faire fonctionner le code l'autre fois pour
permettre la déprotection) j'ai intégré la saisie à l'ouverture du
document
dans l'instruction de déprotection
Le code corrigé :

Private Sub Workbook_Open()
Identité = InputBox("veuillez saisir le mot de passe", "Mot de passe",
"")
If Identité = "Lecture" Then
If Sheets("Paramètres").Visible = True Then
Sheets("Paramètres").Select
ActiveWindow.SelectedSheets.Visible = False
End If
For I = 1 To Sheets.Count
Sheets(I).Protect "Mise à jour", DrawingObjects:=True, Contents:=True,
Scenarios:=True
Sheets(I).EnableSelection = xlNoSelection
Next
ActiveWorkbook.Protect "Mise à jour", Structure:=True, Windows:úlse
Else
If Identité = "Mise à jour" Then
For J = 1 To Sheets.Count
Sheets(J).Unprotect Identité
Next
ActiveWorkbook.Protect Identité, Structure:úlse, Windows:úlse
Sheets("Paramètres").Visible = True
Else
ThisWorkbook.Close
Application.Quit
End If
End If
End Sub

Tu n'as plus qu'à l'actualiser des mots de passe :

Pour la lecture uniquement les lignes
If Identité = "Lecture" Then (le mot Lecture)
et
Sheets(I).Protect "Mise à jour", DrawingObjects:=True, Contents:=True,
Scenarios:=True (le mot Mise à jour)
et
ActiveWorkbook.Protect "Mise à jour", Structure:=True, Windows:úlse
(le
mot Mise à jour)

Pour la mise à jour la ligne :
If Identité = "Mise à jour" Then (le mot Mise à jour)

Espérant avoir répondu à tes attentes


Merci pour ce code.

Je vais le tester demain.

Est ce que ce code marche aussi pour interdire l'accès a VBA ? Je
voudrais
aussi bloquer cette possibilité.

"FFO" a écrit dans le message de news:

Salut Thierry
Je te propose ce code à mettre dans ThisWorkbook

Private Sub Workbook_Open()
Identité = InputBox("veuillez saisir le mot de passe", "Mot de
passe",
"")
If Identité = "Lecture" Then
Sheets("Paramètres").Select
ActiveWindow.SelectedSheets.Visible = False
For I = 1 To Sheets.Count
Sheets(I).Protect DrawingObjects:=True, Contents:=True,
Scenarios:=True
Sheets(I).EnableSelection = xlNoSelection
Next
ActiveWorkbook.Protect Structure:=True, Windows:úlse
Else
If Identité = "Mise à jour" Then
For J = 1 To Sheets.Count
Sheets(J).Unprotect
Next
ActiveWorkbook.Protect Structure:úlse, Windows:úlse
Sheets("Paramètres").Visible = True
Else
ThisWorkbook.Close
Application.Quit
End If
End If
End Sub

Tu n'as plus qu'à l'actualiser des mots de passe :

Pour la lecture uniquement la ligne
If Identité = "Lecture" Then
Pour la mise à jour la ligne :
If Identité = "Mise à jour" Then


Je pense que celà devrait faire

Dis moi !!!


Bonjour,

j'ai un fichier excel a qui j'ai donné lors de l'enregistrement
deux
mots
de
passes :

- un pour la lecture
- un pour la mise à jour

Ma question est la suivante lors de l'ouverture de ce classeur je
voudrais
qu'automatiquement dans le cas d'une ouverture avec le mot de passe
en
lecture :

- verrouiller tout le classeur (aucun
accés
aux
cellules, aucun accés au macro et code des modules, rendre
invisible
une
feuille qui s'appelle Paramètres)

Dans le cas d'une ouverture en mise à jour pouvoir automatiquement
accéder à
tout.

Est ce possible ?

Merci.

--
Ne pas répondre à l'adresse anti-spam.





---
Antivirus avast! : message Sortant sain.
Base de donnees virale (VPS) : 000740-1, 15/05/2007
Analyse le : 15/05/2007 15:57:55
avast! - copyright (c) 1988-2007 ALWIL Software.
http://www.avast.com




---

Antivirus avast! : message Entrant sain.
Base de donnees virale (VPS) : 000740-1, 15/05/2007
Analyse le : 15/05/2007 19:50:22
avast! - copyright (c) 1988-2007 ALWIL Software.
http://www.avast.com






---
Antivirus avast! : message Sortant sain.
Base de donnees virale (VPS) : 000740-1, 15/05/2007
Analyse le : 15/05/2007 19:54:07
avast! - copyright (c) 1988-2007 ALWIL Software.
http://www.avast.com




---

Antivirus avast! : message Entrant sain.
Base de donnees virale (VPS) : 000740-1, 15/05/2007
Analyse le : 16/05/2007 09:21:41
avast! - copyright (c) 1988-2007 ALWIL Software.
http://www.avast.com






---
Antivirus avast! : message Sortant sain.
Base de donnees virale (VPS) : 000740-1, 15/05/2007
Analyse le : 16/05/2007 09:34:18
avast! - copyright (c) 1988-2007 ALWIL Software.
http://www.avast.com




---

Antivirus avast! : message Entrant sain.
Base de donnees virale (VPS) : 000740-1, 15/05/2007
Analyse le : 16/05/2007 10:42:52
avast! - copyright (c) 1988-2007 ALWIL Software.















Avatar
ffo
Rebonjours
Quelques questions avant de me lancer dans l'avanture
J'ai consulté ton lien concernant les classeurs qui me semble interressant
Qu'entends tu par page d'accueil pour exposer ma démarche ????
lorque j'ouvre un fichier excel je n'ai qu'un certain nombre de feuilles
mais rien ne ressemblant de prés ou de loin à une page d'accueil
Il doit certainement faloir la réaliser
Merci de me donner des indications dans ce but

Dois je décortiquer le code et d'expliquer le pourquoi du comment de chaque
instruction ???
ou
resterais je purement généraliste avec un préambule d'objet et quelques
explications sur le résultat obtenu ???

Ayant décortiqué je suppose tout le fil de la problématique penses tu qu'il
est plus interressant de prendre l'option Classeur ou celui des bouts de code
J'en appel à ton expérience et tes connaissances éprouvés de ton site

Merci pour ton concours


bonjour FFO
Tu peux l'intégrer dans un classeur exemple (n'importe lequel, tu fais
juste deux feuilles, une visible par un administrateur et l'autre par un
utilisateur lambda). En revanche écris en clair sur une page d'accueil
ce que fais ce classeur (problème posé, solution retenue) et surtout
indique en clair le mot de passe !
le but c'est que celui qui veut réutiliser l'exemple dans un de ses
classeurs puisse accéder au code et le modifier à sa sauce ensuite.

toutes les "instructions" pour faire un classeur utile à d'autres sont
sur cette page d'excelabo.
http://www.excelabo.net/moteurs/contribuer.php
Cette même page te permet une fois ton classeur fini de me l'envoyer.

Si tu préfères, tu peux aussi remettre ensemble tous les bouts du code
et le soumettre comme une astuce sans classeur exemple associé, dans ce
cas, utilise plutot cette page :
http://www.excelabo.net/moteurs/contribuer2.php
et merci !

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Salut Misange
Je découvre avec plaisir cette option
Que faut il faire à cette fin ???
Remettre tel quel le code je suis preneur
Mais toi le récupérer et ce afin d'éviter des manipulations supplèmentaires
que je ne connais pas ne serait ce pas plus simple ???
L'intégrer dans un classeur exemple encore mieux mais n'importe quel
classeur peut convenir dans la mesure où celà ne concerne que son verouillage
en fonction d'un mot de passe saisi, un classeur spéciphique n'est donc pas
nécessaire
Je pense que quelques lignes d'introduction quant à son objet à l'instar de
ce qui existe sur ce site seront à élaborer

Qui fait quoi ???

Merci de m'aider dans cette tâche
Je suis prêts à suivre tes indications
Dans l'attente de te lire


La ficelle a été longue et productive, si vous voulez remettre in
extenso le code, voire en faire un classeur exemple et me l'envoyer sur
excelabo, je le mettrai avec plaisir à la disposition de tous, c'est une
demande susceptible d'intéresser pas mal d'excelliens ;-)

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Rebonjour
Trés heureux que celà te convienne !!!!
Pour interdir l'enregistrement on atteint là les possibilité d'excel
Mais si aucune modification n'a pu être réalisée du fait des conditions
instaurées par le profile lecture un enregistrement éventuel ne serait pas
dommageable et ne porterait à aucune conséquence
Est ce donc bien utile
Toute fois tu as la possibilité de mettre le fichier concerné en lecture
seule :
click droit sur le document puis Propriétés et cocher Lecture seule
Cette option malheureusement touchera tous les utlisateurs y compris ceux
habilités à des modifications
Ils pourront toutefois l'enregistrer sous un autre nom
A toi de voir

A bientôt peut être


J'ai fait tout ce que tu m'a dit mais en repartant d'une sauvegarde car je
n'arrivais pas à m'en sortir avec celui qui avait été modifier.

Un Grand merci car tout marche impec :) :)

Question subsidiaire : Dans le cas du profil de lecture est il possible
d'interdire l'enregistrement ?

a +

"ffo" a écrit dans le message de news:

Dans la procédure manuelle de déprotection pense à réaliser l'opération
sur
toutes les feuilles y compris celles éventuellement cachées
Déprotection à réaliser avec
Outil/Protection icone Oter la protection de la feuille et Oter la
protection du classeur

Dis moi !!!

Bonjour,

J'ai testé ton code le premier et le second et j'ai toujours le même
problème :

Lorsque je rentre le mot de passe de la Mise à jour j'ai un plantage
erreur
d'execution 1004 Mot de passe non valide vérifier que la touche Verr.Maj
n'est pas activée et que vous respectez la bonne casse.

Pour le profil de lecture je n'ai jamais de souci.

Je ne comprends pas ????

"FFO" a écrit dans le message de news:

Re bonjour Thierry
Je n'ai pas inclu la protection du VBA dans ce code
Si tu souhaites le protéger je te propose une fois installé de
l'activer
manuellement :
Click droit sur ThisWorkbook/Proprièté de VBAProject icone Protection
Cocher Verrouiller le projet pour l'affichage
Saisir un mot de passe
le confirmer
enregistrer
A l'ouverture suivante le VBA sera inaccessible sauf en le
déverrouillant
avec le mot de passe

J'ai légèrement modifié le code pour inclure les protections avec mot
de
passe du classeur et des feuilles
Ce qui avait l'inconvénient d'accéder à leur activation et
desactivation
de
manière libre
Afin de ne pas demander 2 fois le même mot de passe notamment pour
l'option
mise à jour (une fois pour faire fonctionner le code l'autre fois pour
permettre la déprotection) j'ai intégré la saisie à l'ouverture du
document
dans l'instruction de déprotection
Le code corrigé :

Private Sub Workbook_Open()
Identité = InputBox("veuillez saisir le mot de passe", "Mot de passe",
"")
If Identité = "Lecture" Then
If Sheets("Paramètres").Visible = True Then
Sheets("Paramètres").Select
ActiveWindow.SelectedSheets.Visible = False
End If
For I = 1 To Sheets.Count
Sheets(I).Protect "Mise à jour", DrawingObjects:=True, Contents:=True,
Scenarios:=True
Sheets(I).EnableSelection = xlNoSelection
Next
ActiveWorkbook.Protect "Mise à jour", Structure:=True, Windows:úlse
Else
If Identité = "Mise à jour" Then
For J = 1 To Sheets.Count
Sheets(J).Unprotect Identité
Next
ActiveWorkbook.Protect Identité, Structure:úlse, Windows:úlse
Sheets("Paramètres").Visible = True
Else
ThisWorkbook.Close
Application.Quit
End If
End If
End Sub

Tu n'as plus qu'à l'actualiser des mots de passe :

Pour la lecture uniquement les lignes
If Identité = "Lecture" Then (le mot Lecture)
et
Sheets(I).Protect "Mise à jour", DrawingObjects:=True, Contents:=True,
Scenarios:=True (le mot Mise à jour)
et
ActiveWorkbook.Protect "Mise à jour", Structure:=True, Windows:úlse
(le
mot Mise à jour)

Pour la mise à jour la ligne :
If Identité = "Mise à jour" Then (le mot Mise à jour)

Espérant avoir répondu à tes attentes


Merci pour ce code.

Je vais le tester demain.

Est ce que ce code marche aussi pour interdire l'accès a VBA ? Je
voudrais
aussi bloquer cette possibilité.

"FFO" a écrit dans le message de news:

Salut Thierry
Je te propose ce code à mettre dans ThisWorkbook

Private Sub Workbook_Open()
Identité = InputBox("veuillez saisir le mot de passe", "Mot de
passe",
"")
If Identité = "Lecture" Then
Sheets("Paramètres").Select
ActiveWindow.SelectedSheets.Visible = False
For I = 1 To Sheets.Count
Sheets(I).Protect DrawingObjects:=True, Contents:=True,
Scenarios:=True
Sheets(I).EnableSelection = xlNoSelection
Next
ActiveWorkbook.Protect Structure:=True, Windows:úlse
Else
If Identité = "Mise à jour" Then
For J = 1 To Sheets.Count
Sheets(J).Unprotect
Next
ActiveWorkbook.Protect Structure:úlse, Windows:úlse
Sheets("Paramètres").Visible = True
Else
ThisWorkbook.Close
Application.Quit
End If
End If
End Sub

Tu n'as plus qu'à l'actualiser des mots de passe :

Pour la lecture uniquement la ligne
If Identité = "Lecture" Then
Pour la mise à jour la ligne :
If Identité = "Mise à jour" Then


Je pense que celà devrait faire

Dis moi !!!


Bonjour,

j'ai un fichier excel a qui j'ai donné lors de l'enregistrement
deux
mots
de
passes :

- un pour la lecture
- un pour la mise à jour

Ma question est la suivante lors de l'ouverture de ce classeur je
voudrais
qu'automatiquement dans le cas d'une ouverture avec le mot de passe
en
lecture :

- verrouiller tout le classeur (aucun
accés
aux
cellules, aucun accés au macro et code des modules, rendre
invisible
une
feuille qui s'appelle Paramètres)

Dans le cas d'une ouverture en mise à jour pouvoir automatiquement
accéder à
tout.

Est ce possible ?

Merci.

--
Ne pas répondre à l'adresse anti-spam.





---
Antivirus avast! : message Sortant sain.
Base de donnees virale (VPS) : 000740-1, 15/05/2007
Analyse le : 15/05/2007 15:57:55
avast! - copyright (c) 1988-2007 ALWIL Software.
http://www.avast.com




---

Antivirus avast! : message Entrant sain.
Base de donnees virale (VPS) : 000740-1, 15/05/2007
Analyse le : 15/05/2007 19:50:22
avast! - copyright (c) 1988-2007 ALWIL Software.





















Avatar
Misange
Les classeurs qui sont proposés sur excelabo sont à but didactique :
destinés à être décortiqués pour être compréhensibles même pour ceux qui
n'ont pas suivi la discussion sur le forum (tous les lecteurs
d'excelabo, loin de là, ne sont pas des lecteurs de MPFE). Tout le code
est accessible, soit directement, soit, si un mot de passe est mis,
celui ci est indiqué.
J'attribue quelques mots clefs qui permettent de retrouver le classeur
et j'essaie de le même avec d'autres classeurs du même type. Quelques
mots de description aident le lecteur à savoir s'il a envie ou non de le
télécharger.

La page d'accueil, c'est la première page du classeur sur laquelle tu
expliques à celui qui a téléchargé le classeur à quoi il sert. Dans le
cas présent tu peux par exemple dire quelle était la question posée par
Thierry, indiquer comment accéder au code et faire deux feuilles te
permettant de faire la démo. Après c'est selon le tempérament de chacun
: il y a des bavards qui détaillent chaque ligne de code ou presque et
des taiseux qui ne mettent que le strict minimum. Le tout c'est que ce
soit compréhensible :-)
Télécharge quelques classeurs d'excelabo pour voir comment ils sont
faits. Tu verras que suivant les auteurs et aussi suivant la thématique
il y a plus ou moins de baratin. Certains sont très très aboutis
d'autres sont juste des exemples très simples pour illustrer un problème
courant. pas de règle.

C'est comme tu veux : ou bien tu fais un classeur ou bien tu mets juste
le code dans une astuce, voire tu fais les deux si ça te dit. Faut juste
que ça soit pas une corvée.

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Rebonjours
Quelques questions avant de me lancer dans l'avanture
J'ai consulté ton lien concernant les classeurs qui me semble interressant
Qu'entends tu par page d'accueil pour exposer ma démarche ????
lorque j'ouvre un fichier excel je n'ai qu'un certain nombre de feuilles
mais rien ne ressemblant de prés ou de loin à une page d'accueil
Il doit certainement faloir la réaliser
Merci de me donner des indications dans ce but

Dois je décortiquer le code et d'expliquer le pourquoi du comment de chaque
instruction ???
ou
resterais je purement généraliste avec un préambule d'objet et quelques
explications sur le résultat obtenu ???

Ayant décortiqué je suppose tout le fil de la problématique penses tu qu'il
est plus interressant de prendre l'option Classeur ou celui des bouts de code
J'en appel à ton expérience et tes connaissances éprouvés de ton site

Merci pour ton concours


bonjour FFO
Tu peux l'intégrer dans un classeur exemple (n'importe lequel, tu fais
juste deux feuilles, une visible par un administrateur et l'autre par un
utilisateur lambda). En revanche écris en clair sur une page d'accueil
ce que fais ce classeur (problème posé, solution retenue) et surtout
indique en clair le mot de passe !
le but c'est que celui qui veut réutiliser l'exemple dans un de ses
classeurs puisse accéder au code et le modifier à sa sauce ensuite.

toutes les "instructions" pour faire un classeur utile à d'autres sont
sur cette page d'excelabo.
http://www.excelabo.net/moteurs/contribuer.php
Cette même page te permet une fois ton classeur fini de me l'envoyer.

Si tu préfères, tu peux aussi remettre ensemble tous les bouts du code
et le soumettre comme une astuce sans classeur exemple associé, dans ce
cas, utilise plutot cette page :
http://www.excelabo.net/moteurs/contribuer2.php
et merci !

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Salut Misange
Je découvre avec plaisir cette option
Que faut il faire à cette fin ???
Remettre tel quel le code je suis preneur
Mais toi le récupérer et ce afin d'éviter des manipulations supplèmentaires
que je ne connais pas ne serait ce pas plus simple ???
L'intégrer dans un classeur exemple encore mieux mais n'importe quel
classeur peut convenir dans la mesure où celà ne concerne que son verouillage
en fonction d'un mot de passe saisi, un classeur spéciphique n'est donc pas
nécessaire
Je pense que quelques lignes d'introduction quant à son objet à l'instar de
ce qui existe sur ce site seront à élaborer

Qui fait quoi ???

Merci de m'aider dans cette tâche
Je suis prêts à suivre tes indications
Dans l'attente de te lire


La ficelle a été longue et productive, si vous voulez remettre in
extenso le code, voire en faire un classeur exemple et me l'envoyer sur
excelabo, je le mettrai avec plaisir à la disposition de tous, c'est une
demande susceptible d'intéresser pas mal d'excelliens ;-)

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Rebonjour
Trés heureux que celà te convienne !!!!
Pour interdir l'enregistrement on atteint là les possibilité d'excel
Mais si aucune modification n'a pu être réalisée du fait des conditions
instaurées par le profile lecture un enregistrement éventuel ne serait pas
dommageable et ne porterait à aucune conséquence
Est ce donc bien utile
Toute fois tu as la possibilité de mettre le fichier concerné en lecture
seule :
click droit sur le document puis Propriétés et cocher Lecture seule
Cette option malheureusement touchera tous les utlisateurs y compris ceux
habilités à des modifications
Ils pourront toutefois l'enregistrer sous un autre nom
A toi de voir

A bientôt peut être


J'ai fait tout ce que tu m'a dit mais en repartant d'une sauvegarde car je
n'arrivais pas à m'en sortir avec celui qui avait été modifier.

Un Grand merci car tout marche impec :) :)

Question subsidiaire : Dans le cas du profil de lecture est il possible
d'interdire l'enregistrement ?

a +

"ffo" a écrit dans le message de news:

Dans la procédure manuelle de déprotection pense à réaliser l'opération
sur
toutes les feuilles y compris celles éventuellement cachées
Déprotection à réaliser avec
Outil/Protection icone Oter la protection de la feuille et Oter la
protection du classeur

Dis moi !!!

Bonjour,

J'ai testé ton code le premier et le second et j'ai toujours le même
problème :

Lorsque je rentre le mot de passe de la Mise à jour j'ai un plantage
erreur
d'execution 1004 Mot de passe non valide vérifier que la touche Verr.Maj
n'est pas activée et que vous respectez la bonne casse.

Pour le profil de lecture je n'ai jamais de souci.

Je ne comprends pas ????

"FFO" a écrit dans le message de news:

Re bonjour Thierry
Je n'ai pas inclu la protection du VBA dans ce code
Si tu souhaites le protéger je te propose une fois installé de
l'activer
manuellement :
Click droit sur ThisWorkbook/Proprièté de VBAProject icone Protection
Cocher Verrouiller le projet pour l'affichage
Saisir un mot de passe
le confirmer
enregistrer
A l'ouverture suivante le VBA sera inaccessible sauf en le
déverrouillant
avec le mot de passe

J'ai légèrement modifié le code pour inclure les protections avec mot
de
passe du classeur et des feuilles
Ce qui avait l'inconvénient d'accéder à leur activation et
desactivation
de
manière libre
Afin de ne pas demander 2 fois le même mot de passe notamment pour
l'option
mise à jour (une fois pour faire fonctionner le code l'autre fois pour
permettre la déprotection) j'ai intégré la saisie à l'ouverture du
document
dans l'instruction de déprotection
Le code corrigé :

Private Sub Workbook_Open()
Identité = InputBox("veuillez saisir le mot de passe", "Mot de passe",
"")
If Identité = "Lecture" Then
If Sheets("Paramètres").Visible = True Then
Sheets("Paramètres").Select
ActiveWindow.SelectedSheets.Visible = False
End If
For I = 1 To Sheets.Count
Sheets(I).Protect "Mise à jour", DrawingObjects:=True, Contents:=True,
Scenarios:=True
Sheets(I).EnableSelection = xlNoSelection
Next
ActiveWorkbook.Protect "Mise à jour", Structure:=True, Windows:úlse
Else
If Identité = "Mise à jour" Then
For J = 1 To Sheets.Count
Sheets(J).Unprotect Identité
Next
ActiveWorkbook.Protect Identité, Structure:úlse, Windows:úlse
Sheets("Paramètres").Visible = True
Else
ThisWorkbook.Close
Application.Quit
End If
End If
End Sub

Tu n'as plus qu'à l'actualiser des mots de passe :

Pour la lecture uniquement les lignes
If Identité = "Lecture" Then (le mot Lecture)
et
Sheets(I).Protect "Mise à jour", DrawingObjects:=True, Contents:=True,
Scenarios:=True (le mot Mise à jour)
et
ActiveWorkbook.Protect "Mise à jour", Structure:=True, Windows:úlse
(le
mot Mise à jour)

Pour la mise à jour la ligne :
If Identité = "Mise à jour" Then (le mot Mise à jour)

Espérant avoir répondu à tes attentes


Merci pour ce code.

Je vais le tester demain.

Est ce que ce code marche aussi pour interdire l'accès a VBA ? Je
voudrais
aussi bloquer cette possibilité.

"FFO" a écrit dans le message de news:

Salut Thierry
Je te propose ce code à mettre dans ThisWorkbook

Private Sub Workbook_Open()
Identité = InputBox("veuillez saisir le mot de passe", "Mot de
passe",
"")
If Identité = "Lecture" Then
Sheets("Paramètres").Select
ActiveWindow.SelectedSheets.Visible = False
For I = 1 To Sheets.Count
Sheets(I).Protect DrawingObjects:=True, Contents:=True,
Scenarios:=True
Sheets(I).EnableSelection = xlNoSelection
Next
ActiveWorkbook.Protect Structure:=True, Windows:úlse
Else
If Identité = "Mise à jour" Then
For J = 1 To Sheets.Count
Sheets(J).Unprotect
Next
ActiveWorkbook.Protect Structure:úlse, Windows:úlse
Sheets("Paramètres").Visible = True
Else
ThisWorkbook.Close
Application.Quit
End If
End If
End Sub

Tu n'as plus qu'à l'actualiser des mots de passe :

Pour la lecture uniquement la ligne
If Identité = "Lecture" Then
Pour la mise à jour la ligne :
If Identité = "Mise à jour" Then


Je pense que celà devrait faire

Dis moi !!!


Bonjour,

j'ai un fichier excel a qui j'ai donné lors de l'enregistrement
deux
mots
de
passes :

- un pour la lecture
- un pour la mise à jour

Ma question est la suivante lors de l'ouverture de ce classeur je
voudrais
qu'automatiquement dans le cas d'une ouverture avec le mot de passe
en
lecture :

- verrouiller tout le classeur (aucun
accés
aux
cellules, aucun accés au macro et code des modules, rendre
invisible
une
feuille qui s'appelle Paramètres)

Dans le cas d'une ouverture en mise à jour pouvoir automatiquement
accéder à
tout.

Est ce possible ?

Merci.

--
Ne pas répondre à l'adresse anti-spam.





---
Antivirus avast! : message Sortant sain.
Base de donnees virale (VPS) : 000740-1, 15/05/2007
Analyse le : 15/05/2007 15:57:55
avast! - copyright (c) 1988-2007 ALWIL Software.
http://www.avast.com




---

Antivirus avast! : message Entrant sain.
Base de donnees virale (VPS) : 000740-1, 15/05/2007
Analyse le : 15/05/2007 19:50:22
avast! - copyright (c) 1988-2007 ALWIL Software.























Avatar
Thierry
Je vous poste tout ce que j'ai fait après tous les conseils donnés et
trouvés ici et la. Merci à vous tous.

à mettre dans ThisWorkBook :

Private VariableBooleanSave As Boolean 'variable postionnée pour
l'enregistrement du classeur
'
Private Sub Workbook_Open()
'
VariableBooleanSave = True 'Positionner la variable à True
'
' Récupération du mot de passe
'
Identité = InputBox("veuillez saisir le mot de passe", "Mot de passe", "")
'
' Première Identité testée = Lecture
'
If Identité = "Lecture" Then
If Sheets("Paramètres").Visible = True Then
Sheets("Paramètres").Select
ActiveWindow.SelectedSheets.Visible = False
End If
For i = 1 To Sheets.Count
Sheets(i).Protect "Mise à jour", DrawingObjects:=True,
Contents:=True, Scenarios:=True
Sheets(i).EnableSelection = xlNoSelection
Next
ActiveWorkbook.Protect "Mise à jour", Structure:=True,
Windows:úlse
Else
'
' Deuxième Identité testée = Mise à jour
'
If Identité = "Mise à jour" Then
For J = 1 To Sheets.Count
Sheets(J).Unprotect Identité
Next
VariableBooleanSave = False
ActiveWorkbook.Protect Identité, Structure:úlse, Windows:úlse
Sheets("Paramètres").Visible = True
Else
ThisWorkbook.Close
Application.Quit
End If
End If
'
End Sub


Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
'
' Test pour savoir si on a le droit d'enregistrer
'
If VariableBooleanSave = True Then
Cancel = VariableBooleanSave
MsgBox "Vous n'êtes pas logé en Mise à jour, fichier Non Sauvé..."
End If
'
End Sub

Pour interdire l'execution des macros (a placer au debut de chaque macro à
interdire) :

If InputBox("veuillez saisir le mot de passe", "mot de passe") <> "Mise à
jour" Then Exit Sub

Puis interdire l'accès a VBA ce que m'a dit FFO :

manuellement :
Click droit sur ThisWorkbook/Proprièté de VBAProject icone Protection
Cocher Verrouiller le projet pour l'affichage
Saisir un mot de passe
le confirmer
enregistrer
A l'ouverture suivante le VBA sera inaccessible sauf en le déverrouillant
avec le mot de passe







"ffo" a écrit dans le message de news:

Rebonjours
Quelques questions avant de me lancer dans l'avanture
J'ai consulté ton lien concernant les classeurs qui me semble interressant
Qu'entends tu par page d'accueil pour exposer ma démarche ????
lorque j'ouvre un fichier excel je n'ai qu'un certain nombre de feuilles
mais rien ne ressemblant de prés ou de loin à une page d'accueil
Il doit certainement faloir la réaliser
Merci de me donner des indications dans ce but

Dois je décortiquer le code et d'expliquer le pourquoi du comment de
chaque
instruction ???
ou
resterais je purement généraliste avec un préambule d'objet et quelques
explications sur le résultat obtenu ???

Ayant décortiqué je suppose tout le fil de la problématique penses tu
qu'il
est plus interressant de prendre l'option Classeur ou celui des bouts de
code
J'en appel à ton expérience et tes connaissances éprouvés de ton site

Merci pour ton concours


bonjour FFO
Tu peux l'intégrer dans un classeur exemple (n'importe lequel, tu fais
juste deux feuilles, une visible par un administrateur et l'autre par un
utilisateur lambda). En revanche écris en clair sur une page d'accueil
ce que fais ce classeur (problème posé, solution retenue) et surtout
indique en clair le mot de passe !
le but c'est que celui qui veut réutiliser l'exemple dans un de ses
classeurs puisse accéder au code et le modifier à sa sauce ensuite.

toutes les "instructions" pour faire un classeur utile à d'autres sont
sur cette page d'excelabo.
http://www.excelabo.net/moteurs/contribuer.php
Cette même page te permet une fois ton classeur fini de me l'envoyer.

Si tu préfères, tu peux aussi remettre ensemble tous les bouts du code
et le soumettre comme une astuce sans classeur exemple associé, dans ce
cas, utilise plutot cette page :
http://www.excelabo.net/moteurs/contribuer2.php
et merci !

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Salut Misange
Je découvre avec plaisir cette option
Que faut il faire à cette fin ???
Remettre tel quel le code je suis preneur
Mais toi le récupérer et ce afin d'éviter des manipulations
supplèmentaires
que je ne connais pas ne serait ce pas plus simple ???
L'intégrer dans un classeur exemple encore mieux mais n'importe quel
classeur peut convenir dans la mesure où celà ne concerne que son
verouillage
en fonction d'un mot de passe saisi, un classeur spéciphique n'est donc
pas
nécessaire
Je pense que quelques lignes d'introduction quant à son objet à
l'instar de
ce qui existe sur ce site seront à élaborer

Qui fait quoi ???

Merci de m'aider dans cette tâche
Je suis prêts à suivre tes indications
Dans l'attente de te lire


La ficelle a été longue et productive, si vous voulez remettre in
extenso le code, voire en faire un classeur exemple et me l'envoyer
sur
excelabo, je le mettrai avec plaisir à la disposition de tous, c'est
une
demande susceptible d'intéresser pas mal d'excelliens ;-)

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Rebonjour
Trés heureux que celà te convienne !!!!
Pour interdir l'enregistrement on atteint là les possibilité d'excel
Mais si aucune modification n'a pu être réalisée du fait des
conditions
instaurées par le profile lecture un enregistrement éventuel ne
serait pas
dommageable et ne porterait à aucune conséquence
Est ce donc bien utile
Toute fois tu as la possibilité de mettre le fichier concerné en
lecture
seule :
click droit sur le document puis Propriétés et cocher Lecture seule
Cette option malheureusement touchera tous les utlisateurs y compris
ceux
habilités à des modifications
Ils pourront toutefois l'enregistrer sous un autre nom
A toi de voir

A bientôt peut être


J'ai fait tout ce que tu m'a dit mais en repartant d'une sauvegarde
car je
n'arrivais pas à m'en sortir avec celui qui avait été modifier.

Un Grand merci car tout marche impec :) :)

Question subsidiaire : Dans le cas du profil de lecture est il
possible
d'interdire l'enregistrement ?

a +

"ffo" a écrit dans le message de
news:

Dans la procédure manuelle de déprotection pense à réaliser
l'opération
sur
toutes les feuilles y compris celles éventuellement cachées
Déprotection à réaliser avec
Outil/Protection icone Oter la protection de la feuille et Oter la
protection du classeur

Dis moi !!!

Bonjour,

J'ai testé ton code le premier et le second et j'ai toujours le
même
problème :

Lorsque je rentre le mot de passe de la Mise à jour j'ai un
plantage
erreur
d'execution 1004 Mot de passe non valide vérifier que la touche
Verr.Maj
n'est pas activée et que vous respectez la bonne casse.

Pour le profil de lecture je n'ai jamais de souci.

Je ne comprends pas ????

"FFO" a écrit dans le message de
news:

Re bonjour Thierry
Je n'ai pas inclu la protection du VBA dans ce code
Si tu souhaites le protéger je te propose une fois installé de
l'activer
manuellement :
Click droit sur ThisWorkbook/Proprièté de VBAProject icone
Protection
Cocher Verrouiller le projet pour l'affichage
Saisir un mot de passe
le confirmer
enregistrer
A l'ouverture suivante le VBA sera inaccessible sauf en le
déverrouillant
avec le mot de passe

J'ai légèrement modifié le code pour inclure les protections avec
mot
de
passe du classeur et des feuilles
Ce qui avait l'inconvénient d'accéder à leur activation et
desactivation
de
manière libre
Afin de ne pas demander 2 fois le même mot de passe notamment
pour
l'option
mise à jour (une fois pour faire fonctionner le code l'autre fois
pour
permettre la déprotection) j'ai intégré la saisie à l'ouverture
du
document
dans l'instruction de déprotection
Le code corrigé :

Private Sub Workbook_Open()
Identité = InputBox("veuillez saisir le mot de passe", "Mot de
passe",
"")
If Identité = "Lecture" Then
If Sheets("Paramètres").Visible = True Then
Sheets("Paramètres").Select
ActiveWindow.SelectedSheets.Visible = False
End If
For I = 1 To Sheets.Count
Sheets(I).Protect "Mise à jour", DrawingObjects:=True,
Contents:=True,
Scenarios:=True
Sheets(I).EnableSelection = xlNoSelection
Next
ActiveWorkbook.Protect "Mise à jour", Structure:=True,
Windows:úlse
Else
If Identité = "Mise à jour" Then
For J = 1 To Sheets.Count
Sheets(J).Unprotect Identité
Next
ActiveWorkbook.Protect Identité, Structure:úlse, Windows:úlse
Sheets("Paramètres").Visible = True
Else
ThisWorkbook.Close
Application.Quit
End If
End If
End Sub

Tu n'as plus qu'à l'actualiser des mots de passe :

Pour la lecture uniquement les lignes
If Identité = "Lecture" Then (le mot Lecture)
et
Sheets(I).Protect "Mise à jour", DrawingObjects:=True,
Contents:=True,
Scenarios:=True (le mot Mise à jour)
et
ActiveWorkbook.Protect "Mise à jour", Structure:=True,
Windows:úlse
(le
mot Mise à jour)

Pour la mise à jour la ligne :
If Identité = "Mise à jour" Then (le mot Mise à jour)

Espérant avoir répondu à tes attentes


Merci pour ce code.

Je vais le tester demain.

Est ce que ce code marche aussi pour interdire l'accès a VBA ?
Je
voudrais
aussi bloquer cette possibilité.

"FFO" a écrit dans le message de
news:

Salut Thierry
Je te propose ce code à mettre dans ThisWorkbook

Private Sub Workbook_Open()
Identité = InputBox("veuillez saisir le mot de passe", "Mot de
passe",
"")
If Identité = "Lecture" Then
Sheets("Paramètres").Select
ActiveWindow.SelectedSheets.Visible = False
For I = 1 To Sheets.Count
Sheets(I).Protect DrawingObjects:=True, Contents:=True,
Scenarios:=True
Sheets(I).EnableSelection = xlNoSelection
Next
ActiveWorkbook.Protect Structure:=True, Windows:úlse
Else
If Identité = "Mise à jour" Then
For J = 1 To Sheets.Count
Sheets(J).Unprotect
Next
ActiveWorkbook.Protect Structure:úlse, Windows:úlse
Sheets("Paramètres").Visible = True
Else
ThisWorkbook.Close
Application.Quit
End If
End If
End Sub

Tu n'as plus qu'à l'actualiser des mots de passe :

Pour la lecture uniquement la ligne
If Identité = "Lecture" Then
Pour la mise à jour la ligne :
If Identité = "Mise à jour" Then


Je pense que celà devrait faire

Dis moi !!!


Bonjour,

j'ai un fichier excel a qui j'ai donné lors de
l'enregistrement
deux
mots
de
passes :

- un pour la lecture
- un pour la mise à jour

Ma question est la suivante lors de l'ouverture de ce classeur
je
voudrais
qu'automatiquement dans le cas d'une ouverture avec le mot de
passe
en
lecture :

- verrouiller tout le classeur
(aucun
accés
aux
cellules, aucun accés au macro et code des modules, rendre
invisible
une
feuille qui s'appelle Paramètres)

Dans le cas d'une ouverture en mise à jour pouvoir
automatiquement
accéder à
tout.

Est ce possible ?

Merci.

--
Ne pas répondre à l'adresse anti-spam.





---
Antivirus avast! : message Sortant sain.
Base de donnees virale (VPS) : 000740-1, 15/05/2007
Analyse le : 15/05/2007 15:57:55
avast! - copyright (c) 1988-2007 ALWIL Software.
http://www.avast.com




---

Antivirus avast! : message Entrant sain.
Base de donnees virale (VPS) : 000740-1, 15/05/2007
Analyse le : 15/05/2007 19:50:22
avast! - copyright (c) 1988-2007 ALWIL Software.












---
Antivirus avast! : message Entrant sain.
Base de donnees virale (VPS) : 000740-2, 16/05/2007
Analyse le : 16/05/2007 17:56:44
avast! - copyright (c) 1988-2007 ALWIL Software.
http://www.avast.com








---
Antivirus avast! : message Sortant sain.
Base de donnees virale (VPS) : 000740-2, 16/05/2007
Analyse le : 16/05/2007 18:04:36
avast! - copyright (c) 1988-2007 ALWIL Software.
http://www.avast.com












Avatar
JB
Bonsoir,

Les macros pouvant être désactivées à l'ouverture du classeur, c'es t à
la SAUVEGARDE du classeur qu'il faut protéger. A l'ouverture, on
ENLEVE la protection si le mot de passe est correct.

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
ActiveWorkbook.Protect Structure:úlse
For i = 1 To Sheets.Count
Sheets(i).Protect Password:="jacques"
Next i
Sheets("paramètres").Visible = xlVeryHidden
ActiveWorkbook.Protect Structure:=True, Password:="jacques"
End Sub

Private Sub B_ok_Click()
If UCase(Me.motpasse) = "JACQUES" Then
ActiveWorkbook.Protect Structure:úlse, Password:="jacques"
For Each s In ActiveWorkbook.Sheets
s.Unprotect Password:="jacques"
Next s
Sheets("paramètres").Visible = True
End If
Unload Me
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
ThisWorkbook.Saved = True
End Sub

http://cjoint.com/?fquXsS7cER

Cordialement JB
On 15 mai, 15:57, "Thierry" wrote:
Bonjour,

j'ai un fichier excel a qui j'ai donné lors de l'enregistrement deux mo ts de
passes :

- un pour la lecture
- un pour la mise à jour

Ma question est la suivante lors de l'ouverture de ce classeur je voudrais
qu'automatiquement dans le cas d'une ouverture avec le mot de passe en
lecture :

- verrouiller tout le classeur (aucun accés a ux
cellules, aucun accés au macro et code des modules, rendre invisible une
feuille qui s'appelle Paramètres)

Dans le cas d'une ouverture en mise à jour pouvoir automatiquement acc éder à
tout.

Est ce possible ?

Merci.

--
Ne pas répondre à l'adresse anti-spam.

---
Antivirus avast! : message Sortant sain.
Base de donnees virale (VPS) : 000740-1, 15/05/2007
Analyse le : 15/05/2007 15:57:55
avast! - copyright (c) 1988-2007 ALWIL Software.http://www.avast.com


Avatar
FFO
ReBonjours Thierry
En droite ligne de la remarque de JB
Un dernier cas n'est pas pris en compte, celui de l'ouverture du fichier en
desactivant les macros
Dans cette Hypothèse il est impératif lors de sa dernier fermeture de
l'avoir mis dans l'état Lecture seule ce qui le rendra dans le même état quoi
qu'il arrive à son ouverture suivante (Avec ou sans l'activation des Macros)
Pour celà il faut que tu rajoutes dans ThisWorkbook le code suivant :

Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Sheets("Feuil1").Visible = True Then
Sheets("Feuil1").Select
ActiveWindow.SelectedSheets.Visible = False
End If
For I = 1 To Sheets.Count
Sheets(I).Protect "A", DrawingObjects:=True, Contents:=True, Scenarios:=True
Sheets(I).EnableSelection = xlNoSelection
Next
ActiveWorkbook.Protect "A", Structure:=True, Windows:úlse
ActiveWorkbook.Save
End Sub

Opération à réaliser avec la configuration Mise à jour pour pouvoir
l'enregistrer

Attention cette Macro supplémentaire pour pouvoir avant fermeture du
document établir la configuration lecture seule activera automatiquement son
enregistrement par la commande
ActiveWorkbook.Save
Si l'état lecture seul sera enregistré il en sera de même pour toutes
modifications réalisée par un utilisateur habilité quelque soit son bon
vouloir
En d'autre terme il ne pourras pas fermer ce document sans enregistrement
Peut être ne voudrait il pas voir ses modifications prises en compte
Un message l'en informant serait peut être utile pour l'inviter à les
supprimer manuellement avec l'adaptation du code comme ceci :
If Identité = "A" Then
For J = 1 To Sheets.Count
Sheets(J).Unprotect Identité
Next
VariableBooleanSave = False
ActiveWorkbook.Protect Identité, Structure:úlse, Windows:úlse
Sheets("Feuil1").Visible = True
MsgBox ("Attention Toutes les modifications seront automatiquement
enregistrées à la fermeture de ce document")

Voilà mes dernières suggestions
J'espère qu'elles t'apporteront un plus


Je vous poste tout ce que j'ai fait après tous les conseils donnés et
trouvés ici et la. Merci à vous tous.

à mettre dans ThisWorkBook :

Private VariableBooleanSave As Boolean 'variable postionnée pour
l'enregistrement du classeur
'
Private Sub Workbook_Open()
'
VariableBooleanSave = True 'Positionner la variable à True
'
' Récupération du mot de passe
'
Identité = InputBox("veuillez saisir le mot de passe", "Mot de passe", "")
'
' Première Identité testée = Lecture
'
If Identité = "Lecture" Then
If Sheets("Paramètres").Visible = True Then
Sheets("Paramètres").Select
ActiveWindow.SelectedSheets.Visible = False
End If
For i = 1 To Sheets.Count
Sheets(i).Protect "Mise à jour", DrawingObjects:=True,
Contents:=True, Scenarios:=True
Sheets(i).EnableSelection = xlNoSelection
Next
ActiveWorkbook.Protect "Mise à jour", Structure:=True,
Windows:úlse
Else
'
' Deuxième Identité testée = Mise à jour
'
If Identité = "Mise à jour" Then
For J = 1 To Sheets.Count
Sheets(J).Unprotect Identité
Next
VariableBooleanSave = False
ActiveWorkbook.Protect Identité, Structure:úlse, Windows:úlse
Sheets("Paramètres").Visible = True
Else
ThisWorkbook.Close
Application.Quit
End If
End If
'
End Sub


Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
'
' Test pour savoir si on a le droit d'enregistrer
'
If VariableBooleanSave = True Then
Cancel = VariableBooleanSave
MsgBox "Vous n'êtes pas logé en Mise à jour, fichier Non Sauvé..."
End If
'
End Sub

Pour interdire l'execution des macros (a placer au debut de chaque macro à
interdire) :

If InputBox("veuillez saisir le mot de passe", "mot de passe") <> "Mise à
jour" Then Exit Sub

Puis interdire l'accès a VBA ce que m'a dit FFO :

manuellement :
Click droit sur ThisWorkbook/Proprièté de VBAProject icone Protection
Cocher Verrouiller le projet pour l'affichage
Saisir un mot de passe
le confirmer
enregistrer
A l'ouverture suivante le VBA sera inaccessible sauf en le déverrouillant
avec le mot de passe







"ffo" a écrit dans le message de news:

Rebonjours
Quelques questions avant de me lancer dans l'avanture
J'ai consulté ton lien concernant les classeurs qui me semble interressant
Qu'entends tu par page d'accueil pour exposer ma démarche ????
lorque j'ouvre un fichier excel je n'ai qu'un certain nombre de feuilles
mais rien ne ressemblant de prés ou de loin à une page d'accueil
Il doit certainement faloir la réaliser
Merci de me donner des indications dans ce but

Dois je décortiquer le code et d'expliquer le pourquoi du comment de
chaque
instruction ???
ou
resterais je purement généraliste avec un préambule d'objet et quelques
explications sur le résultat obtenu ???

Ayant décortiqué je suppose tout le fil de la problématique penses tu
qu'il
est plus interressant de prendre l'option Classeur ou celui des bouts de
code
J'en appel à ton expérience et tes connaissances éprouvés de ton site

Merci pour ton concours


bonjour FFO
Tu peux l'intégrer dans un classeur exemple (n'importe lequel, tu fais
juste deux feuilles, une visible par un administrateur et l'autre par un
utilisateur lambda). En revanche écris en clair sur une page d'accueil
ce que fais ce classeur (problème posé, solution retenue) et surtout
indique en clair le mot de passe !
le but c'est que celui qui veut réutiliser l'exemple dans un de ses
classeurs puisse accéder au code et le modifier à sa sauce ensuite.

toutes les "instructions" pour faire un classeur utile à d'autres sont
sur cette page d'excelabo.
http://www.excelabo.net/moteurs/contribuer.php
Cette même page te permet une fois ton classeur fini de me l'envoyer.

Si tu préfères, tu peux aussi remettre ensemble tous les bouts du code
et le soumettre comme une astuce sans classeur exemple associé, dans ce
cas, utilise plutot cette page :
http://www.excelabo.net/moteurs/contribuer2.php
et merci !

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Salut Misange
Je découvre avec plaisir cette option
Que faut il faire à cette fin ???
Remettre tel quel le code je suis preneur
Mais toi le récupérer et ce afin d'éviter des manipulations
supplèmentaires
que je ne connais pas ne serait ce pas plus simple ???
L'intégrer dans un classeur exemple encore mieux mais n'importe quel
classeur peut convenir dans la mesure où celà ne concerne que son
verouillage
en fonction d'un mot de passe saisi, un classeur spéciphique n'est donc
pas
nécessaire
Je pense que quelques lignes d'introduction quant à son objet à
l'instar de
ce qui existe sur ce site seront à élaborer

Qui fait quoi ???

Merci de m'aider dans cette tâche
Je suis prêts à suivre tes indications
Dans l'attente de te lire


La ficelle a été longue et productive, si vous voulez remettre in
extenso le code, voire en faire un classeur exemple et me l'envoyer
sur
excelabo, je le mettrai avec plaisir à la disposition de tous, c'est
une
demande susceptible d'intéresser pas mal d'excelliens ;-)

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Rebonjour
Trés heureux que celà te convienne !!!!
Pour interdir l'enregistrement on atteint là les possibilité d'excel
Mais si aucune modification n'a pu être réalisée du fait des
conditions
instaurées par le profile lecture un enregistrement éventuel ne
serait pas
dommageable et ne porterait à aucune conséquence
Est ce donc bien utile
Toute fois tu as la possibilité de mettre le fichier concerné en
lecture
seule :
click droit sur le document puis Propriétés et cocher Lecture seule
Cette option malheureusement touchera tous les utlisateurs y compris
ceux
habilités à des modifications
Ils pourront toutefois l'enregistrer sous un autre nom
A toi de voir

A bientôt peut être


J'ai fait tout ce que tu m'a dit mais en repartant d'une sauvegarde
car je
n'arrivais pas à m'en sortir avec celui qui avait été modifier.

Un Grand merci car tout marche impec :) :)

Question subsidiaire : Dans le cas du profil de lecture est il
possible
d'interdire l'enregistrement ?

a +

"ffo" a écrit dans le message de
news:

Dans la procédure manuelle de déprotection pense à réaliser
l'opération
sur
toutes les feuilles y compris celles éventuellement cachées
Déprotection à réaliser avec
Outil/Protection icone Oter la protection de la feuille et Oter la
protection du classeur

Dis moi !!!

Bonjour,

J'ai testé ton code le premier et le second et j'ai toujours le
même
problème :

Lorsque je rentre le mot de passe de la Mise à jour j'ai un
plantage
erreur
d'execution 1004 Mot de passe non valide vérifier que la touche
Verr.Maj
n'est pas activée et que vous respectez la bonne casse.

Pour le profil de lecture je n'ai jamais de souci.

Je ne comprends pas ????

"FFO" a écrit dans le message de
news:

Re bonjour Thierry
Je n'ai pas inclu la protection du VBA dans ce code
Si tu souhaites le protéger je te propose une fois installé de
l'activer
manuellement :
Click droit sur ThisWorkbook/Proprièté de VBAProject icone
Protection
Cocher Verrouiller le projet pour l'affichage
Saisir un mot de passe
le confirmer
enregistrer
A l'ouverture suivante le VBA sera inaccessible sauf en le
déverrouillant
avec le mot de passe

J'ai légèrement modifié le code pour inclure les protections avec
mot
de
passe du classeur et des feuilles
Ce qui avait l'inconvénient d'accéder à leur activation et
desactivation
de
manière libre
Afin de ne pas demander 2 fois le même mot de passe notamment
pour
l'option
mise à jour (une fois pour faire fonctionner le code l'autre fois
pour
permettre la déprotection) j'ai intégré la saisie à l'ouverture
du
document
dans l'instruction de déprotection
Le code corrigé :

Private Sub Workbook_Open()
Identité = InputBox("veuillez saisir le mot de passe", "Mot de
passe",
"")
If Identité = "Lecture" Then
If Sheets("Paramètres").Visible = True Then
Sheets("Paramètres").Select
ActiveWindow.SelectedSheets.Visible = False
End If
For I = 1 To Sheets.Count
Sheets(I).Protect "Mise à jour", DrawingObjects:=True,
Contents:=True,
Scenarios:=True
Sheets(I).EnableSelection = xlNoSelection
Next
ActiveWorkbook.Protect "Mise à jour", Structure:=True,
Windows:úlse
Else
If Identité = "Mise à jour" Then
For J = 1 To Sheets.Count




















Avatar
JB
Bonjour,

A la sauvagarde aussi (fin de tâche anormale).

JB

On 18 mai, 10:12, FFO wrote:
ReBonjours Thierry
En droite ligne de la remarque de JB
Un dernier cas n'est pas pris en compte, celui de l'ouverture du fichier en
desactivant les macros
Dans cette Hypothèse il est impératif lors de sa dernier fermeture de
l'avoir mis dans l'état Lecture seule ce qui le rendra dans le même état quoi
qu'il arrive à son ouverture suivante (Avec ou sans l'activation des Ma cros)
Pour celà il faut que tu rajoutes dans ThisWorkbook le code suivant :

Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Sheets("Feuil1").Visible = True Then
Sheets("Feuil1").Select
ActiveWindow.SelectedSheets.Visible = False
End If
For I = 1 To Sheets.Count
Sheets(I).Protect "A", DrawingObjects:=True, Contents:=True, Scenario s:=True
Sheets(I).EnableSelection = xlNoSelection
Next
ActiveWorkbook.Protect "A", Structure:=True, Windows:úlse
ActiveWorkbook.Save
End Sub

Opération à réaliser avec la configuration Mise à jour pour pouvo ir
l'enregistrer

Attention cette Macro supplémentaire pour pouvoir avant fermeture du
document établir la configuration lecture seule activera automatiquemen t son
enregistrement par la commande
ActiveWorkbook.Save
Si l'état lecture seul sera enregistré il en sera de même pour tout es
modifications réalisée par un utilisateur habilité quelque soit son bon
vouloir
En d'autre terme il ne pourras pas fermer ce document sans enregistrement
Peut être ne voudrait il pas voir ses modifications prises en compte
Un message l'en informant serait peut être utile pour l'inviter à les
supprimer manuellement avec l'adaptation du code comme ceci :
If Identité = "A" Then
For J = 1 To Sheets.Count
Sheets(J).Unprotect Identité
Next
VariableBooleanSave = False
ActiveWorkbook.Protect Identité, Structure:úlse, Windows:úlse
Sheets("Feuil1").Visible = True
MsgBox ("Attention Toutes les modifications seront automatiquement
enregistrées à la fermeture de ce document")

Voilà mes dernières suggestions
J'espère qu'elles t'apporteront un plus




Je vous poste tout ce que j'ai fait après tous les conseils donnés et
trouvés ici et la. Merci à vous tous.

à mettre dans ThisWorkBook :

Private VariableBooleanSave As Boolean 'variable postionnée pour
l'enregistrement du classeur
'
Private Sub Workbook_Open()
'
VariableBooleanSave = True 'Positionner la variable à True
'
' Récupération du mot de passe
'
Identité = InputBox("veuillez saisir le mot de passe", "Mot de pass e", "")
'
' Première Identité testée = Lecture
'
If Identité = "Lecture" Then
If Sheets("Paramètres").Visible = True Then
Sheets("Paramètres").Select
ActiveWindow.SelectedSheets.Visible = False
End If
For i = 1 To Sheets.Count
Sheets(i).Protect "Mise à jour", DrawingObjects:=True,
Contents:=True, Scenarios:=True
Sheets(i).EnableSelection = xlNoSelection
Next
ActiveWorkbook.Protect "Mise à jour", Structure:=True,
Windows:úlse
Else
'
' Deuxième Identité testée = Mise à jour
'
If Identité = "Mise à jour" Then
For J = 1 To Sheets.Count
Sheets(J).Unprotect Identité
Next
VariableBooleanSave = False
ActiveWorkbook.Protect Identité, Structure:úlse, Windows: úlse
Sheets("Paramètres").Visible = True
Else
ThisWorkbook.Close
Application.Quit
End If
End If
'
End Sub

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
'
' Test pour savoir si on a le droit d'enregistrer
'
If VariableBooleanSave = True Then
Cancel = VariableBooleanSave
MsgBox "Vous n'êtes pas logé en Mise à jour, fichier Non Sauv é..."
End If
'
End Sub

Pour interdire l'execution des macros (a placer au debut de chaque macr o à
interdire) :

If InputBox("veuillez saisir le mot de passe", "mot de passe") <> "Mise à
jour" Then Exit Sub

Puis interdire l'accès a VBA ce que m'a dit FFO :

manuellement :
Click droit sur ThisWorkbook/Proprièté de VBAProject icone Protecti on
Cocher Verrouiller le projet pour l'affichage
Saisir un mot de passe
le confirmer
enregistrer
A l'ouverture suivante le VBA sera inaccessible sauf en le déverrouil lant
avec le mot de passe

"ffo" a écrit dans le message de new s:

Rebonjours
Quelques questions avant de me lancer dans l'avanture
J'ai consulté ton lien concernant les classeurs qui me semble inter ressant
Qu'entends tu par page d'accueil pour exposer ma démarche ????
lorque j'ouvre un fichier excel je n'ai qu'un certain nombre de feuil les
mais rien ne ressemblant de prés ou de loin à une page d'accueil
Il doit certainement faloir la réaliser
Merci de me donner des indications dans ce but

Dois je décortiquer le code et d'expliquer le pourquoi du comment de
chaque
instruction ???
ou
resterais je purement généraliste avec un préambule d'objet et quelques
explications sur le résultat obtenu ???

Ayant décortiqué je suppose tout le fil de la problématique pen ses tu
qu'il
est plus interressant de prendre l'option Classeur ou celui des bouts de
code
J'en appel à ton expérience et tes connaissances éprouvés de ton site

Merci pour ton concours




bonjour FFO
Tu peux l'intégrer dans un classeur exemple (n'importe lequel, tu fais
juste deux feuilles, une visible par un administrateur et l'autre pa r un
utilisateur lambda). En revanche écris en clair sur une page d'a ccueil
ce que fais ce classeur (problème posé, solution retenue) et sur tout
indique en clair le mot de passe !
le but c'est que celui qui veut réutiliser l'exemple dans un de ses
classeurs puisse accéder au code et le modifier à sa sauce ensui te.

toutes les "instructions" pour faire un classeur utile à d'autres sont
sur cette page d'excelabo.
http://www.excelabo.net/moteurs/contribuer.php
Cette même page te permet une fois ton classeur fini de me l'envoy er.

Si tu préfères, tu peux aussi remettre ensemble tous les bouts d u code
et le soumettre comme une astuce sans classeur exemple associé, da ns ce
cas, utilise plutot cette page :
http://www.excelabo.net/moteurs/contribuer2.php
et merci !

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Salut Misange
Je découvre avec plaisir cette option
Que faut il faire à cette fin ???
Remettre tel quel le code je suis preneur
Mais toi le récupérer et ce afin d'éviter des manipulations
supplèmentaires
que je ne connais pas ne serait ce pas plus simple ???
L'intégrer dans un classeur exemple encore mieux mais n'importe quel
classeur peut convenir dans la mesure où celà ne concerne que son
verouillage
en fonction d'un mot de passe saisi, un classeur spéciphique n'e st donc
pas
nécessaire
Je pense que quelques lignes d'introduction quant à son objet à
l'instar de
ce qui existe sur ce site seront à élaborer

Qui fait quoi ???

Merci de m'aider dans cette tâche
Je suis prêts à suivre tes indications
Dans l'attente de te lire






La ficelle a été longue et productive, si vous voulez remettr e in
extenso le code, voire en faire un classeur exemple et me l'envoy er
sur
excelabo, je le mettrai avec plaisir à la disposition de tous, c'est
une
demande susceptible d'intéresser pas mal d'excelliens ;-)

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Rebonjour
Trés heureux que celà te convienne !!!!
Pour interdir l'enregistrement on atteint là les possibilité d'excel
Mais si aucune modification n'a pu être réalisée du fait d es
conditions
instaurées par le profile lecture un enregistrement éventuel ne
serait pas
dommageable et ne porterait à aucune conséquence
Est ce donc bien utile
Toute fois tu as la possibilité de mettre le fichier concern é en
lecture
seule :
click droit sur le document puis Propriétés et cocher Lectur e seule
Cette option malheureusement touchera tous les utlisateurs y com pris
ceux
habilités à des modifications
Ils pourront toutefois l'enregistrer sous un autre nom
A toi de voir

A bientôt peut être








J'ai fait tout ce que tu m'a dit mais en repartant d'une sauveg arde
car je
n'arrivais pas à m'en sortir avec celui qui avait été mod ifier.

Un Grand merci car tout marche impec :) :)

Question subsidiaire : Dans le cas du profil de lecture est il
possible
d'interdire l'enregistrement ?

a +

"ffo" a écrit dans le messag e de
news:

Dans la procédure manuelle de déprotection pense à réa liser
l'opération
sur
toutes les feuilles y compris celles éventuellement cachées
Déprotection à réaliser avec
Outil/Protection icone Oter la protection de la feuille et Ote r la









...

plus de détails »- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -










Avatar
FFO
Salut JB
Je comprends pas ta remarque
Peux tu me préciser
Merci


Bonjour,

A la sauvagarde aussi (fin de tâche anormale).

JB

On 18 mai, 10:12, FFO wrote:
ReBonjours Thierry
En droite ligne de la remarque de JB
Un dernier cas n'est pas pris en compte, celui de l'ouverture du fichier en
desactivant les macros
Dans cette Hypothèse il est impératif lors de sa dernier fermeture de
l'avoir mis dans l'état Lecture seule ce qui le rendra dans le même état quoi
qu'il arrive à son ouverture suivante (Avec ou sans l'activation des Macros)
Pour celà il faut que tu rajoutes dans ThisWorkbook le code suivant :

Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Sheets("Feuil1").Visible = True Then
Sheets("Feuil1").Select
ActiveWindow.SelectedSheets.Visible = False
End If
For I = 1 To Sheets.Count
Sheets(I).Protect "A", DrawingObjects:=True, Contents:=True, Scenarios:=True
Sheets(I).EnableSelection = xlNoSelection
Next
ActiveWorkbook.Protect "A", Structure:=True, Windows:úlse
ActiveWorkbook.Save
End Sub

Opération à réaliser avec la configuration Mise à jour pour pouvoir
l'enregistrer

Attention cette Macro supplémentaire pour pouvoir avant fermeture du
document établir la configuration lecture seule activera automatiquement son
enregistrement par la commande
ActiveWorkbook.Save
Si l'état lecture seul sera enregistré il en sera de même pour toutes
modifications réalisée par un utilisateur habilité quelque soit son bon
vouloir
En d'autre terme il ne pourras pas fermer ce document sans enregistrement
Peut être ne voudrait il pas voir ses modifications prises en compte
Un message l'en informant serait peut être utile pour l'inviter à les
supprimer manuellement avec l'adaptation du code comme ceci :
If Identité = "A" Then
For J = 1 To Sheets.Count
Sheets(J).Unprotect Identité
Next
VariableBooleanSave = False
ActiveWorkbook.Protect Identité, Structure:úlse, Windows:úlse
Sheets("Feuil1").Visible = True
MsgBox ("Attention Toutes les modifications seront automatiquement
enregistrées à la fermeture de ce document")

Voilà mes dernières suggestions
J'espère qu'elles t'apporteront un plus




Je vous poste tout ce que j'ai fait après tous les conseils donnés et
trouvés ici et la. Merci à vous tous.

à mettre dans ThisWorkBook :

Private VariableBooleanSave As Boolean 'variable postionnée pour
l'enregistrement du classeur
'
Private Sub Workbook_Open()
'
VariableBooleanSave = True 'Positionner la variable à True
'
' Récupération du mot de passe
'
Identité = InputBox("veuillez saisir le mot de passe", "Mot de passe", "")
'
' Première Identité testée = Lecture
'
If Identité = "Lecture" Then
If Sheets("Paramètres").Visible = True Then
Sheets("Paramètres").Select
ActiveWindow.SelectedSheets.Visible = False
End If
For i = 1 To Sheets.Count
Sheets(i).Protect "Mise à jour", DrawingObjects:=True,
Contents:=True, Scenarios:=True
Sheets(i).EnableSelection = xlNoSelection
Next
ActiveWorkbook.Protect "Mise à jour", Structure:=True,
Windows:úlse
Else
'
' Deuxième Identité testée = Mise à jour
'
If Identité = "Mise à jour" Then
For J = 1 To Sheets.Count
Sheets(J).Unprotect Identité
Next
VariableBooleanSave = False
ActiveWorkbook.Protect Identité, Structure:úlse, Windows:úlse
Sheets("Paramètres").Visible = True
Else
ThisWorkbook.Close
Application.Quit
End If
End If
'
End Sub

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
'
' Test pour savoir si on a le droit d'enregistrer
'
If VariableBooleanSave = True Then
Cancel = VariableBooleanSave
MsgBox "Vous n'êtes pas logé en Mise à jour, fichier Non Sauvé..."
End If
'
End Sub

Pour interdire l'execution des macros (a placer au debut de chaque macro à
interdire) :

If InputBox("veuillez saisir le mot de passe", "mot de passe") <> "Mise à
jour" Then Exit Sub

Puis interdire l'accès a VBA ce que m'a dit FFO :

manuellement :
Click droit sur ThisWorkbook/Proprièté de VBAProject icone Protection
Cocher Verrouiller le projet pour l'affichage
Saisir un mot de passe
le confirmer
enregistrer
A l'ouverture suivante le VBA sera inaccessible sauf en le déverrouillant
avec le mot de passe

"ffo" a écrit dans le message de news:

Rebonjours
Quelques questions avant de me lancer dans l'avanture
J'ai consulté ton lien concernant les classeurs qui me semble interressant
Qu'entends tu par page d'accueil pour exposer ma démarche ????
lorque j'ouvre un fichier excel je n'ai qu'un certain nombre de feuilles
mais rien ne ressemblant de prés ou de loin à une page d'accueil
Il doit certainement faloir la réaliser
Merci de me donner des indications dans ce but

Dois je décortiquer le code et d'expliquer le pourquoi du comment de
chaque
instruction ???
ou
resterais je purement généraliste avec un préambule d'objet et quelques
explications sur le résultat obtenu ???

Ayant décortiqué je suppose tout le fil de la problématique penses tu
qu'il
est plus interressant de prendre l'option Classeur ou celui des bouts de
code
J'en appel à ton expérience et tes connaissances éprouvés de ton site

Merci pour ton concours




bonjour FFO
Tu peux l'intégrer dans un classeur exemple (n'importe lequel, tu fais
juste deux feuilles, une visible par un administrateur et l'autre par un
utilisateur lambda). En revanche écris en clair sur une page d'accueil
ce que fais ce classeur (problème posé, solution retenue) et surtout
indique en clair le mot de passe !
le but c'est que celui qui veut réutiliser l'exemple dans un de ses
classeurs puisse accéder au code et le modifier à sa sauce ensuite.

toutes les "instructions" pour faire un classeur utile à d'autres sont
sur cette page d'excelabo.
http://www.excelabo.net/moteurs/contribuer.php
Cette même page te permet une fois ton classeur fini de me l'envoyer.

Si tu préfères, tu peux aussi remettre ensemble tous les bouts du code
et le soumettre comme une astuce sans classeur exemple associé, dans ce
cas, utilise plutot cette page :
http://www.excelabo.net/moteurs/contribuer2.php
et merci !

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Salut Misange
Je découvre avec plaisir cette option
Que faut il faire à cette fin ???
Remettre tel quel le code je suis preneur
Mais toi le récupérer et ce afin d'éviter des manipulations
supplèmentaires
que je ne connais pas ne serait ce pas plus simple ???
L'intégrer dans un classeur exemple encore mieux mais n'importe quel
classeur peut convenir dans la mesure où celà ne concerne que son
verouillage
en fonction d'un mot de passe saisi, un classeur spéciphique n'est donc
pas
nécessaire
Je pense que quelques lignes d'introduction quant à son objet à
l'instar de
ce qui existe sur ce site seront à élaborer

Qui fait quoi ???

Merci de m'aider dans cette tâche
Je suis prêts à suivre tes indications
Dans l'attente de te lire






La ficelle a été longue et productive, si vous voulez remettre in
extenso le code, voire en faire un classeur exemple et me l'envoyer
sur
excelabo, je le mettrai avec plaisir à la disposition de tous, c'est
une
demande susceptible d'intéresser pas mal d'excelliens ;-)

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Rebonjour
Trés heureux que celà te convienne !!!!
Pour interdir l'enregistrement on atteint là les possibilité d'excel
Mais si aucune modification n'a pu être réalisée du fait des
conditions
instaurées par le profile lecture un enregistrement éventuel ne
serait pas
dommageable et ne porterait à aucune conséquence
Est ce donc bien utile
Toute fois tu as la possibilité de mettre le fichier concerné en
lecture
seule :
click droit sur le document puis Propriétés et cocher Lecture seule
Cette option malheureusement touchera tous les utlisateurs y compris
ceux
habilités à des modifications
Ils pourront toutefois l'enregistrer sous un autre nom
A toi de voir

A bientôt peut être








J'ai fait tout ce que tu m'a dit mais en repartant d'une sauvegarde
car je
n'arrivais pas à m'en sortir avec celui qui avait été modifier.

Un Grand merci car tout marche impec :) :)

Question subsidiaire : Dans le cas du profil de lecture est il
possible
d'interdire l'enregistrement ?

a +

"ffo" a écrit dans le message de
news:

Dans la procédure manuelle de déprotection pense à réaliser
l'opération
sur
toutes les feuilles y compris celles éventuellement cachées
Déprotection à réaliser avec
Outil/Protection icone Oter la protection de la feuille et Oter la









...

plus de détails »- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -















Avatar
JB
Si la personne qui a les autorisations maxi sauvegarde sans fermer et
que la fermeture normale n'a pas lieu, le fichier sera sauvegardé sans
protection.
Il suffit ensuite de l'ouvrir en désavtivant les macros.

JB

n'a On 18 mai, 13:25, FFO wrote:
Salut JB
Je comprends pas ta remarque
Peux tu me préciser
Merci




Bonjour,

A la sauvagarde aussi (fin de tâche anormale).

JB

On 18 mai, 10:12, FFO wrote:
ReBonjours Thierry
En droite ligne de la remarque de JB
Un dernier cas n'est pas pris en compte, celui de l'ouverture du fich ier en
desactivant les macros
Dans cette Hypothèse il est impératif lors de sa dernier fermetur e de
l'avoir mis dans l'état Lecture seule ce qui le rendra dans le mê me état quoi
qu'il arrive à son ouverture suivante (Avec ou sans l'activation de s Macros)
Pour celà il faut que tu rajoutes dans ThisWorkbook le code suivant :

Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Sheets("Feuil1").Visible = True Then
Sheets("Feuil1").Select
ActiveWindow.SelectedSheets.Visible = False
End If
For I = 1 To Sheets.Count
Sheets(I).Protect "A", DrawingObjects:=True, Contents:=True, Scen arios:=True
Sheets(I).EnableSelection = xlNoSelection
Next
ActiveWorkbook.Protect "A", Structure:=True, Windows:úlse
ActiveWorkbook.Save
End Sub

Opération à réaliser avec la configuration Mise à jour pour p ouvoir
l'enregistrer

Attention cette Macro supplémentaire pour pouvoir avant fermeture du
document établir la configuration lecture seule activera automatiqu ement son
enregistrement par la commande
ActiveWorkbook.Save
Si l'état lecture seul sera enregistré il en sera de même pour toutes
modifications réalisée par un utilisateur habilité quelque soit son bon
vouloir
En d'autre terme il ne pourras pas fermer ce document sans enregistre ment
Peut être ne voudrait il pas voir ses modifications prises en compte
Un message l'en informant serait peut être utile pour l'inviter à les
supprimer manuellement avec l'adaptation du code comme ceci :
If Identité = "A" Then
For J = 1 To Sheets.Count
Sheets(J).Unprotect Identité
Next
VariableBooleanSave = False
ActiveWorkbook.Protect Identité, Structure:úlse, Windows:úl se
Sheets("Feuil1").Visible = True
MsgBox ("Attention Toutes les modifications seront automatiquement
enregistrées à la fermeture de ce document")

Voilà mes dernières suggestions
J'espère qu'elles t'apporteront un plus




Je vous poste tout ce que j'ai fait après tous les conseils donn és et
trouvés ici et la. Merci à vous tous.

à mettre dans ThisWorkBook :

Private VariableBooleanSave As Boolean 'variable postionnée pour
l'enregistrement du classeur
'
Private Sub Workbook_Open()
'
VariableBooleanSave = True 'Positionner la variable à True
'
' Récupération du mot de passe
'
Identité = InputBox("veuillez saisir le mot de passe", "Mot de passe", "")
'
' Première Identité testée = Lecture
'
If Identité = "Lecture" Then
If Sheets("Paramètres").Visible = True Then
Sheets("Paramètres").Select
ActiveWindow.SelectedSheets.Visible = False
End If
For i = 1 To Sheets.Count
Sheets(i).Protect "Mise à jour", DrawingObjects:=True,
Contents:=True, Scenarios:=True
Sheets(i).EnableSelection = xlNoSelection
Next
ActiveWorkbook.Protect "Mise à jour", Structure:=True,
Windows:úlse
Else
'
' Deuxième Identité testée = Mise à jour
'
If Identité = "Mise à jour" Then
For J = 1 To Sheets.Count
Sheets(J).Unprotect Identité
Next
VariableBooleanSave = False
ActiveWorkbook.Protect Identité, Structure:úlse, Window s:úlse
Sheets("Paramètres").Visible = True
Else
ThisWorkbook.Close
Application.Quit
End If
End If
'
End Sub

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
'
' Test pour savoir si on a le droit d'enregistrer
'
If VariableBooleanSave = True Then
Cancel = VariableBooleanSave
MsgBox "Vous n'êtes pas logé en Mise à jour, fichier Non S auvé..."
End If
'
End Sub

Pour interdire l'execution des macros (a placer au debut de chaque macro à
interdire) :

If InputBox("veuillez saisir le mot de passe", "mot de passe") <> " Mise à
jour" Then Exit Sub

Puis interdire l'accès a VBA ce que m'a dit FFO :

manuellement :
Click droit sur ThisWorkbook/Proprièté de VBAProject icone Prot ection
Cocher Verrouiller le projet pour l'affichage
Saisir un mot de passe
le confirmer
enregistrer
A l'ouverture suivante le VBA sera inaccessible sauf en le déverr ouillant
avec le mot de passe

"ffo" a écrit dans le message de news:

Rebonjours
Quelques questions avant de me lancer dans l'avanture
J'ai consulté ton lien concernant les classeurs qui me semble i nterressant
Qu'entends tu par page d'accueil pour exposer ma démarche ????
lorque j'ouvre un fichier excel je n'ai qu'un certain nombre de f euilles
mais rien ne ressemblant de prés ou de loin à une page d'accu eil
Il doit certainement faloir la réaliser
Merci de me donner des indications dans ce but

Dois je décortiquer le code et d'expliquer le pourquoi du comme nt de
chaque
instruction ???
ou
resterais je purement généraliste avec un préambule d'objet et quelques
explications sur le résultat obtenu ???

Ayant décortiqué je suppose tout le fil de la problématique penses tu
qu'il
est plus interressant de prendre l'option Classeur ou celui des b outs de
code
J'en appel à ton expérience et tes connaissances éprouvés de ton site

Merci pour ton concours






bonjour FFO
Tu peux l'intégrer dans un classeur exemple (n'importe lequel, tu fais
juste deux feuilles, une visible par un administrateur et l'autr e par un
utilisateur lambda). En revanche écris en clair sur une page d'accueil
ce que fais ce classeur (problème posé, solution retenue) et surtout
indique en clair le mot de passe !
le but c'est que celui qui veut réutiliser l'exemple dans un d e ses
classeurs puisse accéder au code et le modifier à sa sauce e nsuite.

toutes les "instructions" pour faire un classeur utile à d'aut res sont
sur cette page d'excelabo.
http://www.excelabo.net/moteurs/contribuer.php
Cette même page te permet une fois ton classeur fini de me l'e nvoyer.

Si tu préfères, tu peux aussi remettre ensemble tous les bou ts du code
et le soumettre comme une astuce sans classeur exemple associé , dans ce
cas, utilise plutot cette page :
http://www.excelabo.net/moteurs/contribuer2.php
et merci !

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Salut Misange
Je découvre avec plaisir cette option
Que faut il faire à cette fin ???
Remettre tel quel le code je suis preneur
Mais toi le récupérer et ce afin d'éviter des manipulati ons
supplèmentaires
que je ne connais pas ne serait ce pas plus simple ???
L'intégrer dans un classeur exemple encore mieux mais n'impo rte quel
classeur peut convenir dans la mesure où celà ne concerne que son
verouillage
en fonction d'un mot de passe saisi, un classeur spéciphique n'est donc
pas
nécessaire
Je pense que quelques lignes d'introduction quant à son obje t à
l'instar de
ce qui existe sur ce site seront à élaborer

Qui fait quoi ???

Merci de m'aider dans cette tâche
Je suis prêts à suivre tes indications
Dans l'attente de te lire








La ficelle a été longue et productive, si vous voulez rem ettre in
extenso le code, voire en faire un classeur exemple et me l'e nvoyer
sur
excelabo, je le mettrai avec plaisir à la disposition de to us, c'est
une
demande susceptible d'intéresser pas mal d'excelliens ;-)

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Rebonjour
Trés heureux que celà te convienne !!!!
Pour interdir l'enregistrement on atteint là les possibili té d'excel
Mais si aucune modification n'a pu être réalisée du fa it des
conditions
instaurées par le profile lecture un enregistrement éven tuel ne
serait pas
dommageable et ne porterait à aucune conséquence
Est ce donc bien utile
Toute fois tu as la possibilité de mettre le fichier conce rné en
lecture
seule :
click droit sur le document puis Propriétés et cocher Le cture seule
Cette option malheureusement touchera tous les utlisateurs y compris
ceux
habilités à des modifications
Ils pourront toutefois l'enregistrer sous un









...

plus de détails »- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -










1 2 3