Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Liaisons avec fichiers protégés

poorky

XLDnaute Nouveau
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
 

Gelinotte

XLDnaute Accro
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:

Gelinotte

XLDnaute Accro
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

  • Poorky.zip
    51 KB · Affichages: 30

j_Ettar

XLDnaute Nouveau
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.
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…