Recherche classeurs Excel avec liaisons

Fermé
jlchaps Messages postés 144 Date d'inscription vendredi 16 septembre 2005 Statut Membre Dernière intervention 6 mars 2024 - 25 oct. 2018 à 10:14
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 - 6 nov. 2018 à 22:33
Bonjour,

J'ai un dossier avec une foultitude de classeurs Excel (Office 365) et dans beaucoup de classeurs il existe des liaisons vers d'autres fichiers Excel ou des fichiers CSV.
Je voulais savoir s'il existerait un utilitaire spécial qui pouvait parcourir automatiquement un dossier et rechercher dans chaque classeur Excel les liaisons qui y sont intégrées.
Et au final restituer une liste avec pour chaque classeur ausculté, la liste des fichiers liées.

Merci de votre aide et de vos conseils.

Cordialement

A voir également:

12 réponses

eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 214
25 oct. 2018 à 16:53
Bonjour,

un essai : https://www.cjoint.com/c/HJzo1cYT5RU
eric
0
jlchaps Messages postés 144 Date d'inscription vendredi 16 septembre 2005 Statut Membre Dernière intervention 6 mars 2024 4
25 oct. 2018 à 17:20
Merci eriiic ... super ton truc ...
2 questions:
- est-ce que cela pourrait parcourir aussi tous les sous-dossiers ?
- Si un fichier est protégé par un mot de passe en modification, est-ce que ce serait possible de l'ouvrir en automatique en lecture seule ?

Merci de ton aide.
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 214
Modifié le 26 oct. 2018 à 00:49
Ta demande :
qui pouvait parcourir automatiquement un dossier
Si tu avais formulé correctement ta demande, ça y serait.
Là je vais manquer de temps. Recherche sur le net comment parcourir un dossier et ses sous-dossiers, les exemples abondent.
Sinon, tu attends, et tu me relances en milieu de semaine si pas de nouvelle.

Si un fichier est protégé par un mot de passe en modification
essaie en remplaçant :
Set wb2 = Workbooks.Open(chemin & Fichier, UpdateLinks:=0)

par :
Set wb2 = Workbooks.Open(chemin & Fichier, UpdateLinks:=0, ReadOnly:=True)

eric

PS : j'ai oublié de préciser...
Pour faire vite j'ai fixé le nombre de liens à 512 max. Modifier la constante si besoin de plus
0
jlchaps Messages postés 144 Date d'inscription vendredi 16 septembre 2005 Statut Membre Dernière intervention 6 mars 2024 4
26 oct. 2018 à 09:05
Merci eriiic , désolé de na pas avoir été très précis sur la demande.
Par contre, même si je suis informaticien, je n'ai pas été formé aux outils VBA. En effet, je suis plutôt d'une ancienne école, ayant fait mes études informatique en 1977 et sur carte perforées, sans voir ni écran, ni clavier et encore moins de souris ...
Donc, sans vouloir faire le fainéant, et sachant que ce n'est pas urgent à la minute, je vais attendre, si tu le veux bien, que tu te penches sur la question.
Merci encore et à bientôt
0
jlchaps Messages postés 144 Date d'inscription vendredi 16 septembre 2005 Statut Membre Dernière intervention 6 mars 2024 4
30 oct. 2018 à 21:13
des news eriiic ?
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 214
31 oct. 2018 à 18:05
Bonjour,

Oui, j'ai eu des difficultés suite à un changement de HD.
Après copie de l'arborescence j'ai récupéré mes fichiers, seulement je n'étais plus propriétaire des répertoires ce qui fait que mes tests ne me ramenaient rien...
Le temps de comprendre et d'essayer de remettre un peu d'ordre m'a occupé.
A tester donc : https://mon-partage.fr/f/rRt9tj7Y/
eric


0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jlchaps Messages postés 144 Date d'inscription vendredi 16 septembre 2005 Statut Membre Dernière intervention 6 mars 2024 4
31 oct. 2018 à 22:40
Salut et merci … je vais pouvoir tester ça vendredi. Je te dirais.
Encore merci de ton temps.
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 214
1 nov. 2018 à 20:18
Bonjour,

Comme ça, ça m'a laissé le temps de fignoler.
J'ai ajouté une boite de dialogue pour la saisie des paramètres, j'ai ajouté le choix de la profondeur d'exploration.

