Fichier de synthétisation des données

Bonjour, je souhaite réaliser un fichier automatisé pour vérifier des torseurs.

Pour ce faire, j'aimerai qu'il aille lire les fichiers .csv que je souhaite et récupérer les valeurs de chaque "Noeud".

image

Ensuite je voudrai qu'il crée dans le fichier de synthèse une feuille par Noeud, dans lequel il affiche les données relatives à chacuns d'entre-eux, ce qui me permettra de comparer les résultats entre-eux. Voici ci-dessous un aperçu de ce que je souhaiterai :

image

Comment faire pour automatiser cela, car aujourd'hui je le fais à la main ?

Voici un exemple d'un fichier .csv dans lequel je souhaite tirer les informations :

Voici un fichier dans lequel je souhaite regrouper tous les noeuds :

En vous remerciant par avance de votre aide !

Bonjour

Le plus simple est de passer par PowerQuery mais a priori entre l'exemple xls et le csv fourni cela ne matche pas.

Et si je comprends bien il faut plusieurs csv. 2 ou plus ?

Bonjour,

Voici une proposition pour l'import des CSV dans une feuille Excel (PI pour les connaisseurs Attention les fins de lignes dans le CSV est chr(10) uniquement).

J'ai fait simple pour le moment mais tu pourras changer ensuite. Tu dois créer un dossier "Relevés" dans le même répertoire que celui où tu auras enregistré le fichier macro puis tu enregistres tes CSV dans ce répertoire "Relevés" (je n'ai pas mis de sécurité de contrôle de dossier, ... pour le moment). Ensuite tu cliques sur le bouton de la feuille "recup_csv" et les CSV seront importés dans cette feuille (les données de l'ancien import seront supprimées avant le nouvel import). Après on peut envisager un bouton "Parcourir" via lequel tu pourras choisir un dossier quelconque.

image

Pour la seconde partie va falloir plus d'infos.

Exemple :

- tu montres une comparaison de nœuds où le même nœud apparait 2 fois mais comment veux-tu présenter si un nœud apparait plus de 2 fois ?

- comment sait on quel est le nœud à placer en 1ère position dans chaque feuille ?

Teste et dis nous.

Bonjour,

Merci à vous pour vos premier retour.

J'ai essayé ton fichier Alex mais j'ai un message d'erreur qui apparaît malgré le fait que j'ai crée comme indiqué un dossier "Relevés" dans le même répertoire que le fichier.

image

Pour la suite je veux que pour chaque numéro de noeud le fichier crée une nouvelle page nommée "NXXX" dans laquelle il indique les valeurs qui lui sont associées qui ont été importées par l'import de fichier .csv.

Bizarre.

Bon point d'avoir mis l'écran avec la ligne en jaune pour montrer où cela ne passe pas chez toi. Quel est le message d'erreur ?

De mon côté je te confirme que le fichier fonctionne sur mes 3 PC (Excel 365 où j'ai écrit le code et Excel 2021 les 3 64b). Voici une vidéo.

Es-tu sûr d'avoir bien créé un répertoire "Relevés" (avec l'accent, au pluriel et sans espace devant ni derrière) dans le même répertoire que celui du fichier macro ?

https://drive.google.com/file/d/1JEEsOpve2I1j0yvElJBDRkcaFfDQamuq/view?usp=sharing

Bonjour,

Le problème provenait du fait que j'étais sur mon espace de stockage OneDrive. En le mettant sur le bureau tout fonctionne correctement.

Pour la suite je souhaite que pour chaque numéro de noeud le fichier crée une nouvelle page nommée "NXXX" dans laquelle il indique les valeurs qui lui sont associées qui ont été importées par l'import de fichier .csv. Il peut y avoir plusieurs fois le même Noeud provenant des différents fichiers mais il faut que le fichier ne crée qu'une seule feuille.

Dans la feuille du noeud j'aimerai que les infos soient listées en à partir de la ligne A9, comme indiqué dans les feuilles du fichier.

C'est tout à fait possible.

Dans quel ordre afficher les éventuelles répétitions de données pour un même nœud dans chacune de vos feuilles ?

Par exemple pour le noeud 100, voici ce que je souhaiterai dans la feuille associée :

image

En soit, c'est un simple copier/coller des valeurs obtenues de la feuille "recup_csv".

Je veux également qu"il m'affiche le minnimum et le maximum pour chaque composante comme indiqué, ce qui me permet de les comparer à des valeurs étalons qui indique soit "VRAI" ou "FAUX".

Voici une proposition qui importe tes csv et créé tes feuilles par nœud.

Je n'ai pas fait la mise en forme. A finaliser donc si cela te convient.

Comme d'hab tout en local rien sur ton drive.

Tu regroupes tes csv dans le répertoire "Relevés", tu complètes ton étalon et tu cliques sur le bouton de traitement.

Je n'ai pas très bien compris si ton étalon est toujours le même ou non par nœud pour chacun de tes imports. Tu as donc une feuille "etalon" et les données que tu y mettras seront reportées dans les feuilles de nœuds. Si les valeurs sont toujours identiques pour chaque nœud alors saisis les données dans le tableau avant import sinon laisse le tableau vide (mais laisse les titres pour qu'eux soient repris) et complète tes feuilles de nœuds au cas par cas.

