Contournement temporaire de mot de passe Private Sub Workbook_Open

Stella6

XLDnaute Nouveau
Bonjour,
j'ai un peu fait le tour des sujets, et je n'ai malheureusement pas encore trouvé de solution.
Avec un peu de chance l'un d'entre vous pourra m'aider.

Le cadre:
fichier Excel partagé par 20 personnes, 2 (dt moi) ont le mot de passe et peuvent donc faire des modifications, les autres y accèdent en lecture seule, juste pour voir les infos.
Actuellement, un de 2 administrateurs doit ouvrir le fichier chaque matin, le mettre à jour avec les données de la veille, et enregistrer les modifications.

L'idée:
'A l'ouverture du fichier, même si on est rentrée en lecture seule, vérifier la date de la dernière mise à jour:
Private Sub Workbook_Open()
If Sheets("Programmes").Range("K10").Value = Date Then
Exit Sub
Else

'si le fichier n'a pas encore été mis à jour, passer en mode ecriture (mot de passe dans la macro)
ActiveWorkbook.Unprotect Password:="mdp"

'Executer la macro de mise à jour
IMPORTATION

'Sauvegarder à nouveau le fichier et revenir en mode lecture seule
ActiveWorkbook.SaveAs Filename:= _
"C:\SAP_Sortie_jour_pointages_manquants.xls" _
, FileFormat:=xlExcel8, Password:="", WriteResPassword:="mdp", _
ReadOnlyRecommended:=False, CreateBackup:=False


Mon problème:
Je n'arrive pas à sauvegarder le fichier avec la macro et encore moins à revenir en lecture seule.

J'espère avoir été assez claire, c'est mon premier poste sur un forum, je ne voudrais pas vous faire perdre votre temps.

Par avance merci pour vos commentaires et solutions.
 
Dernière édition:

tototiti2008

XLDnaute Barbatruc
Re : Contournement temporaire de mot de passe Private Sub Workbook_Open

Bonjour Stella6,

Bienvenue sur XLD,

fichier Excel partagé par 20 personnes

C'est vraiment un classeur partagé ? (partage de classeur pour modifications "simultanées")
Macro et partage ne font pas bon ménage, beaucoup de limitations il me semble (à moins que ça n'ait changé en 2010)
 

Stella6

XLDnaute Nouveau
Re : Contournement temporaire de mot de passe Private Sub Workbook_Open

Bonjour tototiti2008,

non, ce n'est pas un classeur partagé au sens modifications "simultanées", c'est juste un classeur enregistré sur un lecteur réseau, que plusieurs personnes peuvent ouvrir en même temps en lecture seule, mais pas en lecture/écriture, c'est pour ça que je voudrais que le passage en mode lecture/écriture soit temporaire et transparent pour les utilisateurs qui ne sont pas en possession du mot de passe.

Merci pour ton message de bienvenue.
 

tototiti2008

XLDnaute Barbatruc
Re : Contournement temporaire de mot de passe Private Sub Workbook_Open

Bonjour Stella6,

Je ne connais pas de moyen de passer du mode lecture seule en mode lecture-écriture sans fermer puis rouvrir le fichier (mais si ça existe je serais heureux de l'apprendre)
Le problème est que si tu mets du code dans le fichier, la fermeture de celui-ci va forcément interrompre l'exécution de ton code
Le mieux serait peut-être de :
mettre le code dans un autre fichier (macro personnelles ou macro complémentaire)
ou
créer une autre session excel qui elle ouvre le fichier en lecture écriture et exécute la macro de mise à jour, l'enregistre et le referme
mais dans ce cas, il restera le soucis que l'utilisateur en lecture seule devra fermer puis rouvrir son fichier pour voir les modifications

Tout cela sans tenir compte d'éventuels autres utilisateurs simultanés du fichier...
 

Pierrot93

XLDnaute Barbatruc
Re : Contournement temporaire de mot de passe Private Sub Workbook_Open

Bonjour Stella, Re toto

pour changer de mode, claaseur ouvert en lecture seule et protégé en écriture par un mot de passe (motdepasse), pas testé sur classeur partagé :

Code:
ActiveWorkbook.ChangeFileAccess xlReadWrite, "motdepasse"

bon après midi
@+
 

Stella6

XLDnaute Nouveau
Re : Contournement temporaire de mot de passe Private Sub Workbook_Open

Bonjour Pierrot,

merci beaucoup ça fonctionne très bien, reste plus qu'à voir si pas de problème quand plusieurs utilisateurs ouvre le fichier en même temps, mais vu que je donne l'accès en écriture que temporairement le temps de la mise à jour je dirais que pas de problème.

Encore merci et bonne après midi à toi aussi.
 

Statistiques des forums

Discussions
311 733
Messages
2 082 011
Membres
101 866
dernier inscrit
XFPRO