Une chose que j'ai oublié de te préciser (c'est écrit en commentaire dans le code mais bon...) :
Il faut activer la réference Microsoft Scripting RunTime
Dans VBE (l'éditeur VBA) menu 'Option / Références...', descendre la liste et la cocher.

Une dernière chose :
en faisant des tests plus large je me suis aperçu que des erreurs d'ouverture subsistaient malgré le traitement d'erreur
On Error Goto suite
.
Je suppose que c'est encore des résidus de la recopie de mes fichiers (perte de droits), mais si ça t'arrive pas d'autre choix que de cliquer sur Débogage, prendre la ligne en erreur dans la marge (celle en jaune, noter chemin et fichier si tu veux le contrôler manuellement) et faire glisser la ligne d'exécution après l'étiquette
suite:
(sur
Set wb2 = Nothing
)
Relancer la macro avec F5
Les fichiers en erreur (traités automatiquement ou manuellement) sont listés et marqués FICHIER EN ERREUR DE LECTURE
https://mon-partage.fr/f/oPXMUQSN/
eric
0
jlchaps Messages postés 144 Date d'inscription vendredi 16 septembre 2005 Statut Membre Dernière intervention 6 mars 2024 4
2 nov. 2018 à 07:43
Vraiment Eric, c'est un super boulot que tu fais là ... merci pour ton temps à y passer. Ça va super bien m'aider dans ce que je veux faire.
Je teste ça dans la journée et reviens te dire ce que ça donne chez moi.
A+
0
jlchaps Messages postés 144 Date d'inscription vendredi 16 septembre 2005 Statut Membre Dernière intervention 6 mars 2024 4
2 nov. 2018 à 16:18
Résultat :
- Sur un 1° gros dossier, tout s'est déroulé impeccablement sans aucune erreur, nickel
- Sur un 2° plus gros dossier, j'ai eu plusieurs erreurs qui sont passés avec ta méthode :
- fichier raccourci mais dont le nom se termine par XLSX ou XLS
- fichier reçus par des clients qui sont en mode protégé
- message sauvegardé d'Outlook mais avec nom XXXXXX.xlsx.msg

Voilà, somme toute ça marche très bien.
Un grand merci
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 214
2 nov. 2018 à 18:26
Bonjour,

J'avais zappé qu'un fichier pouvait avoir .xl en plein milieu.
Je contrôle maintenant que ce ne soit que dans l'extension, ça fera qq cas à tort en moins.
J'ai modifié aussi la gestion du tableau en mémoire que j'avais fait un peu à l'arrache.
Sans doute que tu n'en as plus besoin, ça servira aux futurs lecteur :
https://mon-partage.fr/f/b2val3kd/
eric
0
jlchaps Messages postés 144 Date d'inscription vendredi 16 septembre 2005 Statut Membre Dernière intervention 6 mars 2024 4
2 nov. 2018 à 19:45
Je testerai à nouveau la nouvelle version lundi prochain. merci
0
jlchaps Messages postés 144 Date d'inscription vendredi 16 septembre 2005 Statut Membre Dernière intervention 6 mars 2024 4
Modifié le 6 nov. 2018 à 17:42
Salut ... nouvelle version testée. La modification marche.
Pour les quelques fichiers qui s'ouvrent en mode protégé, je les ai ouvert individuellement avant et enlever le mode de protection et ça passe.
Reste les fichiers qui sont réellement protégé par un mot de passe et que l'on ne peut même pas ouvrir en lecture seule. Il faut pour chacun d'entre eux ! et il y a des dossiers où il y en a beaucoup. Dommage.
Sinon, j'en ai encore besoin car j'aurai des mises à jour à faire et encore beaucoup de dossier à ausculter pour bâtir une arborescence des liaisons.
Encore merci
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 214
6 nov. 2018 à 17:46
Bonjour,

merci pour le retour.
Reste les fichiers qui sont réellement protégé par un mot de passe et que l'on ne peut même pas ouvrir en lecture seule.
Je ne pourrais sûrement rien y faire mais il ne te propose pas la saisie du mot de passe ?
eric
0
jlchaps Messages postés 144 Date d'inscription vendredi 16 septembre 2005 Statut Membre Dernière intervention 6 mars 2024 4
6 nov. 2018 à 20:37
Si, il propose de saisir le mot de passe mais cela concerne plein de fichier et je n'ai pas les mots de passe.
C'est pour établir une base de donnée des liens sur un serveur où plusieurs personnes ont leurs fichiers.
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 214
6 nov. 2018 à 22:33
Bah, au moins tu peux leur envoyer la liste qu'ils te les fournissent ;-)
0