Réorganisation automatique de données et groupage d'onglets

bigjimparisien

XLDnaute Nouveau
Bonsoir à tous,

Je consulte régulièrement ce forum, mais ceci est ma première demande… je suis confronté à une double problématique :

J'ai récupéré sous format papier un listing de contacts que j'ai numérisé et OCRisé, le but étant d'exploiter les informations qu'il contient, notamment de filtrer les données en fonction de l'age et de la civilité.

1er problème : présentation des données : l'original papier est présenté sous la forme suivante :
/ = colonne

Nom+Prénom / adresse / Date de naissance/lieu
Mme Dupont / 123 rue XY / 11.10.2000
anne / 69000 Lyon / Marseille
Mr Durant / 456 rue YZ / 12.11.2001
Robert / 75001 Paris / Marseille

Mon logiciel OCR m'a permis de récupérer 3 colonnes, et de mettre chaque ligne de l'original dans une ligne séparée, mais pour un tri efficace, j'aimerai pouvoir réorganiser automatiquement (si possible), de manière à obtenir idéalement les 8 colonnes suivantes :

Civilité / Nom / Prénom / Adresse / Cpostal / Ville / Date de naissance / Lieu de naissance

ou au pire 6 colonnes :

Civilité / Nom+Prénom / Adresse / Cpostal / Ville / Date de naissance


2e problème : regrouper les données de 13 fichiers et 200 onglets/fichier

