Chimiste en détresse ! (macro excel 2007)

Résolu/Fermé
lorange - 8 juil. 2010 à 16:10
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 13 juil. 2010 à 21:30
Bonjour,

j'ai un fichier de données (.TXT) que j'ouvre avec excel ou origin. ce fichier est énorme (3 colonne x 180 000 lignes) et je dois le séparer en 90 "sous-fichiers" (ce sont des cycles). Le problème c'est que chaque "sous-fichiers" ne fait pas le même nombre de ligne. il y a cependant une valeur fixe qui revient à la fin de chaque cycle. Est-il possible de créer une macro qui pourrait copier les données jusqu'à la valeur cible et les coller dans une nouvelle feuille (ou un nouveau fichier) ? moi je n'y connais absolument rien en macro.
Merci de vos réponses

PS: j'ai environ 20 fichiers comme celui-là à traiter et à la main j'y passe environ une demi-journée
A voir également:

5 réponses

eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 212
8 juil. 2010 à 18:36
Bonjour,

tu devrais déposer un fichier exemple (avec qcq lignes de chaque groupe) sur cijoint.fr et coller ici le lien fourni
Explique ce qui permet de savoir qu'un nouveau groupe démarre, comment le nommer, si tu préfères des feuilles ou des classeurs, ta version d'excel, quoi faire si le nombre maxi de lignes est dépassé, s'il faut une ligne de titre, répartir les données sur plusieurs colonnes, si oui les types de colonne, la valeur fixe doit-elle être supprimée, gardée au début ou à la fin, etc, etc, etc
eric
0
bonjour,

voici un petit fichier exemple : http://www.cijoint.fr/cjlink.php?file=cj201007/cijMkt3q14.xlsx

j'ai mis dessus quelques valeurs de chaque groupe (je n'ai mis que deux groupes). La valeur cible qui permet de dire qu'un nouveau groupe commence est noté en rouge (O.65). ce que souhaiterais faire c'est copier chaque groupe et le coller dans un nouveau fichier. Pas de nom particulier a mettre a chaque groupe mais une incrémentation du nom de fichier de départ serait pas mal. Les données se présente sous forme de trois colonnes et j'aimerais que cela reste le cas après copier/coller. La valeur cible doit être conservé en fin du groupe. et je dois pouvoir changer la valeur de la cible assez facilement parce que d'un fichier a un autre celle-ci change.

j'utilise une version 2007 de excel.
voila, je ne sais pas si ce que je souhaite faire est possible mais merci de ton aide !
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
12 juil. 2010 à 23:52
bonjour

Éric étant absent, je te propose une macro pour effectuer ta ventilation.

http://www.cijoint.fr/cjlink.php?file=cj201007/cijQGNGQLx.zip

Comme tu as plusieurs fichiers .txt à traiter je te propose le module à importer dans ton classeur de macros personnelles afin qu'il soit disponible pour tous tes fichiers.

La macro "Ventiler_cycles" te demande la valeur cible de découpage et crée autant de classeurs qu'il y a de cycles en incrémentant le nom initial dans le même répertoire.

Tu as une petite documentation macros personnelles à consulter pour la mise en pratique et si tu as des problèmes de mise en place n'hésite pas à nous poser les questions.
0
bonjour et surtout merci,

j'ai testé la macro ce matin et c'est exactement ce que je recherchais ! c'est parfait, je suis ravie !

encore merci pour ton aide, j'en aurais été bien incapable.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
13 juil. 2010 à 21:30
bonjour

Je suis aussi ravi que cela corresponde à ton souhait mais c'est aussi grâce à toi :
- tu as posé une question murement réfléchie et précise.
- tu as mis un exemple très bien choisi.
- tu as précisé ton environnement (version, fichiers, etc)
- tu as très bien indiqué ta méthode d'utilisation.

Tu étais peut-être "incapable" de réaliser la macro mais à chacun son domaine, et en analysant parfaitement le problème, tu nous as permis de le coder aisément et de façon adaptée.

Si toutes les questions étaient aussi bien analysées leur résolution serait rapide.

Merci à toi pour ce bel exemple en espérant qu'il inspirera les demandeurs futurs.
0