Bonjour,
Je suis nouveau et totalement ignare en VBA.
J'ai fait des recherches sur internet et sur le forum. Cela m'a permis de progresser dans la compréhension (en particulier deux discussions de février et juin 2011), mais je n'ai pas trouvé la réponse à mes problèmes.
J'ai des sondes qui enregistrent des pressions et températures toutes les 3 minutes, et que je relève environ une fois par an.
L'interface me fournit des fichiers au format csv avec des virgules pour séparateurs. Il y a 13 colonnes et environ 175000 lignes.
J'ai mis au point une procédure pour aboutir à une feuille excel de trois colonnes : date, pression, température.
Mais je fais le traitement à la main et c'est fastidieux (18 opérations par feuille).
Je crée un dossier par relevé de sonde, ce dossier contient d'abord le fichier csv, puis j'y rajoute le fichier excel avec les données traitées.
J'ai utilisé l'enregistreur de macros pour créer une macro en suivant ma procédure. Ca a bien marché, j'ai testé la macro en ouvrant une deuxième feuille de calcul dans le classeur où j'avais créé la macro. Mais au moment d'enregistrer il m'a dit qu'il existait déjà un fichier du même nom au même endroit. Normal, c'était celui créé en créant la macro.
Ce que je voudrais pouvoir faire :
Créer un nouveau classeur excel dans le même dossier que le fichier csv visé, lancer la macro et à la fin avoir mes données traitées et enregistrées dans un fichier excel qui aurait le même nom que le fichier csv sauf le suffixe.
Lors de mon essai, j'ai enregistré la macro dans "ce classeur".
Faut-il que je l'enregistre dans "classeur de macros personnelles"?
Comment faire pour avoir une macro qui s'adapte à l'emplacement où on la fait tourner?
Plus ambitieux :
Serait-il possible de créer une macro qui ferait un traitement par lot, c'est à dire qui prendrait tous les fichiers csv dans les sous-dossiers d'un dossier maître, et qui ferait le traitement pour chacun en enregistrant le résultat sous forme d'un fichier excel dans chaque sous-dossier?
J'espère n'avoir pas été trop confus, merci d'avance pour vos réponses
Partager