Salut le forum, Salut C, Salut Jean Marie,
J'ai tout repris depuis le début en essayant d’être le plus clair possible et en essayant de tenir compte de toutes vos remarques et de peser chaque mot employé (Cela a été long mais tout est complètement détaillé) :
1/- Il est vrai que dans le fichier « Macro Action Tous Fichiers » les onglets ne servent à rien. Ce fichier ne fait que contenir la macro à appliquer sur l’ensemble des fichioers contenus dans un même répertoire et elle le fait.
2/- J’ai 3 types de fichiers qui ont tous la même structure avec une Feuille nommée « Base » dans laquelle se trouvent l’ensemble des données à traiter et d’autres feuilles vides.
3/ Dans la feuille « Base », ces données sont réparties dans les colonnes de « A » à « I ».
4/- Seule la colonne « A » et le nom des feuilles sont différentes selon le type de fichier.
5/- Pour le premier type de fichiers, dans un même répertoire se trouvent les fichiers de type « C ». Ces fichiers s’appelent tous « Combis C de quelque chose » (Combis C de 1 ; Combis C de 2 ; Combis C de 3…). Il y en a 9, appelés « Combie C de 1 » à « Combis C de 9 ».
Dans la feuille « Base » de tous ces fichiers, la colonne « A » contients des codes qui vont de « C1 » à « C8 ». La colonne « F » contient des chiffres de « 1 » à « 9 ». La colonne « I » contient des (*) ou des (0).
Dans le fichier « Combis C de 1 » les (0) de la colonne « I » correspondent à chaque chiffre « 1 » rencontrés en colonne « F », les (*) de la colonne « I » correspondent à tous les autres chiffres différents de « 1 » rencontrés en colonne « F ».
De la même manière dans le fichier « Combis C de 2 » les (0) de la colonne « I » correspondent à chaque chiffre « 2 » rencontrés en colonne « F », les (*) de la colonne « I » correspondent à tous les autres chiffres différents de « 2 » rencontrés en colonne « F ». Et ainsi de suite pour les autres fichiers « Combis de… » 3,4,5,6,7,8 et 9.
De fait, les données contenues dans chaque feuille "Base" sont toutes les même à l'exception de la colonne "I" où les (0) seront placés différemment et sur la même ligne qu'un chiffre (1) dans le fichier "Combi C de 1", et la même ligne qu'un chiffre (2) dans le fichier "Combis de 2" etc...
A l’origine, les feuilles de tous ces fichiers contiennent une feuille nommée « Base » avec l’intégralité des données ainsi que des feuilles vides (~200) nommées « C1 », « C2 », « C » »…, « C12 », « C13 », « C14 »… « C123 », « C124 », « C125 »… jusqu’à « C12345678 ».
(Fichier joint « Combis C de 1 » avant application des macros).
Avant application des différentes macros à venir, tous les fichiers sont positionnés sur la feuille « Base ».
L’objet de la première macro nommée « CopieDonnéesBaseDansFeuilles » a pour fonction de ventiler ou copier l’ensemble des lignes (dans leur intégralité) contenues dans la feuille « Base » selon la codification de la colonne « A ».
Ainsi toutes les lignes qui contiennent le code « C1 » en colonne « A » de la feuille « Base » doivent être copiés de manière chronologique dans toutes les autres feuilles du classeur où se trouvent un « 1 » dans leur nom : « C1 », « C12 », « C13 »… « C123 »… « C12345678 ».
Il en va de même pour les lignes contenant les codes « C2 », « C3 »…
(Résultat Obtenu Fichier joint « Combis C de 1 » après traitement1 par la macro "CopieDonnéesBaseDansFeuilles").
L’objet de la 2me macro nommée « CompterEcarts » a pour fonction, dans chaque feuille du classeur, de compter dans la colonne « I » le nombre de (*) entre chaque (0) en reportant le nombre obtenu dans la cellule correspondante de la colonne « J » d’une part, et de compter, toujours dans la colonne « I », le nombre de (*) à partir du dernier (0) rencontré et de reporter le nombre obtenu dans la cellule correspondante de la colonne « K » d’autre part.
(Résulat Obtenu Fichier joint « Combis C de 1 » après traitement2 par la macro "CompterEcarts").
L’objet de la 3me macro nommée « RécupérerEcartsMax » a pour fonction de récupérer tous les Ecarts de la colonne « J » de toutes les feuilles et de les reporter après avoir trié chaque série de chaque feuille du plus grand au plus petit, dans une nouvelle feuille à créer. Cela se fait actuellement dans la feuille « Base » parce que je n’ai pas encore trouvé comment créer cette nouvelle feuille où les résultats devraient apparaître afin de conserver la feuille « Base » telle quelle. Le résultat obtenu se trouve donc, pour le moment, dans la feuille « Base ».
Le résultat obtenu permet d’avoir sur la ligne « 1 » le nom des feuilles du classeur avec à la suite, dans chaque colonne respective la série d’écarts classés du plus grand au plus petit et donc en ligne 2 tous les Ecarts Maximum de chaque feuille.
(Résulat Obtenu Fichier joint « Combis C de 1 » après traitement3 par la macro "RécupérerEcartsMax").
L’objet d’une 4me macro nommée « RécupérerEcartEnCours » a pour fonction de récupérer les Ecarts de chaque feuille contenus dans leur colonne « K » et de les reporter, ici dans la feuille « Base » pour les mêmes raisons évoquées plus haut, de la même manière que la macro précédente.
Le résultat obtenu permet d’avoir sur la ligne « 1 » le nom des feuilles du classeur avec en ligne « 2 » l’Ecart en Cours correspondant. (Résulat Obtenu Fichier joint « Combis C de 1 » après traitement4 par la macro "RécupérerEcartEnCours").
Pour bien faire pour ces 2 dernières macros il faudrait créer une première feuille supplémentaire pour stocker les Ecarts Maximums, et une deuxième feuille supplémentaire pour stocker les Ecarts en Cours. J’y travaille.
6/- Concernant les 2 autres types de fichiers, c’est strictement la même chose avec pour seules différences la codification de la colonne « A » et le nom des feuilles, ils ont tous la même feuille « Base » avec l’intégralité des données à traiter.
Dans un même répertoire se trouvent les fichiers de type « P ». Ces fichiers s’appellent tous « Combis P de 1 » à « Combis P de 9 »
Dans leur colonnes « A » se trouvent les codifications P5, P6, P7, P8 et P9. Les autres feuilles que celle nommée « Base », s’appellent P5, P6, P7, P8, P9, P56, P57…, P567…, P6789…
Dans un même répertoire se trouvent les fichiers de type « R ». Ces fichiers s’appellent tous « Combis R de 1 » à « Combis R de 6 »
Dans leur colonne « A » se trouvent les codifications R1, R2, R3, R4 R5 et R6. Les autres feuilles que celle nommée « Base », s’appellent R1, R2, R3…, R12…, R346…
Pour la 1re macro, j’ai juste à modifier les codifications « C », « P » ou « R » pour pouvoir l'appliquer à chacun des 3 types de fichiers.
Pour toutes autres macros, elles s’appliquent de la même manière sur les 3 types de fichiers.
Ma manière de fonctionner actuelle, je ne sais si c’est la meilleure, fait que je crée un fichier uniquement pour acceuillir une macro à appliquer manuellement à chaque fichier à traiter.
Et… C’est très long… J’ai renommé mes fichiers contenant une macro strictement du même nom que la macro pour plus de clareté pour vous.
Je pensais qu’en trouvant une macro qui me permettait de lancer ces 4 macros les unes à la suite des autres, cela se ferait sans problème, or force est de constater que ces macros qui marchent toutes individuellement (vous pouvez les tester de manière individuelle comme je le fais moi) ne marchent plus forcément dans une macro qui les regroupe.
J’ai aussi supprimé un grand nombre de feuilles de manière aléatoire pour faciliter les tests.
Voilà, vous savez tout dans le détail. Je pense ne rien avoir oublié.
Merci à vous de votre aide.