Teste et dis nous.

C'est presque parfait, sauf que j'aimerai que lorsque que je clique une nouvelle fois sur le bouton "import csv", il supprime toutes les feuilles des noeuds existantes, qu'il relise les fichiers .csv, ce qui me permettrais d'en ajouter ou supprimer.

Les valeurs étalons sont différentes pour chaque noeud, donc je les renseignerai manuellement.

Dernier détail, est-ce possible pour la mise en forme les valeurs "FAUX" avec le style Insatisfaisant et les valeurs "VRAI" avec le style Satisfaisant :

image

Tu peux déjà recliquer pour refaire l'import. Le code supprime et recrée automatiquement les feuilles des noms de noueds présents dans les fichiers importés (uniquement celles-ci).

Je peux lui dire de supprimer toutes les autres feuilles que "recup_csv" si tu veux.

Pour le format, comment sait on si le cas est normal, insatisfaisant, ... ?

J'ai essayé de refaire l'import en changeant les fichiers .csv mais le code ne m'affiche aucune lignes dans la feuille ?

J'aimerai qu'il supprime les autres feuilles quand le fais la mise à jour, et qu'il ait rechercher les nouveaux fichiers .csv et ensuite refaire l'affichage des nouvelles feuilles avec les npouveaux noeuds.

image

Pour la mise en forme, je veux juste que le code mette la mise en forme Satisfaisant lorsque qu'il y a "VRAI" et Insatisfaisant lorsque qu'il y a "FAUX" :

image

Avec ce fichier en particulier, l'import de données ne fonctionne pas ?

Est-ce également possible d'ajouter sur chaque feuille créé les informations que j'ai surlignées en jaune ?

image

Normal qu'avec le code que j'ai fait ton dernier fichier ne s'importe pas.

Les 2 csv que tu donnes n'ont pas les mêmes caractères de fin de ligne. C'est du technique selon codage et/ou OS émetteur (Windows, Linux).

En résumé selon la source qui a créé le fichier le système insère 1 ou 2 caractères non visible(s) pour l'utilisateur mais reconnaissable(s) par le système informatique qui lit le fichier. C'est ce que je précisais dans ma première réponse

PI pour les connaisseurs Attention les fins de lignes dans le CSV est chr(10) uniquement

Dans le dernier fichier que tu donnes les fins de lignes ne sont pas repérées par 1 seul caractère (chr(10)) mais par 2 (chr(13) puis chr(10)). Peut-être n'a-t-il pas été extrait de la même façon ou bien a-t-il été retravaillé ou re-enregistré dans Windows...

Regarde l'image suivante. Tu vois bien la différence. Chr(10) est représenté par LF et chr(13) par CR.

image

En code VBA Excel ces 2 cas ne se traitent pas pareil. Mon code actuel est logiquement basé sur le premier csv fourni et donc prend en compte chr(10) uniquement comme caractère de fin de ligne.

Donc ma question : comment sont tes fichiers csv à importer ? Comme le premier ou comme le second ?

Ces fichiers proviennent d'un logiciel de calcul.

Pour avoir un code le plus permissif possible, j'ai effectué des recherches et j'ai adapté le code pour qu'il fasse la conversion automatique au format à un seul caractère et tout fonctionne correctement :

Peux-tu m'aider pour le reste de mes demandes ? (La mise à jour des feuilles lorsqu'on appuye sur le bouton import csv, et la mise en forme)

Voici avec mon code adapté pour importer tes 2 types de csv et avec la mise en forme.

Décimales à 3, séparateur de milliers, couleur VRAI FAUX, ...

Attention ; le code commence par supprimer TOUTES les feuilles qui ne sont pas strictement nécessaires à son exécution. Autrement dit il supprime les feuilles des nœuds qu'il aurait créé lors d'une précédente exécution du code mais aussi toutes les feuilles que tu pourrais créées toi même.

Teste et dis nous.

Je n'ai pas encore regardé ton fichier transmis par contre. Dis nous si cela te convient ou si je dois voir avec ton fichier macro.

Bien vu ton adaptation de mon code pour lire les 2 types de fichier. C'est plus simple que ce que j'ai fait.

As-tu pu regarder si ma dernière version te convient ?

Des nouvelles ?

OK je vois....

Rechercher des sujets similaires à "fichier synthetisation donnees"