Lameche15
Messages postés156Date d'inscriptionmardi 9 septembre 2008StatutMembreDernière intervention15 septembre 2022
-
18 nov. 2008 à 10:03
us_30
Messages postés2065Date d'inscriptionlundi 11 avril 2005StatutMembreDernière intervention14 mars 2016
-
20 nov. 2008 à 14:21
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
us_30
Messages postés2065Date d'inscriptionlundi 11 avril 2005StatutMembreDernière intervention14 mars 201610 18 nov. 2008 à 22: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.)
Lameche15
Messages postés156Date d'inscriptionmardi 9 septembre 2008StatutMembreDernière intervention15 septembre 2022 19 nov. 2008 à 08:31
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
Lameche15
Messages postés156Date d'inscriptionmardi 9 septembre 2008StatutMembreDernière intervention15 septembre 2022 20 nov. 2008 à 12:21
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Lameche15
Messages postés156Date d'inscriptionmardi 9 septembre 2008StatutMembreDernière intervention15 septembre 2022 20 nov. 2008 à 13:30
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
us_30
Messages postés2065Date d'inscriptionlundi 11 avril 2005StatutMembreDernière intervention14 mars 201610 20 nov. 2008 à 14:21
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...