Bonjour à TOUS !
(Excusez ce roman, mais une lecture lente à partir du 4e paragraphe est suggérée).
Je m'appelle Greg. Je viens juste de m'inscrire sur ce site (aujourd'hui même).
J'ai pris mes nouvelles fonctions au sein de mon entreprise mi-février, et parmi les tâches que j'ai à accomplir, j'ai un tableau statistiques à créer sous Excel.
Les statistiques ne sont pas un problème pour moi, et la manipulation d'Excel est plutôt aisée pour moi.
Mais jusqu'ici, je n'ai jamais eu plus d'une centaine d'entrées à analyser. Là, pour l'année 2021, j'ai un fichier qui en compte 3091 (si, si, trois mille quatre-vingt-onze !).
Et histoire de rendre les choses bien drôles, ces 3091 entrées sont en (584) petits groupes avec un nombre d'entrées variant (j'irai même jusqu'à dire aléatoire).
C'est pourquoi je me suis tourné vers une macro, et donc le codage VBA... auquel je ne connaissais absolument rien au 1er mars 2022.
Et même si en 6 semaines, j'ai appris pas mal de trucs... là, j'en arrive à un point où je ne peux plus avancer tout seul.
Voici ma problématique :
Mon service gère des travaux (nommés ''OT'') effectués par 7 ateliers différents, ayant chacun un nombre différent d'agents.
Les OT sont sollicités par les différents "services" qui constituent l'entreprise, au nombre de 28. Ce nombre n'est pas appelé à changer.
Chaque OT est saisi une première fois dans un tableau Excel, qui conserve des informations spécifiques (lieu, adresse, type d'OT, type d'événement, atelier concerné, matériel concerné, etc...). Chaque OT se voit attribué un 1er n° d'identification à 5 caractères (2 lettres + 3 chiffres).
Puis une seconde saisie est réalisée dans un autre logiciel, spécifique à notre entreprise, qui reprends les mêmes informations, mais pour certaines formulées différemment, et à partir duquel on peut réaliser une requête dans un tableau Excel. Chaque OT se voit attribué un 2e n° d'identification (9 chiffres) qui est la RÉFÉRENCE de base pour mon tableau.
Cette requête constitue ma PREMIERE source de données à analyser, et le fichier Excel de la 1er saisie en sera ma seconde source.
J'ai créé un tableau Excel comportant 19 feuilles, nommées respectivement dans l'ordre de A01 à A19.
Définition des feuilles :
(je commence par la A02, pour une raison que j'explique tout de suite : c'est la feuille qui contient les colonnes qui m'intéressent de la REQUÊTE. La feuille A01 est une copie de la 1e colonne de la requête dont j'ai supprimé les doublons pour avoir ma base "mémoire" de travail pour "reconnaître" chaque OT).
A02 : REQUETE-source 1
A01 : Base "mémoire" des N°OT
A03 : Fichier Excel de 1er saisi - source 2 (qui sera utilisée BEAUCOUP plus tard,... une fois que j'aurais géré la 1er source)
A04 : tableau récapitulatif de la composition des 7 ateliers, avec des noms (tronqués, ici, pour des raisons de confidentialité professionnelle que vous comprendrez certainement), leur catégorie professionnelle. La version non-tronquée de ce tableau est classée par ordre alphabétique par le nom de famille AU SEIN de chaque atelier. il doit encore être retravaillé/modifié.
A05 : un tableau "temps" pour réaliser des conversions de données de temps sous un certains format en un autre format. (qui sera utilisée BEAUCOUP plus tard...)
A06 : un tableau qui reprends la liste de TOUS les "services" demandeur d'OT. (noms tronqués, là encore, pour des raisons de confidentialité professionnelle).
A07 : un tableau qui reprends la liste des types d'OT : 8 en tout.
A08 : un tableau qui reprends la liste des Ateliers.
Les tableaux des feuilles A04, A05, A06, A07 et A08 seront retravaillés un peu plus tard, pour la concordance des positions d'atelier et autres... c'est pas urgent pour le moment.
et ensuite, c'est là que ça devient intéressant mais aussi compliqué :
de A09 à A15 : STATISTIQUES 1 : les "BLOCS ATELIER" avec les tableaux qui vont "recevoir" les données à analyser à partir des 2 sources, et la feuille A16 "BLOC TOTAL", qui fait les calculs automatiques.
A17 : le "BLOC STATISTIQUES 2" par nombre d'atelier concerné. (certains OT ne concernent qu'une seul atelier, d'autres OT concernent "plus" que 1 atelier).
A18 : le "BLOC STATISTIQUES 3" par service demandeur.
A19 : qui ne sert pas à grand-chose pour le moment, mais qui pourrait être un support pour la 1er macro que j'ai à créer.
Définition de ma 1e action à faire, compte tenu de la quantité d'entrées à analyser, et surtout du fait que ces entrées soient en groupe à nbre aléatoire d'entrées. Chaque groupe représente UN OT. Vous trouverez le fichier Excel en p.j. AVEC la macro. Le 1er groupe se compose de 6 entrées, c'est à dire 6 lignes avec le même N°OT à 9 chiffres, le deuxième groupe compte 7 entrées, le troisième 11 entrées, et ainsi de suite, avec à chaque fois un nombre plus grand OU plus petit d'entrées.
AUCUNE entrée ne DOIT être omise. Elles DOIVENT TOUTES être analysées.
J'ai donc créé une macro qui reprend, dans le même ordre, les N°OT de la requête (A02), en les comparant avec la liste sans doublons (A01), afin de les "copier-coller" indépendamment dans chaque "bloc atelier", dans le "bloc Total", et les "blocs statistiques 2 et 3". Ma macro fonctionne ! Mais elle ne fait qu'une partie de ce que je voudrais qu'elle fasse.
C'est là que je vous sollicite : je ne sais pas trop si je dois mettre une 2e action dans CETTE macro ou faire une 2e macro pour créer la ligne "sous-total" pour chaque OT.
Mon besoin :
pour le 1er OT
avoir les 6 lignes avec le même n°OT (ici 401508385)
Directement suivi d'une ligne nommée "S/S TOTAL"
puis, les 7 lignes pour le 2e OT (401567468)
Directement suivi d'une ligne nommée "S/S TOTAL"
et ainsi de suite, jusqu'à avoir TOUS les groupes d'OT séparés par cette ligne "S/S TOTAL".
Mes questions :
1) Est-il possible d'ajouter dans ma 1ere macro une 2e action pour créer cette ligne "S/S TOTAL" dans CHAQUE BLOC ? (Un screen shot du résultat recherché en p.j.)
(c'est-à-dire : "POUF" 6 entrées à n°OT, "PAF" Ligne "S/S TOTAL", "POUF" 7 entrées à n°OT, "PAF" Ligne "S/S TOTAL", "POUF" 11 entrées à n°OT, "PAF" Ligne "S/S TOTAL", etc...)
OU
2) Si NON, est-il possible de créer une 2e macro qui insère une ligne vide entre la 6e cellule qui contient le n°OT 401508385 et la 1e cellule qui contient le n°OT 401567468, et ainsi de suite jusqu'à la fin des 3091 entrées, MAIS là encore dans CHAQUE BLOC. Et qui fait "copier-coller" de la fameuse ligne "S/S TOTAL" (dans son entier, du coup, tant qu'à faire) sur cette ligne vide.
Et j'ai beau avoir parcouru plus de 70 pages du Forum de ce site, je n'ai rien trouvé qui m'aide réellement à ça.
Vous trouverez dans le VBE 3 modules. Il faut exécuter le 1er : "Sub AA_01". Cela dure environ 10 à 12 secondes avant que le résultat s'affiche.
J'ai mis un ' (apostrophe) devant les lignes qui concerne les feuilles A10 à A18, car pour les test, la A09 suffit. Mais je confirme que la macro fonctionne sur tous les blocs.
Et si vous voulez vous amuser à retirer l'apostrophe de chaque ligne, faites-vous plaisir ^^ !
Le module 2 et 3 (AA_02 et AA_03) sont des idées/tentatives que je n'arrive pas à faire aboutir du fait de ma connaissance BEAUCOUP TROP MÉDIOCRE du VBA.
Vous trouverez un fichier pdf avec une capture d'écran donnant aperçu du résultat recherché.
D'autres questions viendront éventuellement plus tard, dans d'autres posts, pour des détails du même genre pour ce même tableau . Mais tant que je n'ai réussi à créer ces lignes "S/S TOTAL", je suis bloqué, car toutes les autres macros qui suivront seront fondées sur cette fameuse ligne.
Je précise que je n'ai pas d'échéance dans le temps pour réaliser mon tableau.
Je remercie vivement tous ceux qui auront le courage de lire ça jusqu'au bout, et plus encore ceux qui pourront m'apporter ne serait-ce qu'une piste pour régler ma problématique. Je précise que mon entreprise fonctionne avec Excel 2010.
Un grand merci encore.
(Excusez ce roman, mais une lecture lente à partir du 4e paragraphe est suggérée).
Je m'appelle Greg. Je viens juste de m'inscrire sur ce site (aujourd'hui même).
J'ai pris mes nouvelles fonctions au sein de mon entreprise mi-février, et parmi les tâches que j'ai à accomplir, j'ai un tableau statistiques à créer sous Excel.
Les statistiques ne sont pas un problème pour moi, et la manipulation d'Excel est plutôt aisée pour moi.
Mais jusqu'ici, je n'ai jamais eu plus d'une centaine d'entrées à analyser. Là, pour l'année 2021, j'ai un fichier qui en compte 3091 (si, si, trois mille quatre-vingt-onze !).
Et histoire de rendre les choses bien drôles, ces 3091 entrées sont en (584) petits groupes avec un nombre d'entrées variant (j'irai même jusqu'à dire aléatoire).
C'est pourquoi je me suis tourné vers une macro, et donc le codage VBA... auquel je ne connaissais absolument rien au 1er mars 2022.
Et même si en 6 semaines, j'ai appris pas mal de trucs... là, j'en arrive à un point où je ne peux plus avancer tout seul.
Voici ma problématique :
Mon service gère des travaux (nommés ''OT'') effectués par 7 ateliers différents, ayant chacun un nombre différent d'agents.
Les OT sont sollicités par les différents "services" qui constituent l'entreprise, au nombre de 28. Ce nombre n'est pas appelé à changer.
Chaque OT est saisi une première fois dans un tableau Excel, qui conserve des informations spécifiques (lieu, adresse, type d'OT, type d'événement, atelier concerné, matériel concerné, etc...). Chaque OT se voit attribué un 1er n° d'identification à 5 caractères (2 lettres + 3 chiffres).
Puis une seconde saisie est réalisée dans un autre logiciel, spécifique à notre entreprise, qui reprends les mêmes informations, mais pour certaines formulées différemment, et à partir duquel on peut réaliser une requête dans un tableau Excel. Chaque OT se voit attribué un 2e n° d'identification (9 chiffres) qui est la RÉFÉRENCE de base pour mon tableau.
Cette requête constitue ma PREMIERE source de données à analyser, et le fichier Excel de la 1er saisie en sera ma seconde source.
J'ai créé un tableau Excel comportant 19 feuilles, nommées respectivement dans l'ordre de A01 à A19.
Définition des feuilles :
(je commence par la A02, pour une raison que j'explique tout de suite : c'est la feuille qui contient les colonnes qui m'intéressent de la REQUÊTE. La feuille A01 est une copie de la 1e colonne de la requête dont j'ai supprimé les doublons pour avoir ma base "mémoire" de travail pour "reconnaître" chaque OT).
A02 : REQUETE-source 1
A01 : Base "mémoire" des N°OT
A03 : Fichier Excel de 1er saisi - source 2 (qui sera utilisée BEAUCOUP plus tard,... une fois que j'aurais géré la 1er source)
A04 : tableau récapitulatif de la composition des 7 ateliers, avec des noms (tronqués, ici, pour des raisons de confidentialité professionnelle que vous comprendrez certainement), leur catégorie professionnelle. La version non-tronquée de ce tableau est classée par ordre alphabétique par le nom de famille AU SEIN de chaque atelier. il doit encore être retravaillé/modifié.
A05 : un tableau "temps" pour réaliser des conversions de données de temps sous un certains format en un autre format. (qui sera utilisée BEAUCOUP plus tard...)
A06 : un tableau qui reprends la liste de TOUS les "services" demandeur d'OT. (noms tronqués, là encore, pour des raisons de confidentialité professionnelle).
A07 : un tableau qui reprends la liste des types d'OT : 8 en tout.
A08 : un tableau qui reprends la liste des Ateliers.
Les tableaux des feuilles A04, A05, A06, A07 et A08 seront retravaillés un peu plus tard, pour la concordance des positions d'atelier et autres... c'est pas urgent pour le moment.
et ensuite, c'est là que ça devient intéressant mais aussi compliqué :
de A09 à A15 : STATISTIQUES 1 : les "BLOCS ATELIER" avec les tableaux qui vont "recevoir" les données à analyser à partir des 2 sources, et la feuille A16 "BLOC TOTAL", qui fait les calculs automatiques.
A17 : le "BLOC STATISTIQUES 2" par nombre d'atelier concerné. (certains OT ne concernent qu'une seul atelier, d'autres OT concernent "plus" que 1 atelier).
A18 : le "BLOC STATISTIQUES 3" par service demandeur.
A19 : qui ne sert pas à grand-chose pour le moment, mais qui pourrait être un support pour la 1er macro que j'ai à créer.
Définition de ma 1e action à faire, compte tenu de la quantité d'entrées à analyser, et surtout du fait que ces entrées soient en groupe à nbre aléatoire d'entrées. Chaque groupe représente UN OT. Vous trouverez le fichier Excel en p.j. AVEC la macro. Le 1er groupe se compose de 6 entrées, c'est à dire 6 lignes avec le même N°OT à 9 chiffres, le deuxième groupe compte 7 entrées, le troisième 11 entrées, et ainsi de suite, avec à chaque fois un nombre plus grand OU plus petit d'entrées.
AUCUNE entrée ne DOIT être omise. Elles DOIVENT TOUTES être analysées.
J'ai donc créé une macro qui reprend, dans le même ordre, les N°OT de la requête (A02), en les comparant avec la liste sans doublons (A01), afin de les "copier-coller" indépendamment dans chaque "bloc atelier", dans le "bloc Total", et les "blocs statistiques 2 et 3". Ma macro fonctionne ! Mais elle ne fait qu'une partie de ce que je voudrais qu'elle fasse.
C'est là que je vous sollicite : je ne sais pas trop si je dois mettre une 2e action dans CETTE macro ou faire une 2e macro pour créer la ligne "sous-total" pour chaque OT.
Mon besoin :
pour le 1er OT
avoir les 6 lignes avec le même n°OT (ici 401508385)
Directement suivi d'une ligne nommée "S/S TOTAL"
puis, les 7 lignes pour le 2e OT (401567468)
Directement suivi d'une ligne nommée "S/S TOTAL"
et ainsi de suite, jusqu'à avoir TOUS les groupes d'OT séparés par cette ligne "S/S TOTAL".
Mes questions :
1) Est-il possible d'ajouter dans ma 1ere macro une 2e action pour créer cette ligne "S/S TOTAL" dans CHAQUE BLOC ? (Un screen shot du résultat recherché en p.j.)
(c'est-à-dire : "POUF" 6 entrées à n°OT, "PAF" Ligne "S/S TOTAL", "POUF" 7 entrées à n°OT, "PAF" Ligne "S/S TOTAL", "POUF" 11 entrées à n°OT, "PAF" Ligne "S/S TOTAL", etc...)
OU
2) Si NON, est-il possible de créer une 2e macro qui insère une ligne vide entre la 6e cellule qui contient le n°OT 401508385 et la 1e cellule qui contient le n°OT 401567468, et ainsi de suite jusqu'à la fin des 3091 entrées, MAIS là encore dans CHAQUE BLOC. Et qui fait "copier-coller" de la fameuse ligne "S/S TOTAL" (dans son entier, du coup, tant qu'à faire) sur cette ligne vide.
Et j'ai beau avoir parcouru plus de 70 pages du Forum de ce site, je n'ai rien trouvé qui m'aide réellement à ça.
Vous trouverez dans le VBE 3 modules. Il faut exécuter le 1er : "Sub AA_01". Cela dure environ 10 à 12 secondes avant que le résultat s'affiche.
J'ai mis un ' (apostrophe) devant les lignes qui concerne les feuilles A10 à A18, car pour les test, la A09 suffit. Mais je confirme que la macro fonctionne sur tous les blocs.
Et si vous voulez vous amuser à retirer l'apostrophe de chaque ligne, faites-vous plaisir ^^ !
Le module 2 et 3 (AA_02 et AA_03) sont des idées/tentatives que je n'arrive pas à faire aboutir du fait de ma connaissance BEAUCOUP TROP MÉDIOCRE du VBA.
Vous trouverez un fichier pdf avec une capture d'écran donnant aperçu du résultat recherché.
D'autres questions viendront éventuellement plus tard, dans d'autres posts, pour des détails du même genre pour ce même tableau . Mais tant que je n'ai réussi à créer ces lignes "S/S TOTAL", je suis bloqué, car toutes les autres macros qui suivront seront fondées sur cette fameuse ligne.
Je précise que je n'ai pas d'échéance dans le temps pour réaliser mon tableau.
Je remercie vivement tous ceux qui auront le courage de lire ça jusqu'au bout, et plus encore ceux qui pourront m'apporter ne serait-ce qu'une piste pour régler ma problématique. Je précise que mon entreprise fonctionne avec Excel 2010.
Un grand merci encore.