Liaisons avec fichiers protégés

  • Initiateur de la discussion Initiateur de la discussion poorky
  • Date de début Date de début

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 !

P

poorky

Guest
Bonjour à tous,

voici mon problème :
j'ai un fichier classeur1.xls qui est en liaison avec une même cellule sur 120 fichiers protégés.
Le mot de passe de lecture est test.
je n'arrive pas à automatiser à l'ouverture du classeur1 les liaisons avec les 120 fichiers, le mot de passe de ces fichiers m'est demandé pour cette mise à jour ! même avec un copier/coller ca fait un peu long 🙁.

En décochant la confirmation de mise à jour automatique des liaisons dans les options, je dois quand même rentrer les mots de passe !
Je voulais ruser en ouvrant au préalable tous les fichiers et en les refermants après la mise à jour (updatelinks:=3), j'arrive bien à automatiser l'ouverture du fichier par Workbooks.Open FileName:="classeur1.xls", Password:="test", mais dès qu'il y a une liaison, on dirait qu'elle passe avant le renseignement du mot de passe et je dois taper 120 fois le mot de passe !

merci de votre aide
 
Re : Liaisons avec fichiers protégés

Bonjour,

En recherchant sur le net, j'ai trouvé le canevas de cette macro.
C'est testé et opérationnel sous Excel 2010.
Il resterait à trouver une boucle pour la liste des 120 fichiers, sinon on répète 120 fois les 4 lignes
Mon vba n'est pas très avancé 8- //


Code:
Public Sub updateWBLinks()
 Dim oWB As Workbook
 thisbk = ActiveWorkbook.Name ' this is the summaray sheet.
 
 dbfilepath = "C:\Classeur2.xlsx"  ' this is the file to get data from -  password protected.
 Application.DisplayAlerts = False
 Set oWB = Workbooks.Open(Filename:=dbfilepath, UpdateLinks:=3, Password:="test", writerespassword:="")
 oWB.Close

 dbfilepath = "C:\Classeur3.xlsx"  ' this is the file to get data from -  password protected.
 Application.DisplayAlerts = False
 Set oWB = Workbooks.Open(Filename:=dbfilepath, UpdateLinks:=3, Password:="test", writerespassword:="")
 oWB.Close

 dbfilepath = "C:\Classeur4.xlsx"  ' this is the file to get data from -  password protected.
 Application.DisplayAlerts = False
 Set oWB = Workbooks.Open(Filename:=dbfilepath, UpdateLinks:=3, Password:="test", writerespassword:="")
 oWB.Close

End Sub


Je m'excuse pour la source, j'ai fermé l'autre fenêtre et je ne la retrouve plus. 8- (((

G
 
Dernière édition:
Re : Liaisons avec fichiers protégés

Bonsoir,

J'ai amélioré la chose.
Décompresser le fichier joint au racine du C:\ pour tester si ça convient.
Dans le classeur1, feuille"Liste", colonne A, inscrire le nom des fichiers.
Dans la même feuille, en B1, inscrire le nom du chemin où sont les fichiers. En espérant qu'ils soient tous dans le même dossier.

À l'ouverture du classeur1, ne pas mettre à jour les liasons. Je ne sais pas comment enlever cet boîte de dialogue. J'ai beau décoché dans Options, ça revient à chaque ouverture. Un truc serait apprécié.

G
 

Pièces jointes

Re : Liaisons avec fichiers protégés

Merci beaucoup! J'ai récupéré ce code et je l'ai modifié quelque peu. En effet, j'ai du retirer la commande qui ferme chacun des fichiers excels qui sont ouverts par la macro, car il y a une macro qui demande automatiquement a l'utilisateur de sauvegarder le fichier à la fermeture du fichier.

J'ai donc fait 3 macros qui ouvrenet chacun 40 fichiers et fait la mise à jour du classeur. J'ai dû faire 3 macros, car Excel semble limiter le maximum de fichier excel pouvant être ouvert dans une seule macro.
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
4
Affichages
320
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
449
Réponses
6
Affichages
739
Réponses
5
Affichages
909
Retour