Microsoft 365 Mise jour fichiers avec mot de passe

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

cmdavid

XLDnaute Occasionnel
Bonjour,
je cherche a faire fonctionner mes 3 fichiers joints, dans les conditions ou les fichiers 'COM' et 'BASE' ont un mot de passe a l'ouverture et que lorsque je change la date du fichier 'DG', celui -ci me demande le mot de passe du fichier "COM' - mot de passe : 1.
macro utilisée dans le fichier "DG":
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [AT3,AT4:AW4]) Is Nothing Then Exit Sub
Dim etat As Boolean
With Application
.ScreenUpdating = False
.DisplayAlerts = False
etat = .AskToUpdateLinks
.AskToUpdateLinks = False
Workbooks.Open(Filename:=ThisWorkbook.Path & "\MMG Raport TBS - BASE.xlsm", Password:="1").Close True

.AskToUpdateLinks = etat
End With
ThisWorkbook.Save
End Sub

un grand merci pour votre aide.
 

Pièces jointes

Bonjour Cmdavid,
Juste une idée : Dans la demande de pwd, 1 est il pris comme une chaîne de caractère ou comme un nombre ? ( comment souvent le cas dans XL, différence entre 1 et "1" )
Vous pourriez essayer "a" qui ne laisse aucune ambiguïté.
 
bonjour Sylvanu,
avec "a" cela ne change rien. le fichier DG me demande toujours le mot de passe du fichier COM. dans la macro, il y a le mot de passe pour le fichier BASE, mais je ne sais pas quoi rajouter dans la macro pour que celle-ci prenne en compte le mot de passe du fichier COM.
 
Re,
Lorsque XL exécute cette ligne :
VB:
Workbooks.Open(Filename:=ThisWorkbook.Path & "\MMG Raport TBS - BASE.xlsm", Password:="1").Close True
Il recalcule MMG Raport TBS - BASE.xlsm.
Or dans ce fichier vous faites référence au fichier COM : ='g:\Users\PC_PAPA\Downloads\[com.xlsm]Feuil1'!$C$4 en H5:H9.
Donc XL essaye de remettre à jour, mais comme COM est protégé, il vous demande le mot de passe.

Une solution, c'est d'ouvrir COM avant cette ligne avec le mot de passe, et le refermer aussitôt la mise à jour faite.

Une autre solution est de copier les valeurs
Code:
='g:\Users\PC_PAPA\Downloads\[com.xlsm]Feuil1'!$C$4   de C4 à F4
dans le fichier TBS qui est ouvert, et faire appel à ces valeurs dans le fichier BASE.
Comme ça il n'y a plus de référence à COM dans le fichier BASE.
 
Je récapitule.
Lorsque vous voulez fermer \MMG Raport TBS - BASE.xlsm. XL recalcule toutes les ecllules avant de fermer.
Or dans ce fichier, feuille H les cellules H4:H9 contiennent des formules qui appelle des données du Fichier COM :
VB:
En H5 : ='g:\Users\PC_PAPA\Downloads\[com.xlsm]Feuil1'!$C$4
...
En H9 : ='g:\Users\PC_PAPA\Downloads\[com.xlsm]Feuil1'!$F$4
Et donc XL vous demande le mot de passe de COM pour la mise à jour.

Pour vérifier, ouvrez le fichier Base, mettez vous en feuille H cellule H5, cliquez dans la formule et faites Entrée. Un mot de passe est demande.

D'où ma proposition de modification de code :
Code:
Ouvrir le fichier COM.
Workbooks.Open(Filename:=ThisWorkbook.Path & "\MMG Raport TBS - BASE.xlsm", Password:="1").Close True
Fermer le fichier COM.

Ou l'autre solution qui me semble meilleure, mais peut être plus "acrovatique"
 
Avez vous essayer :

Pour vérifier, ouvrez le fichier Base, mettez vous en feuille H cellule H5, cliquez dans la formule et faites Entrée. Un mot de passe est demande.
Le problème vient de la.
tant que dans votre fichier Base vous aurez des cellules qui font appel au fichier COM, XL vous demandera un mot de passe car le fichier COM est protégé.
 
Le problème est que chaque fichier doit rester fermés.
la macro decrite en "1" fonctionne pour 1 fichier, je voudrais que cela fonctionne de la même façon avec plusieurs fichiers et des mots de passe différents pour chaque fichier.
 
Qu'entendez vous par :
VB:
Le problème est que chaque fichier doit rester fermé.
Par macro, on l'ouvre avec le bon mot de passe, on prend la valeur et on le referme.
L'utilisateur ne verra rien, surement pas le mot de passe. Où est le problème ?
 
Au post #10 je vous ai donné la solution. Vous en voulez pas. Qui puis je ?
Vous ne pourrez pas résoudre votre problème tant que vous refuserez d'ouvrir les fichiers avec mot de passe. C'est inhérent à votre structure de fichier . Voir post #4.
 
je comprend qu'il faut que le fichier MMG TBS BASE ouvre le fichier COM avec une macro.
mais je ne comprend pas quoi écrire dans la macro? car si je met :
Workbooks.Open(Filename:=ThisWorkbook.Path & "\MMG Raport TBS - BASE.xlsm", Password:="1").Close True, ou encore Workbooks.Open(Filename:=ThisWorkbook.Path & "\COMM-1.xlsm", Password:="1").Close True
cela ne marche pas.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
6
Affichages
1 K
  • Question Question
Microsoft 365 Erreur de Fichier
Réponses
16
Affichages
2 K
Retour