Verifier l'existence de plusieurs fichiers

Bonsoir à tous,

Je suis un grand débutant en VBA et c'est donc pour cela que je fais appel à la communauté

Je cherche à tester l'existence d'une liste de fichiers dans différents dossiers et sous dossiers. Je ne sais hélas comment réaliser ce que je veux.

Je joint à mon post un fichier d'exemple afin de vous permettre de mieux comprendre mon besoin.

D'avance merci à tous pour vos conseils, retours et autres explications.....

En passant bon Week à tous !

26test.rar (293.19 Ko)

Bonjour,

Pas si simple finalement, il a fallu du temps...

Heureusement que tu avais bien préparé et mis un truc très clair.

Comme tu avais débroussaillé le terrain je me sers de la liste que tu as créé en Feuil1.

J'ai modifié des dates sur 'fichier 1.docx' pour tester la mécanique.

Par contre du coup je n'ai pas pu tester les liens, je pense que je ne suis pas trop loin quand même. Teste en situation et tu dis...

Si un fichier est présent dans plusieurs sous-dossiers du dossier c'est le premier lien trouvé vers le fichier qui est ramené.

J'ai mis une MFC sur B:K. Il faudra que tu l'étendes selon le besoin.

J'ai commenté les grandes lignes du programme, j'espère que tu t'y retrouveras.

eric

70test-v1-2.xlsm (75.45 Ko)

Bonjour eriiic.

Hâte de revenir chez moi pour faire le test. Je te donne des news très vite.

Encore merci.

Re-bonjour Eriiic,

c'est top cela ressemble quasiment à ce que je veux faire, le principe des OK et des KO fonctionnent.

Nom des fichiers :

Pour ce qui est des noms de fichier à tester à la ligne 2 je voulais y mettre un nom de fichier plus générique comme "Fichier 1 / Fichier 2 etc..." et pas "fichier 1-v2.docx / fichier 2.docx/etc..."

En effet, dans mon idée c'est la macro qui doit trouver les fichiers ayant comme noms de fichier le "nom générique" dans les répertoires et sous répertoires) et enfin trouver lequel de ces fichiers est la version le plus à jrs pour pouvoir mettre le liens adéquat sur le OK lorsqu'il le trouve.

Proposition pour trouver la version du fichier la plus à jrs, par convention de nom du type :

1 - "nom du fichier+V+numero de version exemple : fichier 1v2 ou fichier 1-v2 ou fichier 1.v2

2 - "nom du fichier+.+numéro de version exemple : fichier 3.1 ou fichier 3-1

Liste des dossiers :

Pour ce qui est de la liste des dossiers de la colonne A, j'ai ajouté plusieurs autres dossiers (au delà de 8 ) et cela n'ajoute rien, ais je fais une mauvaise manipulation ?

Autres

Un autre point lorsque je lance la macro la première fois, celle ci ajoute bien tous les OK et les KO la ou il faut cependant lorsque je supprime un fichier d'un des répertoires et que je relance la macro tous les OK restent alors qu'un devrait être KO et sans liens. Est ce une mauvaise manip de mon coté ?

Eriiic encore merci pour ta précieuse aide.

Nom des fichiers :

Je n'ai pas tout suivi, pas vraiment le temps actuellement, mais ça c'est au début qu'il fallait l'expliquer.

Je verrai plus tard si c'est récupérable, pas sûr...

par convention de nom du type :

1 - "nom du fichier+V+numero de version exemple : fichier 1v2 ou fichier 1-v2 ou fichier 1.v2

2 - "nom du fichier+.+numéro de version exemple : fichier 3.1 ou fichier 3-1

Ce n'est pas une convention. C'est tout et n'importe quoi. Ben non, ce n'est pas gérable. Comment veux-tu que la macro s'y retrouve s'il n'y a pas une règle simple et de la rigueur ?

A tout hasard donne une liste de vrais noms de fichiers avec tous les cas de figure qu'on voit si une une règle imparable peut se dégager et si on peut adapter mais je suis pessimiste.

Pour ça et pour les autres question je te rappelle que je pars de la liste que tu réalises en Feuil1. Il faut donc que tu la réactualises avec ta macro avant de lancer celle-ci.

Tu n'as rien d'autre à mettre dans 'dashboard' que les fichiers en ligne 2. Les dossiers sont récupérés sans doublons de Feuil1!C:C

eric

Oui entre temps j'ai vu qu'il fallait mettre a jrs la liste avant de lancer le dashboard.

pour ce qui est des nom de fichier je regarde ça tres vite.

encore merci.

a très vite

Si tu peux renommer tes fichiers prend pour principe qu'après le dernier espace doit se trouver " Vx.x.x"

Je pourrais me baser sur " V" pour séparer le nom du fichier.

