Bonjour à tous,
Après avoir "googlisé" un bon moment et n'avoir que que des solutions incomplètes ou inadaptées à mon cas; et que je ne comprenais qu'à moitié, je me résous à créer mon propre post.
LE CAS : Nous allons épurer l'arborescence de fichiers d'un intranet d'entreprise. La structure fichier de cet intranet à évolué au fil des années (plus de 10 ans) sans jamais être nettoyée et aujourd'hui, c'est un enchevêtrement de plus de 15000 répertoires et sous-répertoires (!) dont une grosse et majeure partie n'est plus utilisée.
LA MISSION : Mon job est de repérer un maximum de tous ces répertoires morts.
LA MÉTHODE : Dans un premier temps, j'ai reconstitué dans une feuille Excel toute l'arborescence complète (merci à la puissance de cmd et à son exporation de résultat vers un fichier!) dans une colonne unique "arborescence". Ensuite, j'ai reconstitué la structure de navigation de cet intranet bilingue dans 2 autres feuilles du même classeur (une feuille pour chaque langue sinon ça devenait illible) et avec, pour chaque lien hypertexte, sa cible dans la colonne voisine.
MON SOUCI : Vous commencez peut-être à l'entrevoir: je voudrais que, dans la feuille "arborescence" et pour chaque répertoire concrètement utilisé, soit affiché dans une colonne voisine le OU LES élément(s) "appelants". En jargon Excel, je voudrais donc afficher dans cette nouvelle colonne, pour chaque ligne dont la chaine de caractère de la colonne "arborescence" est égale à la chaine de caractère de la colonne "cible" dans l'une des deux autres feuilles, la valeur de la colonne "lien" qui est en regard de la valeur dans la colonne "cible". Vous me suivez ?
J'ai cru après mes recherches que le couple INDEX/EQUIV pouvait être une solution. Mais je suis assez mal à l'aise avec ses fonctions que je ne connais pas bien. Et, de plus, un problème de taille subsiste: EQUIV s'arrête à UNE correspondance. Or il est tout à fait possible qu'un même répertoire soit appelé depuis plusieurs liens ! Il faudrait que chacun de ces liens puissent être repris, dans la même colonne avec un séparateur ou dans des colonnes consécutives. Je préfère dans la même colonne mais là où j'en suis, c'est presque un détail...
Une idée de formule "magique" ?? Une macro peut-être (je ne pige rien aux macros mais suis de bonne volonté) ?? Je me demande même si je ne ferais pas mieux de tout exporter vers Access (que je ne gère pas tip top non plus :-/ ). Quitte à réexporter le résultat vers Excel après (le tableau résultant ne doit pas nécessairement être dynamique; je cherche surtout à gagner du temps avec des automatismes et ne pas faire des centaines voire des milliers de liens manuellement) Merci d'avance pour votre aide et vos conseils précieux !
Après avoir "googlisé" un bon moment et n'avoir que que des solutions incomplètes ou inadaptées à mon cas; et que je ne comprenais qu'à moitié, je me résous à créer mon propre post.
LE CAS : Nous allons épurer l'arborescence de fichiers d'un intranet d'entreprise. La structure fichier de cet intranet à évolué au fil des années (plus de 10 ans) sans jamais être nettoyée et aujourd'hui, c'est un enchevêtrement de plus de 15000 répertoires et sous-répertoires (!) dont une grosse et majeure partie n'est plus utilisée.
LA MISSION : Mon job est de repérer un maximum de tous ces répertoires morts.
LA MÉTHODE : Dans un premier temps, j'ai reconstitué dans une feuille Excel toute l'arborescence complète (merci à la puissance de cmd et à son exporation de résultat vers un fichier!) dans une colonne unique "arborescence". Ensuite, j'ai reconstitué la structure de navigation de cet intranet bilingue dans 2 autres feuilles du même classeur (une feuille pour chaque langue sinon ça devenait illible) et avec, pour chaque lien hypertexte, sa cible dans la colonne voisine.
MON SOUCI : Vous commencez peut-être à l'entrevoir: je voudrais que, dans la feuille "arborescence" et pour chaque répertoire concrètement utilisé, soit affiché dans une colonne voisine le OU LES élément(s) "appelants". En jargon Excel, je voudrais donc afficher dans cette nouvelle colonne, pour chaque ligne dont la chaine de caractère de la colonne "arborescence" est égale à la chaine de caractère de la colonne "cible" dans l'une des deux autres feuilles, la valeur de la colonne "lien" qui est en regard de la valeur dans la colonne "cible". Vous me suivez ?
J'ai cru après mes recherches que le couple INDEX/EQUIV pouvait être une solution. Mais je suis assez mal à l'aise avec ses fonctions que je ne connais pas bien. Et, de plus, un problème de taille subsiste: EQUIV s'arrête à UNE correspondance. Or il est tout à fait possible qu'un même répertoire soit appelé depuis plusieurs liens ! Il faudrait que chacun de ces liens puissent être repris, dans la même colonne avec un séparateur ou dans des colonnes consécutives. Je préfère dans la même colonne mais là où j'en suis, c'est presque un détail...
Une idée de formule "magique" ?? Une macro peut-être (je ne pige rien aux macros mais suis de bonne volonté) ?? Je me demande même si je ne ferais pas mieux de tout exporter vers Access (que je ne gère pas tip top non plus :-/ ). Quitte à réexporter le résultat vers Excel après (le tableau résultant ne doit pas nécessairement être dynamique; je cherche surtout à gagner du temps avec des automatismes et ne pas faire des centaines voire des milliers de liens manuellement) Merci d'avance pour votre aide et vos conseils précieux !