[RESOLU] Organiser une ligne de données en différentes colonnes

lamande.benjamin

XLDnaute Nouveau
Bonjour à tous,

Après un copier/coller à partir d'un .pdf dans un tableau excel (par texte sans mise en forme), je me retrouve avec toutes mes données mises à la suite dans la 1er colonne.
Je souhaite les réorganiser dans différentes colonnes en fonction de leur nature.

L'exemple suivant devrait suffire à exposer mon problème :

Voir fichier joint

Précisions importantes :
Le nombre de patients peut être égal ou inférieur au nombre de produits
Il peut y avoir plusieurs adresses par patient
Je ne l'ai pas fait figuré ici mais les adresse comprennent une colonne avec seulement le n° de rue qui peut être confondu avec les quantités.
Et en fait, à la limite seules les colonnes C et D m'intéressent, notament la corrélation entre les produits et leur quantité.

Mon tableau réel est bien plus complexe mais je pense pouvoir extrapoler si vous m'aider à résoudre la version simplifiée.

Merci d'avance pour votre aide,
Benjamin.

PS: Je pars en vacances une semaine, donc vous avez le temps de vous creuser la cervelle...
 

Pièces jointes

  • Exemple.xls
    20.5 KB · Affichages: 86
  • Exemple.xls
    20.5 KB · Affichages: 96
  • Exemple.xls
    20.5 KB · Affichages: 96
Dernière édition:

lamande.benjamin

XLDnaute Nouveau
Re : Organiser une ligne de données en différentes colonnes

Vous êtes des tueurs !!!!!
En même pas 2 heures vous m'avez résolu ce problème !
Je vous remercie vraiment.

Je l'ai testé, ça marche, il n'y a pas de pertes de données et c'est super simple à utiliser.
Effectivement, une des difficultés était que les données ne sont pas homogènes d'une page à l'autre du pdf et donc qu'elles ne sont pas groupées toujours de la même façon.

Je retourne de suite au boulot et je vais le tester sur un autre fichier pdf afin de bien valider la procédure.

Je vous tiens au courant et encore merci.
 

lamande.benjamin

XLDnaute Nouveau
Re : Organiser une ligne de données en différentes colonnes

Vous êtes des tueurs !!!!!

En même pas 2h, vous avez résolu mon problème !
Merci donc à Fred qui a trouvé la solution mais aussi aux autres qui ont participé.

Je l'ai testé sur le même fichier ça fonctionne et c'est super simple à utiliser.
J'emmène le fichier au travail et je le teste aussitôt sur un autre pdf.
Je vous tiens au courant dès que possible.

Encore merci à tous,
Benjamin.
 

lamande.benjamin

XLDnaute Nouveau
Re : Organiser une ligne de données en différentes colonnes

Sniff,
ça bugue.
Après l'avoir lancé sur un autre fichier, j'obtiens :

Erreur d'exécution '9' :
L'indice n'appartient pas à la sélection

Dans le debogueur on arrive à la ligne :

FOR I LBOUND TO UBOUND

J'ai réessayé sur sur le fichier d'origine, ça ne marche pas non plus, même message.

C'est curieux car j'avais réussi chez moi, mais au boulot ça ne fonctionne pas.
Donc je ramène un autre fichier chez moi et je réessaye à la maison pour voir.

Je vous tiens au courant.
 

Efgé

XLDnaute Barbatruc
Re : Organiser une ligne de données en différentes colonnes

Re
Si le "bug" intervient sur la ligne
Code:
For I = LBound(T) To UBound(T)
c'est peut être parcequ'il ny a pas de cellule commençant par "Patient Prescripteur". Dans ce cas cela veux dire que la "non-structure" des fichiers n'est pas non plus constante...
A toi de voir, mais si on ne peux se raccrocher à rien, cela va être difficile.
Cordialement
EDIt :
P.S tes données sont bien en colonne A ?
Si un fichier fonctionne chez toi et pas ailleurs, regarde les différences. Si non reviens avec un exemple qui ne fonctionne pas...
Re Cordialement
 
Dernière édition:

lamande.benjamin

XLDnaute Nouveau
Re : Organiser une ligne de données en différentes colonnes

Ca marche parfaitement chez moi et je pense avoir compris :

chez moi le copier/coller pdf -> excel donne une case :
Patient Prescripteur Spé Numéro Qté Produits

au boulot ça donne :
Spé Patient Prescripteur Numéro Qté Produits
()

C'est de mémoire je ne suis pas certains de l'ordre mais c'est différent de chez moi et je pense qu'au boulot il me fera "toujours" le même ordre.
Il doit y avoir moyen de corriger le code facilement.

On verra cela la semaine prochaine maintenant, ça va marcher.
Bon WE a+
Benj
 

Efgé

XLDnaute Barbatruc
Re : Organiser une ligne de données en différentes colonnes

Re
Si c'est ça, il faut changer
Set c = Plg.Find("Patient Prescripteur", LookIn:=xlValues, LookAt:=xlPart)
Par le début de ta cellule de référence.
Cordialement
 

lamande.benjamin

XLDnaute Nouveau
Re : Organiser une ligne de données en différentes colonnes

C'était bien ça.
J'ai corrigé la ligne et ça fonctionne.
J'ai juste observé un petit bug encore : une case de quantité qui reste vide ???
Si ça se reproduit je te renverrai un fichier.

Merci encore
Benjamin.
 

lamande.benjamin

XLDnaute Nouveau
Re : Organiser une ligne de données en différentes colonnes

Je remonte ce message juste pour confirmer que la macro de efgé fonctionne parfaitement.
Cela fait 2 mois que je fais ma compta des stupéfiants avec et cela me fait gagner beaucoup de temps.

Il reste des bugs dans le copier/coller du pdf à excel mais c'est la faute d'Acrobat qui "oublie" des données.
Je m'en suis sorti en utilisant Foxit Reader pour faire le copier/coller, il est bien plus fidèle.

Merci encore à vous tous,
Benj.
 

Discussions similaires

Statistiques des forums

Discussions
312 450
Messages
2 088 511
Membres
103 873
dernier inscrit
Sabin