Intégration de fichier et Traitement de données
Bonjourà tous,
honnêtement, là je me sens impuissante face à la demande de ma boss.
Pour gagner un peu de temps, je voudrais créér un outil qui me faciliterait le travaiL
En deux mots, juqu'à présent, après extraction de données d'un autre programme, j'en faisais de façon empirique et manuellement un traitement multiple dans excel qui me donnait un "fichier Excel reprennant les états et types de livraison de colis aux clients".
Je cheche une solution pour remplacer ces diverses procédures manuelles par un outil automatique.
Vous trouverez en premier lieu le ficheir d'exctraction brut. Puis le fichier Excel des données de sortie, à savoir ; ce que je souhaiterais automatiser.
Au final les fiches du fichier final devront contenir :
Feuille 1 : le fichier d'extraction source,
Feuille 2 : Les délais de livraison (ETAT LIVREE).
Feuille 3 : Les délais de livraison par transporteur(ETAT LIVREE)
Feuille 4 : Le détail des colis arrivé en anomalie et pour quelles raisons.
Les colonnes utiles au traitement votn être :
C - G - H - I - L & M.
D'avance merci pour le coup de main, d'autant plus que je sais à peu près le résultat voulu mais je n'arrive pas à trouver par quel bout commencer.
A bientôt, et d'avance, merci milles fois,
amcalement,
Tatia
Salut Tatiana et bienvenue sur le Forum,
Voici une première idée qu'il faudra modifier selon tes désirs.
Pour l'instant tu dois ouvrir conjointement le fichier "Base Tatiana" ci-joint ainsi que l'un de tes fichiers de données (par exemple celui que tu as fourni "SC01_20120606_94333") puis tu cliques sur le bouton "Report" du fichier "Base Tatiana".
Une fenêtre s'ouvre alors et tu double-cliques sur le nom du fichier désiré, par exemple "SC01_20120606_94333". Les données de ce fichier sont alors reportées sur la feuille "FICHIER EXTRACTION" d'un fichier entre-temps nouvellement créé et nommé "Nouveau fichier" qui sera automatiquement enregistré au même endroit que le fichier "Base Tatiana". Le fichier "Nouveau fichier" restera ouvert à l'écran alors que le fichier "Base Tatiana" sera refermé sans modification, prêt pour un prochain usage.
Je n'ai pas compris comment tu remplis la colonne H ainsi que la colonne P de la feuille "FICHIER EXTRACTION". Merci de me donner plus de précision à ce sujet.
On verra par la suite pour les autres feuilles à traiter, pour autant que cette première partie te convienne déjà.
A te relire.
Bonjour Yvouille,
Tout d'abord je tiens à te remercier pour ton implication et ton aide !!
Je n'y croyais pas en postant ce message sur le forum.
C'est pourquoi je n'ai quasiment pas décrit le fichier de données !
- A - Code client (qu'il serait bon à utiliser en nom de fichier si possible :s),
- B - Raison Sociale,
- C - Numéro de colis,
- D - Point de livraison,
- E - Code Postal,
- F - Ville,
- G - Date prévisionnel de livraison,
- H - Code transporteur,
- I - Statut de livraison,
- J - Libellé livraison
- K - Libellé livraison transporteur,
- L - Anomalie,
- M - Date effective de livraison,
- N - Différence entre la date effective de livraison et la date prévisionnelle,
- O - Reprise du staut "LIV" en 1 (inutile je te l'accorde) &
- P - Différence entre la date effective de livraison et la date prévisionnelle en otant les week end manuellement (peu fonctionnel...)
Pour le coup, le fichier d'extraction fournit n'est pas un cas d'école puisqu'il ne rescense qu'un seul et unique transporteur TNT..
Sinon dans les fichiers d'extraction futur, il y'aura plusieurs transporteurs :
- 1, 8, 13, 18, TNT.
Merci encore pour ton aide !
Re-bonjour,
Je ne comprends pas trop bien tes explications.
Tout d’abord tu ne me dis pas si tu as testé mon fichier et ce qui te convient déjà ou non. Il me semble que la macro que je te propose réalise déjà la majeure partie de ce que tu désires, alors pourquoi listes-tu à nouveau ce qu’il devrait y avoir de A à P ??????
Merci de me dire alors ce qui convient déjà dans ce que je te propose, en précisant à chaque fois de quel fichier, de quelle feuille, de quelle cellule tu parles.
Sur la base de tes explications, j’ai quand même modifié mon code de manière à ce que la colonne J du fichier au format .csv soit reportée dans la colonne H du fichier nouvellement créé.
Autrement j’ai compris que tu désirais que le «Code client» soit repris dans le nom du fichier nouvellement créé. J’ai alors également compris qu’il n’y avait qu’un client par fichier .csv traité et j’ai tenté de répondre à ton attente (voir le fichier ci-joint). Le nouveau fichier créé comprend la référence du client (référence prise dans la cellule A2 de la feuille «FICHIER EXTRACTION»).
A te relire.
Bonjour,
Le fichier transmis en premier lieu répondais effectivement à mes attentes et le deuxième encore plus.
J'ai fait un listing des données car dans la précipitation, je me suis rendu compte que tu n'avais que très peux de précision sur le fichier source.
Ce que je t'expliquai dans les dernières lignes, c'est que la colonne H de la fiche "fichier d'extraction" .csv représente les transporteurs et n'est qu'un copié collé de la colonne J du fichier source.
Le soucis c'est que le fichier source que je t'ai fournit n'est pas adequat puisque que le client en question ne passe que par un seul et unique transporteur, c'est pourquoi je te retransmet pour compréhension, le même fichier source mais avec plusieurs transporteurs en colonnes H.
Désolé pour ce manque de précision mais je ne suis ici pas tout à fait dans "mon monde"
Sinon je réitère, la MACRO fournit fait déjà beaucoup de chose à savoir la copie des données sur un fichier nouvellement créer. Je vais par la suite mettre en place l'automatisation des 3 feuilles suivantes. Puis je passer par des formules directement sur les fiches, ou serais ce plus pratique/sécurisé de mettre en place des MACRO (calcul des sommes....) ?
Merci pour ton implication et n'hésite pas à me donner tes points sombres, je sais que je manque de clarté.
Merci encore
Tatia
Si cette première partie fonctionne, tant mieux.
Je pense que l'on pourrait encore automatiser de très nombreuses parties - à moins que tu veuilles le faire toi-même, comme tu l'indiques dans ton texte - mais je ne comprends pas trop bien ton fichier exemple "Stat_livr".
Par exemple, comment obtiens-tu les chiffres des cellules B4:B8 de la feuille "DELAI DE LIVRAISON" et pourquoi est-il indiqué "Juin" dans la cellule B3 ?
A te relire (éventuellement).
Amicalement.
Bonjour,
En fait, le fichier "Stat_Livr" reprend et traite les données de la feuille "FICHIER D EXTRACTION" de manière à rendre lisible celle ci.
En résumé, la feuille "DELAI DE LIVRAISON" est construite de cette manière :
Les cellules B4:B8 représente la somme des lignes du "FICHIER D EXTRACTION" à l'état "LIV" en colonne "I" de cette même feuille.
Ensuite, la différence entre les dates en cellule G et M de la fiche "FICHIER D EXTRACTION", permet de classer dans la feuille "DELAI DE LIVRAISON" ces totaux.
Enfin, la cellule B3 annonce Juin car la feuille "FICHIER D EXTRACTION" peux contenir les statistiques de plusieurs mois, qu'il faut séparer (une colonne par mois).
J'ai tenter d'automatiser tous cela sans succes (manque cruellement de connaissance en VB).
Dans l'attente de ton retour.
Merci encore
Tatiana
Salut Tatiana,
J’ai complété le fichier de base que je t’ai proposé afin d’avoir les calculs désirés (si je t’ai bien comprise) sur les feuilles DELAI DE LIVRAISON (cellules B4:B8) et DELAI DE LIVRAISON PAR TRANSPOR (cellules B4:F7) une fois que les données ont été reportées et que le nouveau fichier a été créé. Les colonnes N, O et P de la feuille FICHIER EXTRACTION deviennent donc inutiles et ont été effacées.
Je t’ai indiqué que le fichier au format .csv doit être ouvert avant de lancer la macro. Est-ce que ce serait mieux qu’il reste fermé et que tu l’ouvres par l’intermédiaire de la macro ? C'est-à-dire qu’au lieu qu’une fenêtre s’ouvre et que tu puisses choisir parmi tous les fichiers ouverts à l'écran, tu irais ouvrir le fichier concerné dans l’Explorer à ce moment-là ? A toi de me dire. Ma proposition aurait spécialement de sens au cas où il n’y a pas de raison que le fichier .csv soit déjà ouvert à ce moment-là.
Tu m’indiques que sur la feuille DELAI DE LIVRAISON, tu devrais avoir une colonne par mois. Combien de mois peut-il y avoir en même temps au maximum ? Au cas où plusieurs mois sont concernés, ne gardes-tu qu’une seule colonne % ? Ne gardes-tu qu’un seul graphique ? Une ligne quelconque concerne quel mois ; celui pendant lequel le document a été envoyé ou celui durant lequel il a été reçu ??? Cette séparation par mois concerne également la feuille DELAI DE LIVRAISON PAR TRANSPOR ?
Afin de répondre à toutes ces questions, peux-tu me fournir une ou des feuilles exemple avec le nombre maximum de mois ? Mais je t’informe déjà que ça risque d’être compliqué d’automatiser tout ça
A te relire.
Hello !
Alors, pour repondre à toutes tes questions,
en effet, il serait mieux que le fichier "SC01.." reste fermé, et que l'utilisateur saisisse directement à partir de l'explorer le fichier à importer.
Ensuite, je n'ai pas de maximum de mois ou d'année définie (ce qui risque de posé problème je suppose). L'extraction pourra porter sur 1 mois comme sur 2 ans.
Enfin, Les feuilles "DELAI DE LIVRAISON" et "DELAI DE LIVRAISON TRANSPORTEUR" doivent être conceptionnée de la même manière :
- une colonne 'B' par mois pour DELAI DE LIVRAISON & les colonnes "B,C,D,E,F,G" par mois pour DELAI DE LIVRAISON TRANSPORTEUR,
- une unique colonne recap total,
- une unique colonne de pourcentage &
- un graph "camenbert" reprennant les données pour toutes l'extraction.
Ci joint, un fichier "SC01..." sur 6 mois, je n'ai pas trouvé mieux.
Merci beaucoup pour ton aide
Tatiana
Salut Tatiana,
Ta demande n’était pas claire au début et je m’en suis chargé car elle semblait ne pas représenter plus de travail que tant. Mais maintenant tu rajoutes des conditions complémentaires qui me semblent assez compliquées (plusieurs colonnes par mois sur une période entre 1 et 24 mois) et, en pensant au fichier absolument illisible que ça doit donner, je perds courage et motivation : je vais donc malheureusement jeter l’éponge.
Par contre je te montre quand même que j’ai tenté d’ouvrir le fichier .csv par l’intermédiaire de l’explorer (voir le fichier Base_Tatiana_V4 ci-joint) mais je suis tombé sur un os et les fichiers .csv ainsi ouverts n’ont plus la séparation des données par colonne, mais les données sont toutes regroupées dans la colonne A et dont inutilisables pour la suite de mon code. La aussi, je ne cherche pas plus loin afin de remédier à ce problème.
Alors la dernière chose que j’ai faite pour toi est de modifier encore le fichier Base_Tatiana_V3 qui comporte une erreur. Je t’ai indiqué que j’avais supprimé les colonnes N, O et P, mais je n’ai supprimé que les titres de ces colonnes. Mon code par contre continuait de compléter ces colonnes avec les anciens calculs que tu effectuais ; ce que j’ai supprimé dans le nouveau fichier Base_Tatiana_V5. J’ai également modifié la largeur des colonnes B à F de la feuille DELAI DE LIVRAISON PAR TRANSPOR afin que les messages d’erreur des cellules B9:F10 soient visibles dans tous les cas (après avoir fait des essais avec ton nouveau fichier SC01_20120725_97244, toutes les colonnes ne sont pas remplies et ces cellules comportaient des indications illisibles).
Je pense que tu ne recevras plus d’aide d’autres membres sur ce fil. Je te conseille donc de l’indiquer comme «Résolu» (clique sur le petit V vert dans l’un de tes messages) et recommence un nouveau fil (éventuellement en présentant déjà mon premier travail), mais surtout en indiquant immédiatement toutes tes exigences.
Encore une fois désolé de te laisser tomber
Cordialement.