Mot de passe sur fichier excel

Signaler
Messages postés
154
Date d'inscription
mardi 9 septembre 2008
Statut
Membre
Dernière intervention
16 septembre 2021
-
Messages postés
2065
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
14 mars 2016
-
Bonjour,

J'aimerais protéger un fichier excel par un mot de passe.
En fait j'aimerais qu'à l'ouverture du fichier, un mot de passe soit demandé et en fonction du mot de passe le fichier soit ouvert en lecture seule ou de plein droit.
Merci par avance de votre aide

7 réponses

Messages postés
2065
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
14 mars 2016
10
Bonsoir,

Ta question n'a rien à voir avec de la programmation (sujet du site). Il faudrait peut-être apprendre à utiliser Excel sur d'autre site dedié plus spécifiquement à cela... et revenir pour des questions à la programmation Excel...

Pour faire ce que tu demandes, il suffit de faire enregistrer sous... et aller voir dans Options... Sous la nouvelle version Office 2007, (que je n'aime pas et ne possède pas), je te souhait bon courage... (enfin clique en haut à droite sur le logo, me semble-t-il.)

Amicalement,
Us.
Messages postés
2065
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
14 mars 2016
10
... oupsss...
Lire : ...questions touchant à...

Us.
Messages postés
154
Date d'inscription
mardi 9 septembre 2008
Statut
Membre
Dernière intervention
16 septembre 2021

Bien sur que si c'est de la programmation, j'ai meme commencé à écrire un bout de programme. A l'ouverture j'ai une boite de dialogue qui s'ouvre me demandant un mot de passe. Si le mot de passe est bon le fichier s'ouvre avec chargement d'une menu bar perso et si le mot de passe n'est pas bon le fichier se referme au bout de trois tentatives (sauf que ca je n'y arrive pas). Enfin un bouton permet de rentrer sans mot de passe mais en lecture seule. Et la j'aimerais que si l'utilisateur clique sur enregistrer ou enregistrer sous, le fichier se ferme automatiquement.
Voici un bout de mon programme:

Private Sub CommandButtonNon_Click() ' Bouton sur boite de dialogue MotPasse
Workbooks.Open Filename:="Q:\Documents and Settings\SECRETARIAT COTEAUX\2008\PERSONNEL AGENCE\SUIVI DES CONGES\Congés Agence 2008.xls", ReadOnly:=True
MotPasse.Hide
End Sub


Private Sub CommandButtonValid_Click()


Do While MotPasse.TextBoxMot <> "wse357"


MsgBox ("Mot de passe incorrect")
i = i + 1
If i = 3 Then
Workbooks("Congés Agence 2008.xls").Close SaveChanges:=False
End If
Loop


MotPasse.Hide
MsgBox ("Salut Myriam! Bienvenue dans SUIVI DES CONGES" + Chr(13) + Chr(13) + " Bonne saisie!")
Affiche_menu_SuiviConges




End Sub
Messages postés
154
Date d'inscription
mardi 9 septembre 2008
Statut
Membre
Dernière intervention
16 septembre 2021

Quelqu'un peut il m'aider à trouver une solution pour que lorsque mon utilisateur ouvre le fichier en lecture seule, (ce que j'ai fait) s'il veut enregistrer ou enregistrer sous, un message d'erreur s'affiche (simple msgbox) et le fichier se ferme

Merci de votre aide
Messages postés
2065
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
14 mars 2016
10
Bonjour,

Peut-être une piste avec ceci :

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    MsgBox "non"
    ActiveWorkbook.Close (False)
End Sub

Amicalement,
Us.
Messages postés
154
Date d'inscription
mardi 9 septembre 2008
Statut
Membre
Dernière intervention
16 septembre 2021

Jusque la je suis bon mais il me manque en fait un test sur le fichier s'il est en lecture seule ou non
Du style
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
  If  ActiveWorkbook = ReadOnly Then
   MsgBox "non"
    ActiveWorkbook.Close (False)
End if
End Sub

Mais je ne sais pas quelle methode utiliser
Messages postés
2065
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
14 mars 2016
10
Re,

Peut-être à l'ouverture du fichier, mettre une variable global pour retenir le type d'ouverture effectué.

mettre dans un module :
Global TypeOuvrture as boolean

ainsi, tu pourras tj faire un test avec... bien sur à condition que le fichier soit ouvert avec la macro, et non directement sans passer par ta macro. Car dans ce cas, je ne crois pas qu'il existe une possibilité de savoir sans utiliser une astuce...

Amicalement,
Us.