Mon OCR m'a généré autant d'onglets que de pages numérisées, soit 8 personnes par onglets (avec en ligne 1 l'intitulé de la colonne à chaque fois).
Je dois au final obtenir un seul fichier contenant 1 seul onglet avec 13 x 200 x 8 lignes à la suite.
Je n'ai pas le temps de gérer manuellement le copier-coller, d'autant que parfois les informations d'un contact sont sur 2 lignes, mais parfois sur 3 ce qui perturbe la fonction.


J'ai pu trouver pas mal de sujets assez proches déjà traités, mais aucune des solutions n'a pu me sortir de cette galère…

Merci d'avance de votre aide.
 
Dernière édition:

Robert

XLDnaute Barbatruc
Repose en paix
Re : Réorganisation automatique de données et groupage d'onglets

Bonsoir Big Jim et bienvenu, bonsoir le forum,

Puisque tu es nouveau parmi nous, je te recommande vivement de lire la Lien supprimé qui donne tous les bons plans pour obtenir de l'aide rapidement...
Mais sans un petit fichier exemple je ne m'y risquerai pas, car travailler sur ce genre de données est assez difficile à automatiser. Le 2ème problème semble plus facile à résoudre mais tu ne fournis ni exemple ni explications claires...
 

bigjimparisien

XLDnaute Nouveau
Re : Réorganisation automatique de données et groupage d'onglets

Bonjour,

Merci pour cette réponse… voici un exemple sur 2 onglets (le contenu est fictif).

BigJim
 

Pièces jointes

  • Test.xlsx
    14.2 KB · Affichages: 52
  • Test.xlsx
    14.2 KB · Affichages: 73
  • Test.xlsx
    14.2 KB · Affichages: 60
Dernière édition:

Robert

XLDnaute Barbatruc
Repose en paix
Re : Réorganisation automatique de données et groupage d'onglets

Bonjour Big Jim, bonjour le forum,

C'est pire que ce que je pensais ! Comment automatiser ? Certaines données sont sur trois lignes, d'autres sur deux, certaines comportent des ligne vides, d'autres pas... La seule chose qui les différencie c'est le contour de la données. Si tu l'as effectivement partout on peut s en servir comme repère pour séparer. Ça me fera une usine à gaz en plus (j'ai l'habitude...).

Plusieurs questions me turlupinent
• J'aurais bien aimé savoir comment traiter des cas comme Mme BEAU Epouse LE BOT. Civilité : Mme / Nom : BEAU ou Beau Epouse LE BOT ?
• toutes les données ont-elle Obligatoirement une civilité ou bien on peut rencontrer des DUPONT Jean ?

En attente de ta réponse...
 

bigjimparisien

XLDnaute Nouveau
Re : Réorganisation automatique de données et groupage d'onglets

Robert,

Un grand merci pour ta réactivité !

Je te confirme que parfois les informations de civilité (Mlle+Nom+prénom+épouseX) sont sur 2 voire 3 lignes, idm pour l'adresse (Adresse1+Adresse2+CPostal+Ville). Cela se produit lorsqu'il y a un complément sur l'un ou l'autre voire les 2.
Dans l'absolu, je n'ai pas besoin des compléments (épouseX, appartement 15…)

-> question : les supprimer manuellement serait -il une solution pour faciliter les choses pour la suite ?

Ensuite, pour répondre à tes questions :

1/ Comment traiter des cas comme Mme BEAU Epouse LE BOT. Civilité : Mme / Nom : BEAU ou Beau Epouse LE BOT ?

Quand nous avons 3 lignes (soit pour la civilité, soit pour l'adresse), on peut conserver uniquement la 1er et la 3e, ce qui revient à supprimer (Epouse LE BOT) pour cet exemple, et Appart 61 lorsque cela se produit sur l'adresse.

2/toutes les données ont-elle Obligatoirement une civilité ou bien on peut rencontrer des DUPONT Jean ?

OUI obligatoirement et NON jamais de nom+prénom sans civilité.
Pour chaque personne, la 1er ligne et 1er colonne contient toujours la civilité + le nom, le prénom est soit en 2e soit en 3 ligne (si il y a un complément).


Piste de réflexion (malgré mon niveau de novice sur Excel) : j'avais pensé à cette méthode, mais tu t'en doute, je ne sais pas faire (hormis la première et dernière étape)
- supprimer manuellement tous les compléments dont je n'ai pas besoin (ce qui est un travail énorme)
- fusionner les 2 lignes qui les contenaient pour obtenir finalement 2 lignes pour chaque personne (au lieu de 3 de manière aléatoire)
- copier les lignes paires des colonnes A,B,C puis les coller en colonnes D,E,F sur les lignes impaires (en Ligne-1)
- Supprimer les lignes paires
- Réorganiser l'ordre des colonnes ABCDEF en ADBECF
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Réorganisation automatique de données et groupage d'onglets

Bonsoir BigJim, bonsoir le forum,

En pièce jointe une première version de l'usine à gaz... pour finaliser il me faudra connaître les noms et le(s) dossier(s) où se trouvent tous les fichiers...
Dans ton exemple il y a des cas où la civilité n'est pas séparée du nom par un espace. Je ne sais pas si c'est une erreur de ta part ou bien si ça peut réellement se produire. Comme je n'ai rencontré ce type d'erreur qu'avec "M.", je n'ai traité que "M."

Avec les données que tu as fourni ça semble tourner mais j'imagine que sur tes vrais fichiers ça va planter. J'ai envisagé qu'en cas de plantage ça colore en rouge la ligne du tableau original. Mais je sais pas si ça marche...

La macro fonctionne de la manière suivante :
• elle efface le contenu de l'onglet Extract
• elle efface les anciennes données de l'onglet Récup
• elle boucle sur tous les onglet du classeur (ici elle s'arrête après le second)
• elle copie les données dans l'onglet Extract
• elle les traite
• elle envoie les données traitées dans l'onglet Récup
• elle efface le contenu de l'onglet Extract
• elle passe à l'onglet suivant
• pour finir, elle sélectionne l'onglet Récup

Il ne manque qu'à gérer les autres classeur / onglets...
Code commenté pour que tu puisses mieux le comprendre.
 

Pièces jointes

  • Big Jim_v01.xlsm
    41.9 KB · Affichages: 72

bigjimparisien

XLDnaute Nouveau
Re : Réorganisation automatique de données et groupage d'onglets

Bonjour Robert, bonjour le forum,

Je ne sais que dire face à ça… si cela fonctionne avec mes fichiers c'est ENORME !!! 1000 mercis

Je te joins une capture du dossier en réponse à ta demande.

Peux-tu m'expliquer en 2 derniers mots (promis !!!) comment appliquer ta macro à mes fichiers, j'imagine qu'il ne suffit pas de l'ouvrir et de cliquer sur le bouton…



Big Jim reconnaissant
 

Pièces jointes

  • Capture d'écran 2014-01-29 09.25.07.jpg
    Capture d'écran 2014-01-29 09.25.07.jpg
    76.1 KB · Affichages: 74

Robert

XLDnaute Barbatruc
Repose en paix
Re : Réorganisation automatique de données et groupage d'onglets

Bonjour BigJim, bonjour le forum,

Dans l'état actuel des choses, ça me marche pas encore avec tous les fichiers. Mais maintenant que tu m'as donné le renseignement qu'il me manquait je vais adapter le code pour que cela se fasse. Il te suffira d'ouvrir le fichier contenant la macro et de cliquer sur le bouton.
Si, comme indiqué sur la capture d'écran, il faut ouvrir tous les fichiers et traiter tous les onglets de chaque fichier, ça me simplifie la tâche. Tu pourras même renommer "Big Jim_v01.xlsm" à condition que ce soit le seul fichier .xlsm du dossier. Il faut impérativement qu'il se trouve dans le même dossier que les autres.

je te modifie ça dès que j'ai un peu de temps...
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Réorganisation automatique de données et groupage d'onglets

Bonjour Big Jim, bonjour le forum,

En pièce jointe la version 2 adaptée pour travailler avec tous les fichiers (.xlsx) et tous leurs onglets, du dossier dans lequel tu placeras cette nouvelle version.
Un clic sur le bouton Récup devrait tout récupérer... J'ai testé sur 4 fichiers (identiques au niveau des données) et ça semble tourner...
 

Pièces jointes

  • Big Jim_v02.xlsm
    36.7 KB · Affichages: 36

bigjimparisien

XLDnaute Nouveau
Re : Réorganisation automatique de données et groupage d'onglets

Re bonjour Robert,

J'ai pu tester, et on est pas loin du but… J'obtiens une Erreur d'exécution 1004 : Impossible de modifier une cellule fusionnée

Cel- offset (1,0) - Clear...
ou
Cel - offset (2,0) - Clear...

Le processus bloque sur tous les fichiers (testés séparément) et me génère quand même 200 à 500 lignes par fichier sur les 1400 de chaque. Il faudrait que la macro puisse aller jusqu'au bout…ou que je puisse relancer la suite en ignorant la ligne concernée.

Je vais quoiqu'il en soit devoir reprendre le résultat pour corriger les erreurs de lecture liées à l'OCR.

Est-ce suffisant comme infos ? je ne sais pas ou chercher...

Big Jim
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Réorganisation automatique de données et groupage d'onglets

Bonjour Big Jim, bonjour le forum,

En effet, VBA déteste les cellules fusionnées ! De plus il n'y en avait pas dans l'exemple.
On avance pas à pas vers la Méga usine à gaz...
Il me faut un fichier exemple plus consistant en données pour voir si on peut résoudre ou si je jette l'éponge...
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Réorganisation automatique de données et groupage d'onglets

Bonsoir Big Jim, bonsoir le forum,

Finalement ça a été plus simple que je ne le pensais. En pièce jointe la version 3 qui n'a pas planté sur ton dernier fichier exemple. Espérons qu'il en fasse de même pour les autres..
 

Pièces jointes

  • Big Jim_v03.xlsm
    38.6 KB · Affichages: 44

Robert

XLDnaute Barbatruc
Repose en paix
Re : Réorganisation automatique de données et groupage d'onglets

Bonjour Big Jim, bonjour le forum,

Dans la foulée une version 4 avec un onglet de plus : Erreurs. C'est un rapport d'erreur, chaque fois qu'il manque une donnée (prénom, adresse, code postal, ville, date de naissance ou lieu de naissance), cela est répertorié dans cet onglet. Il y a le nom du classeur, le nom de l'onglet et le nom de la personne où il manque au moins une donnée. Dans le classeur source la ligne est colorée de rouge. Cela te permettra d'aller vérifier ce qu'il s'est passé. J'ai par exemple constaté que dans un onglet il y avait une colonne en plus intercalé (à cause d'un point) ou que, tout simplement, la donnée manquait à l'origine.
Il y a aussi le calcul des données traitées pour vérifier qu'à la fin tu as bien autant de lignes que de données traitées (plus une pour les étiquettes d'en-têtes)...
Pour faire mes test j'ai eu besoin d'une macro supprimant toutes les lignes rouges. Tu en auras aussi peut-être besoin et le l'ai laissée dans cette version 4. C'est ma procédure Macro2.
 

Pièces jointes

  • Big Jim_v04.xlsm
    45.4 KB · Affichages: 49

bigjimparisien

XLDnaute Nouveau
Re : Réorganisation automatique de données et groupage d'onglets

Bonjour Robert, bonjour le forum,

J'ai teste ta v03 et ai pu récupérer au moins 95% des données, ce qui est largement au dessus de mes espérances.
En fait, j'ai eu d'autres erreurs, mais en corrigeant le fichier source avant de lancer la macro, ça finit par passer… Le problème vient des erreurs liées à l'OCR qui a ajouté des cellules avec des caractères isolés(exemple: des VIIIe au lieu de Mme), bref rien d'insurmontable.

Je vais quand même me servir de la v4 pour tenter de me rapprocher des 100% et te tiens au courant.

Merci Robert
A+

Big Jim
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 229
Messages
2 086 426
Membres
103 206
dernier inscrit
diambote