Sinon je me basais sur les dates. Le V1.3 n'est pas sensé avoir une date postérieure au V1.2 et être le plus récent ? Parce que gérer tes n° de versions...

eric

Bonsoir Eriiiic,

dans le fichier joint j'y ai ajouté quelques commentaires correspondant à tes précisions.

encore merci.

23test.rar (264.04 Ko)

Bonjour,

Sous toute réserve de regarder plus en détail quand j'aurais du temps ça semble jouable comme ça.

Vu que tes sous-dossier ont l'air d'être tous structurés à l'identique est-ce qu'il ne serait pas plus raisonnable de le noter au-dessus du nom de fichier (Ex : "2 - conception") ?

Plus besoin de balayer l'arborescence et surtout permet de traiter 2 noms de fichiers identiques qui seraient nécessaires dans 2 sous-dossiers.

On ne se soucie que du n° de version et pas de la date de modif ?

Si oui, v1.2 : toujours que 2 niveaux de numérotation ou faut-il en prévoir plus ?

Donne le nombre de niveau max ainsi que le nombre de chiffres max pour chaque. Ex : 4 niveaux, 2 chiffres max (v4.12.1.3)

Plutôt que OK on pourrait mettre le n° de version.

eric

Bonjour Eric,

En reponse à tes questions :

- On ne se soucie que du n° de version et pas de la date de modif ?

> OK cela me semble le bon choix

- Si oui, v1.2 : toujours que 2 niveaux de numérotation ou faut-il en prévoir plus ?

Donne le nombre de niveau max ainsi que le nombre de chiffres max pour chaque. Ex : 4 niveaux, 2 chiffres max (v4.12.1.3)

[b]> Alors là, pas vraiment d'idée mais 4 niveaux ça me parait peut etre un peu trop : je dirais plutot 3 niveaux.

Pour ce qui est du chiffre max par niveau, je ne sais pas trop mais j'imagine que le Niveau 1 doit permettre d'y mettre un gros chiffre (certaines personnes ne gere pas les sous versions et passe directement à une nouvelle version). Le Niveau 2 doit etre moins que le niveau 1 et le Niveau 3 doit etre beaucoup moins que le niveau 2. Je ne sais pas quels impacts ça a de ton coté et je ne voudrais pas trop abuser donc fait ce qui te semble etre raisonnable.[/b]

- Plutôt que OK on pourrait mettre le n° de version.

> Parfait, bonne idée et le cas ou la macro ne trouve rien tu ajoute vide ou KO dans le tableau ?

- Vu que tes sous-dossier ont l'air d'être tous structurés à l'identique est-ce qu'il ne serait pas plus raisonnable de le noter au-dessus du nom de fichier (Ex : "2 - conception") ?

Plus besoin de balayer l'arborescence et surtout permet de traiter 2 noms de fichiers identiques qui seraient nécessaires dans 2 sous-dossiers.

[b]> Je ne sais pas si j'ai bien compris mais si l'idée est de mettre au dessus du nom de fichier le nom du repertoire dans lequels les fichiers se trouvent, exemple :

repertoire : 2 - conception

fichier recherché : Cahier des charges

Projet 1 : -

Projet 2 : 2.15.1

Projet 3 : 1.6

Projet 4 : 15.1

Pourquoi pas.

[/b]

encore merci

Bonjour,

il faut tout refaire. C'est un peu plus complexe mais c'est bien avancé.

Patiente un peu.

eric

Pas de soucis, je suis de nature patiente.

Tout est à refaire, rude, desolé .

Finalement j'ai supposé qu'un fichier voulu ne serait que dans une arborescence précise et pas ailleurs, et qu'il n'y aurait pas de doublon autres que ceux des différents projets. Donc pas de ss-dossier du fichier à indiquer.

Le xls doit se trouver dans le répertoire père de ceux des projets.

Régles versions :

  • en fin de nom de fichier et commence par " v" ou " V"
  • 4 niveaux maxi, séparés par "." ou "-"
  • 1er niveau : 8 chiffres maxi, pas de lettres
  • autres niveaux : 4 chiffres maxi, pas de lettres

Indication du n° de version en cours dans le tableau, v0 si absente, rien si fichier absent (KO ne me paraissait pas indispensable, tu rajoutes si besoin).

J'ai débogué mais peut-être que des cas de noms particuliers poseront des pb. Fait des tests larges.

eric

PS, ajouté :

  • mise à jour à l'ouverture
  • un clic-droit sur un lien de fichier ouvre son répertoire.
30versions-docs.zip (136.00 Ko)

Simplement magique !

Il semble que cela fonctionne parfaitement !

Je regarde ça avec plus de détail demain dans la journée.

Encore merci Eric.

Rechercher des sujets similaires à "verifier existence fichiers"