Macro pour séparer des données excel
Rick1810
Messages postés
7
Statut
Membre
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'ai des données dans une cellule excel, près de 10.000 lignes, que je souhaite séparer en 6 colonnes.
Il s'agit de données d'un relevé bancaire de près de 300 pages, avec des libellés aux formats aussi bien identiques que différents. Je peux par exemple avoir 500 lignes ayant un libellé similaire, 200 autres ayant également un libellé similaire et ainsi de suite.
Toutes les données doivent cependant être séparées pour être rangées dans des colonnes bien distinctes ( code service, date de valeur, libellé de l'opération, date d'opération, débit et crédit).
J'ai procéder en convertissant les données mais c'est un travail demandant énormément de temps.
Je souhaite donc avoir l'aide de quelqu'un qui s'y connaît en macro pour m'aider sur ce sujet.
J'espère avoir été le plus précis possible.
Vous en remerciant d'avance.
PS: Je tiens à préciser que je suis débutant dans le monde des macros
J'ai des données dans une cellule excel, près de 10.000 lignes, que je souhaite séparer en 6 colonnes.
Il s'agit de données d'un relevé bancaire de près de 300 pages, avec des libellés aux formats aussi bien identiques que différents. Je peux par exemple avoir 500 lignes ayant un libellé similaire, 200 autres ayant également un libellé similaire et ainsi de suite.
Toutes les données doivent cependant être séparées pour être rangées dans des colonnes bien distinctes ( code service, date de valeur, libellé de l'opération, date d'opération, débit et crédit).
J'ai procéder en convertissant les données mais c'est un travail demandant énormément de temps.
Je souhaite donc avoir l'aide de quelqu'un qui s'y connaît en macro pour m'aider sur ce sujet.
J'espère avoir été le plus précis possible.
Vous en remerciant d'avance.
PS: Je tiens à préciser que je suis débutant dans le monde des macros
1 réponse
-
Bonjour,
Avant tout ... comment sais tu quelle donnée doit aller dans quelle colonne ? Il y a un séparateur utilisable ?
Si oui, pas besoin de macro ... la fonction "convertir" d'excel devrait suffire ...
Si non... comment comptes tu "déterminer" où "couper" les données ?
-
Bonjour Jordane,
Pour savoir comment répartir les données j'ai une version du fichier final en pdf donc je m'en inspire.
Maintenant pour savoir où couper les données je me base sur le nombre de caractères et le format de chaque donnée. Par exemple pour les codes services le nombre de caractères est toujours 6, la date de valeur est toujours en format j-m, le libellé de l'opération fini toujours pas le numéro du compte, la date d'opération est toujours en format jj-mm-aa et les débits et les crédits sont toujours isolés. Et toutes les données se suivent à chaque fois.
Et comme tu dis la fonction convertir pourrait suffire seulement si toutes les données ayant le même format et même nombre de caractères se suivaient. Comme je l'ai dit dans l'annonce, je peux avoir 500 lignes avec le même format et même nombre de caractères mais ces lignes ne se suivent pas. Donc pour procéder avec la fonction convertir je dois m'y prendre à plusieurs reprises.
Et comme tu dis la fonction convertir pourrait suffire seulement si toutes les données ayant le même format et même nombre de caractères se suivaient
Je parlais d'avantage d'un séparateur commun... genre un point-virgule, un pipe ... mais visiblement ce n'est pas le cas.
Donc ...
Tu nous dis :Par exemple pour les codes services
Et comment tu sais qu'une ligne concerne un code service ?
Tu te rends compte que pour l'instant on a toujours pas vu à quoi ressemble tes données ?
A un moment, il faudra que tu nous fournisses un fichier d'exemple .. sans ça il sera compliqué de te venir en aide.
Mais en gros :
Tu bouccles sur chaque ligne de ton fichier
En fonction de si c'est un code de service... tu découpes ta chaine en fonction des nombres de caractères souhaites
Tu fais la même chose pour un autre "type" de code
... et idem pour chaque "type" de données que tu as dans ton fichier..
Reviens nous voir avec un fichier d'exemple et pense à y inclure le code que tu auras tenté de réaliser....- https://www.cjoint.com/c/KJonkVaSTUY
Un lien vers un fichier d'exemple.
Les lignes du haut correspondent aux données brutes. Et en bas c'est le résultat que je souhaite obtenir.
Maintenant pour le code je n'ai rien en tête. - bonjour,
pourrais-tu vérifier la ligne avec0016PM02 08COTIS CBRIHLA 002800000273629072021 25,00
?
en général, je vois:
- 6 caractères de code srv
- 5 caractères de date
- ~60 caractères de libellé, dont les 8 derniers caractères (hors espaces) forment la date valeur
- 10 caractères pour le montant débité
- 10 caractères pour le montant crédité
je pense que tu peux donc obtenir ce que tu souhaites en utilisant des formules, que tu pourras maitriser plus facilement que du code.
-