Bonjour à tous !
Je dois être le énième clampin qui pose des questions sur l’exploitation des scripts en VBA pour des fichiers CSV ! Je me suis mis au script VBA sous Exel il y a exactement 2 jours (avec YT) dans le cadre de mon alternance. Mes bases sont donc très lacunaires !
Ce que j’aimerais faire, c’est rajouter chaque jour une ligne dans un fichier CSV, sans pour autant modifier ou supprimer le contenu du fichier CSV existant. J’explique :
- Tous les jours vers 17h, le service de production renseigne les codes défauts de la machine pour la journée de production. Une fois ces codes renseignés (les codes sont propres à l'entreprise) la personne appuierait sur un bouton « valider » (par exemple) et une ligne serait rajoutée dans un fichier CSV selon la forme suivante :
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- Le lendemain, rebelote, la personne renseigne de nouveau les codes défaut de la journée et rajoute donc un ligne dans le fichier CSV qui prend la forme suivante :
Ainsi, vous comprendrez donc que le fichier CSV va grossir au fil du temps, car chaque jour, une nouvelle ligne sera ajoutée avec les codes défaut de la journée dans ledit fichier CSV.J'ai réussi à écrire dans un fichier CSV avec l’outil VBA : Open fichier For Output As #1.
Sauf que cet outil supprime le contenu du fichier CSV et ajoute ensuite les informations de la journée. Au final, le fichier CSV ne contient donc que les informations de la journée et tout le contenu des anciens jours part en fumée... Ce qui, vous l’imaginez, ne m’arrange pas du tout dans mon cas !
Je me suis donc dit, pas grave je vais dans un premier temps ouvrir le fichier CSV avec l’outil VBA : Open fichier For Input As #1 , prendre tout son contenu avec une boucle while et ensuite rajouter à la fin ma petite ligne de la journée.
Oui… sauf que j’ai un petit peu peur concernant la suite, quand le fichier CSV va devenir de plus en plus gros au fil des mois et au fur et à mesure des rajouts des codes défaut. Sachant que l’idée est d’avoir 1 fichier CSV par an.
De plus, il faut que le script soit suffisamment robuste pour prendre en compte le cas où, une personne de la production a fait une erreur et modifie les codes défauts d'une ancienne journée. Il ne faut pas que le script ajoute bêtement une ligne à la fin du fichier, mais qu'il écrase la ligne du fichier CSV ayant la même date.
Je suis conscient que c'est un peu facile ce que je demande, en mode "ba voilà merci de me donner la solution tout cuit dans le bec". Donc si vous n'avez ni l'envie (ce que je comprends totalement), ni le temps de vous palucher un code VBA, vous pouvez simplement me donner le nom des méthodes ou des outils VBA qui peuvent m'aider. Je ferai mes recherches de mon côté pour tenter de les comprendre et de les exploiter.Il y a de cela quelques temps, quand je faisais du Javascript, il y avait des fonctions incluses qui permettait de faire cela. Je me dis donc (et j'espère) que Exel en propose également. Car après plus de 3 heures de recherche (j'ai vraiment chercher et c'est en ultime recours que j'en appelle à vous) je suis toujours bredouille !Et si vous avez du temps et de l'énergie à me consacrer (déjà merci) et il me sera plus confortable si vous détaillez un peu les outils et les objets VBA que vous utilisez.
Bonne journée et bonne fin d'année.
Et comme dit l'autre - à force de faire des apéros seul, j'ai peur d'attraper le verre solitaire !
Je dois être le énième clampin qui pose des questions sur l’exploitation des scripts en VBA pour des fichiers CSV ! Je me suis mis au script VBA sous Exel il y a exactement 2 jours (avec YT) dans le cadre de mon alternance. Mes bases sont donc très lacunaires !
Ce que j’aimerais faire, c’est rajouter chaque jour une ligne dans un fichier CSV, sans pour autant modifier ou supprimer le contenu du fichier CSV existant. J’explique :
- Tous les jours vers 17h, le service de production renseigne les codes défauts de la machine pour la journée de production. Une fois ces codes renseignés (les codes sont propres à l'entreprise) la personne appuierait sur un bouton « valider » (par exemple) et une ligne serait rajoutée dans un fichier CSV selon la forme suivante :
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- Le lendemain, rebelote, la personne renseigne de nouveau les codes défaut de la journée et rajoute donc un ligne dans le fichier CSV qui prend la forme suivante :
Ainsi, vous comprendrez donc que le fichier CSV va grossir au fil du temps, car chaque jour, une nouvelle ligne sera ajoutée avec les codes défaut de la journée dans ledit fichier CSV.J'ai réussi à écrire dans un fichier CSV avec l’outil VBA : Open fichier For Output As #1.
Sauf que cet outil supprime le contenu du fichier CSV et ajoute ensuite les informations de la journée. Au final, le fichier CSV ne contient donc que les informations de la journée et tout le contenu des anciens jours part en fumée... Ce qui, vous l’imaginez, ne m’arrange pas du tout dans mon cas !
Je me suis donc dit, pas grave je vais dans un premier temps ouvrir le fichier CSV avec l’outil VBA : Open fichier For Input As #1 , prendre tout son contenu avec une boucle while et ensuite rajouter à la fin ma petite ligne de la journée.
Oui… sauf que j’ai un petit peu peur concernant la suite, quand le fichier CSV va devenir de plus en plus gros au fil des mois et au fur et à mesure des rajouts des codes défaut. Sachant que l’idée est d’avoir 1 fichier CSV par an.
De plus, il faut que le script soit suffisamment robuste pour prendre en compte le cas où, une personne de la production a fait une erreur et modifie les codes défauts d'une ancienne journée. Il ne faut pas que le script ajoute bêtement une ligne à la fin du fichier, mais qu'il écrase la ligne du fichier CSV ayant la même date.
Je suis conscient que c'est un peu facile ce que je demande, en mode "ba voilà merci de me donner la solution tout cuit dans le bec". Donc si vous n'avez ni l'envie (ce que je comprends totalement), ni le temps de vous palucher un code VBA, vous pouvez simplement me donner le nom des méthodes ou des outils VBA qui peuvent m'aider. Je ferai mes recherches de mon côté pour tenter de les comprendre et de les exploiter.Il y a de cela quelques temps, quand je faisais du Javascript, il y avait des fonctions incluses qui permettait de faire cela. Je me dis donc (et j'espère) que Exel en propose également. Car après plus de 3 heures de recherche (j'ai vraiment chercher et c'est en ultime recours que j'en appelle à vous) je suis toujours bredouille !Et si vous avez du temps et de l'énergie à me consacrer (déjà merci) et il me sera plus confortable si vous détaillez un peu les outils et les objets VBA que vous utilisez.
Bonne journée et bonne fin d'année.
Et comme dit l'autre - à force de faire des apéros seul, j'ai peur d'attraper le verre solitaire !