VBA - Besoin de faire le tri dans les données !

NicolasBB

XLDnaute Nouveau
Bonjour à toutes et à tous,

Je travaille actuellement sur un document WORD composé de fiches les unes à la suite des autres qui ont toutes la même structure (6 parties distinctes).
J'ai copié collé le document dans excel (en pièce jointe) pour traiter les données ce qui fait que tout le texte qui m’intéresse est contenu dans la première colonne.
Mon objectif est de créer un tableau à 5 colonnes :

Nom de l'opération
Secteur d'application
Dénomination
Conditions pour la délivrance de certificats
Durée de vie conventionnelle


Ces 6 colonnes représentent à chaque fois l'intitulé du titre de la partie dans une fiche. Je souhaiterais, pour chaque fiche, trouver le moyen de parcourir le document, de coller à chaque fois le texte (ce n'est que du texte) contenu entre deux titres (donc correspondant au premier des deux) dans la colonne appropriée, afin de créer une ligne par fiche.

La dernière partie de chaque fiche, intitulée Montant de certificats en kWh ne m’intéresse pas car il serait trop compliqué d'aller chercher les données sur plusieurs colonnes (car ce sont souvent des tableaux).

Le travail est laborieux, si vous avez ne serait-ce que des pistes, je suis preneur !

Merci d'avance !
:D
 

Pièces jointes

  • Données.xlsx
    223.9 KB · Affichages: 223
  • Données.xlsx
    223.9 KB · Affichages: 270
  • Données.xlsx
    223.9 KB · Affichages: 269

Paritec

XLDnaute Barbatruc
Re : VBA - Besoin de faire le tri dans les données !

Bonsoir NicolasBB le forum
tu peux nous mettre un ou deux exemple de ce que tu souhaites obtenir dans le fichier avec quelques explications stp et on fera cela
a+
papou:eek:
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : VBA - Besoin de faire le tri dans les données !

Bonsoir NicolasBB, le forum,

J'ai essayé de bricoler vite fait quelque chose. Mais les critères de recherches de sont pas toujours de formats identiques.
Mes critères de recherches sont les lignes commençant par 1. 2. 3. 4. 5.
Ces lignes n'ont pas toutes la même forme et notamment il y quelquefois des espaces manquants.
Le résultat le plus probant est le recherche des deux premiers caractères. Il y a, malgré tout des lignes qui posent Pb.

exemple:

Ligne 5284 et d'autres encores : La durée de vie est sur la même ligne que l'en tête et non pas dans le cellule du dessous !
4. Durée de vie conventionnelle : 16 ans.
(ligne 97 dans la feuille 'Tablo' - il y en a d'autres)

Ligne 2653: 8 ans.6. Montant de certificats en kWh cumac :
où la durée est dans la même cellule que 6 . Montant de certificats en kWh cumac
et où le numéro '5.' est remplacé par '6.'
=> ce qui fait rater une opération dans le tableau final (ligne 131 dans la feuille 'Tablo')

Je n'ai pas vérifié toutes les lignes pour trouver les bons crières qui vont dans tous les cas. mais ce serait bien que toutes les fiches soient construites de la même manière pour faire quelque chose de fiable et ne pas construire une usine à gaz.

Avec des recherches par expressions régulières, ce serait sans doute plus probant mais ce n'est pas un point que je maitrise...
 

Pièces jointes

  • Donnees word excel v1.xlsm
    241 KB · Affichages: 863
Dernière édition:

NicolasBB

XLDnaute Nouveau
Re : VBA - Besoin de faire le tri dans les données !

Hello le forum,

Paritec désolé de n'avoir pas répondu plus tôt, le modèle est celui utilisé par mapomme (pour la répartition des données).
MAPOMME, je comprend parfaitement tes remarques. Tout d'abord merci d'avoir fait largement plus que d'y jeter un oeil, je t'en suis vraiment reconnaissant ! C'est vrai que tout n'est pas au top dans la répartitions des données et je pense que c'est du au passage word => excel (Si tu veux toute l'histoire, les données viennent en fait d'une page internet, avec texte et tableau, que je copie-colle dans un fichier word (pour garder l'aspect des tableaux) puis que je copie-colle dans excel pour le traitement). Donc je dois perdre des données de formatage au fur et à mesure.

Penses-tu que ça puisse aider si on travaille directement a partir des données internet ? Sinon, je peux nettoyer le document puis relancer ta macro, qui au passage fonctionne merveilleusement bien (de ce que j'ai vu pour le moment car n'étant pas chez moi je n'ai pas pu ouvrir le fichier très longtemps).

Je ne connais pas non plus les expressions régulières, mais je vais regarder à quoi ça correspond exactement.. Je refais un retour au forum une fois que j'aurais pu analyser le document plus sérieusement

Encore merci
:)
 

NicolasBB

XLDnaute Nouveau
Re : VBA - Besoin de faire le tri dans les données !

Re, et bonjour à tous,

Mapomme le fichier est vraiment énorme, c'est génial ce que tu as pu faire ! ;)

J'ai vérifié sur l'original du document, et en réalité, les lignes qui posent problèmes sur le document ne sont pas bien écrites déjà sur l'original, donc pas de possibilité d'y remedier mais étant donné que les fiches sont facilement identifiables, je peux rapidement ajouter les deux ou trois fiches manquantes que je reconnaîtrais rapidement..

En regardant le code, je voulais savoir s'il était possible d'exporter la dernière partie de chaque fiche (le tableau en général, paragraphe 6). Il ne serait pas possible de l'intégrer sur le même tableau que les autres données (car plusieurs ligne et plusieurs colonnes), mais à ce moment là, est-ce que ce serait possible de créer un onglet avec le nom de la fiche et d'y insérer le tableau (donc oui un onglet pour chaque fiche mais je ne vois pas d'autres solutions pour le moment) ?

Merci d'avance de vos précieux conseils
 

Discussions similaires

Statistiques des forums

Discussions
312 216
Messages
2 086 340
Membres
103 192
dernier inscrit
Corpdacier