Problème de mots de passe dans fichiers liés

Bonjour,

J’ai une vingtaine de fichiers protégés par un mot de passe à l'ouverture (chaque fichier a son propre mot de passe) et un fichier-maître qui consolide toutes les données; ce dernier comporte également son propre mot de passe.

Il y a des liens entre chaque fichier et le fichier-maître dans les deux sens (le fichier-maître compile les données de chaque fichier ET chaque fichier affiche des données provenant du fichier-maître).

Par conséquent, lorsqu’on ouvre un fichier, il faut entrer le mot de passe du fichier-maître et lorsqu’on ouvre le fichier-maître, on doit entrer les mots de passe de tous les autres fichiers.

Puisqu’on ne veut pas donner le mot de passe du fichier-maître à tous les utilisateurs (qui ont chacun leur fichier), est-il possible de créer une macro qui entrerait automatiquement le mot de passe du fichier-maître dans tous les fichiers?

Aussi, puisqu’il est très long d’entrer manuellement les mots de passe de tous les autres fichiers lorsqu’on ouvre le fichier-maître, est-il possible de créer une macro qui entrerait automatiquement tous les mots de passe des autres fichiers?

Merci à l’avance!

J'ai joint les fichiers pour bien montrer le problème. Le fichiers-maître est celui qui se nomme Vacances. Le mot de passe pour chaque fichier est identique à son nom (Alexandra.xlsx | mot de passe = alexandra; Caroline.xlsx | mot de passe = caroline; Denny.xlsx | mot de passe = denny; Élisabeth.xlsx | mot de passe = élisabeth; Vacances.xlsx | mot de passe = vacances)

34vacances.xlsx (77.50 Ko)
14elisabeth.xlsx (76.00 Ko)
9denny.xlsx (76.00 Ko)
8alexandra.xlsx (75.50 Ko)
16caroline.xlsx (75.50 Ko)

Bonjour,

Quand 2 fichiers sont liés et que tu ouvres fichier destination, il demande le mot de passe du fichier destination pour ouvrir et c'est normal, mais pas le mot de passe de fichier source. Je ne comprends pas ton souci. Explique-nous vraiment ce qui se passe. En tout cas, j'ai ouvert les fichiers, ils demandent chacun leur mot de passe.

Bonjour Raja,

Merci de votre réponse.

Quand on ouvre un fichier, après avoir entré le mot de passe, un message demandant si on veut mettre à jour les liaisons avec les autres classeurs apparaît. Il faut cliquer sur METTRE À JOUR, sinon, les données modifiées dans les fichiers liés ne se mettent jamais à jour dans le fichier qu’on ouvre (à moins que le fichier et le fichier-maître soient tous les deux ouverts sur le même ordinateur). Après avoir cliqué sur METTRE À JOUR, on doit entrer le mot de passe du fichier lié (de tous les fichiers liés dans le cas du fichier-maître). De là mon problème.

Je vous renvoie un autre exemple plus facile à comprendre puisqu’il n’y aura que deux cases. Dans le fichier A (mot de passe : a), la case B2 renvoie à la case B2 du fichier C (mot de passe : c). Dans le fichier B (mot de passe : b), la case B2 renvoie à la case B3 du fichier C. Dans le fichier C (fichier-maître), les cases B renvoient aux cases A des fichiers A et B.

Ouvrez seulement le fichier A et modifiez le contenu de la case A2. Enregistrez et fermez. Ouvrez ensuite le fichier C. Après avoir entré le mot de passe, si vous ne cliquez pas sur METTRE À JOUR, la case A2 ne sera pas mise à jour. Il faut donc cliquer sur METTRE À JOUR, mais ensuite, on nous demande le mot de passe des fichiers A et B. Il faut donc entrer les trois mots de passe pour que tout soit mis à jour.

De la même façon, si on modifie les cases B2 et B3 du fichier C (lorsque les fichiers A et B ne sont pas ouverts sur le même ordinateur), qu’on enregistre et qu’on ferme, il faudra entrer le mot de passe du fichier C à l’ouverture des fichiers A ou B pour mettre les données à jour (information que je ne voudrais pas donner aux utilisateurs des fichiers A et B).

Je me disais donc qu’il serait peut-être possible de créer une macro qui entrerait ces mots de passe automatiquement pour mettre les données à jour. J’espère que je suis plus clair! N’hésitez pas à me le redemander si mon explication reste obscure! Merci!

13c.xlsx (18.00 Ko)
5b.xlsx (16.00 Ko)
8a.xlsx (17.00 Ko)

Bonjour,

A mon avis tu compliques et prends des risques inutiles à multiplier les fichiers liés.

Excel n'est pas fortiche dans la gestions des liens. Tu comprendras quand il faudra retrouver toutes les formules qui se sont chopées des #REF! et les reconstruire car qq a fait une mauvaise manip.

Sans compter que sur une évolution tu multiplies le travail par 20...

Surtout que là rien ne le justifie j'ai l'impression. Tu devrais t'orienter vers un fichier unique avec mdp administrateur et mdp utilisateur qui ne voit que ce qu'il a droit. Il y a des exemple tout prêts sur le net.

eric

Bonjour Eric,

J’ai suivi ton conseil et j’ai tout groupé dans un même fichier qui s’ouvre avec différents mots de passe/utilisateurs : ça marche très bien et c’est plus facile. Merci beaucoup! Le seul hic, c’est que si une personne s’envoie le fichier par courriel, elle peut l’ouvrir sans activer la macro et ainsi consulter tous les onglets. Y a-t-il un moyen de sécuriser le fichier pour éviter ce genre de problème?

Bonjour,

Mais si elle sont toutes verrouillées à la fermeture (Workbook_BeforeClose) par des mots de passes individuels ça reste actif, même sans macro lancée. Il me manque un élément là...

Sinon avant un envoi le fichier est enregistré, mais ce n'est pas détecté par Workbook_BeforeSave, on ne peut pas l'intercepter. Et je ne vois pas d'autre solution.

En attendant tu dois les mettre xlSheetVeryHidden, pour qu'elles n'apparaissent pas dans la liste des feuilles à afficher. Et ne pas oublier de verrouiller l'accès au projet dans 'VBA/Outils/Propriétés du projet/Protection' pour empêcher l'accès à VBE sans le mdp.

Dis-toi bien aussi que toute protection dans excel est un peu illusoire. Ca ne résiste pas longtemps à qq'un d'un peu déterminé.

eric

Bonjour Eric,

Merci de ta réponse et de ton aide.

Rechercher des sujets similaires à "probleme mots passe fichiers lies"