Chimiste en détresse ! (macro excel 2007) [Résolu/Fermé]

Signaler
-
Messages postés
14934
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
-
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

5 réponses

Messages postés
23993
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
10 avril 2021
6 719
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
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 !
Messages postés
14934
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 395
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.
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.
Messages postés
14934
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 395
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.