|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Nouveau Membre du Club
![]() Inscription : avril 2009 Messages : 134 ![]() |
Bonjour à tous et à toutes
Je cherche à extraire des données dans un fichier texte de type dxf (il s'agit d'un format d'export d'autocad) Les fichiers sont composés d'une succession de lignes et parfois très longs J'en ai par exemple généré un qui fait 1 350 000 lignes..... Je cherche à récupérer les lignes concernant un certain type de données et les insérer dans un fichier excel pour ensuite les retraiter Il s'agit des lignes avec le texte "AcDbPolyline" C'est ce que j'arrive à obtenir dans le code ci dessous Code :
A chaque fois qu'on trouve "AcDbPolyline", il faut récupérer - la valeur située deux lignes au dessus (par exemple "essai calque" dans le fichier joint) - les valeurs numériques situées sur la 8e ligne en dessous et toutes les 2 lignes juqu'à la 1ere ligne avec un mot (et non des valeurs numériques). Le nombre de lignes concernées varie d'un "paragraphe à l'autre) Je mets à titre d'exemple un fichier dxf en pièce jointe. Si vous avez des pistes, je suis preneur, et vous en remercie par avance. Bonne journée Daniel S |
||
|
|
00
|
|
|
#2 | ||
![]() ![]() Alain GerardConsultant informatique Inscription : mai 2005 Messages : 3 675 ![]() |
Bonjour,
Une idée: Code :
__________________
N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres! Pensez aussi à voter pour les réponses qui vous ont aidés. ------------ Je dois beaucoup de mes connaissances à mes erreurs! |
||
|
|
00
|
|
|
#3 | ||
|
Expert Confirmé Sénior
![]() ![]() |
Salut
J'ai poursuivi le code d'AlainTech Code :
Qwaz
__________________
MagicQwaz := Harry Potter la baguette en moins ![]() Le monde dans lequel on vit HammerFest Ma page perso DVP - Dernier Tutoriel : VBA & Internet Explorer |
||
|
|
10
|
|
|
#4 |
|
Nouveau Membre du Club
![]() Inscription : avril 2009 Messages : 134 ![]() |
Bonjour à tous et toutes
Un énorme merci à AlainTech et Qwazerty Je suis bluffé Une précision complémentaire : il se peut qu'il y ait des valeurs "0" sur les coordonnées des polylignes à récupérer .... Il se peut aussi qu'il y ait des valeurs négatives aussi, mais ca, mon traitement ensuite sait les gérer (tableau croisé dynamique) Sans abuser, s'il était possible de faire une petite modification, j'en serais très heureux ... si cela vous ennuie, je m'y plongerai . Dans le cas de polylignes composées de plusieurs segments, le code que qwazerty a posté met les résultats sur une même ligne S'il était possible de les décomposer sur plusieurs lignes (comme sur le tableau ci joint), cela serait super Encore merci pour votre implication Bonne journée Daniel S |
|
|
00
|
|
|
#5 | ||||
|
Futur Membre du Club
![]() Inscription : décembre 2003 Messages : 27 ![]() |
Bonjour,
je ne sais pas si tu as plus de 6 segments. J'ai modifié le code que Qwazerty t'a passé pour ajouter uniquement 6 segments. Code :
Code :
Bon appétit. Did85 |
||||
|
|
00
|
|
|
#6 |
|
Nouveau Membre du Club
![]() Inscription : avril 2009 Messages : 134 ![]() |
Re bonjour
Voici en pièce jointe un fichier dxf avec 2 polylignes, une de 12 segments, une de 6 Bon appétit A bientot Daniel S |
|
|
00
|
|
|
#7 | ||||
|
Futur Membre du Club
![]() Inscription : décembre 2003 Messages : 27 ![]() |
Dit-moi, je lis plus de 12 segments :
- la 1ere : Code :
Code :
Merci |
||||
|
|
00
|
|
|
#8 |
|
Nouveau Membre du Club
![]() Inscription : avril 2009 Messages : 134 ![]() |
Re bonjour
Non non, il y en a bien 12 ... pour le 1er code en tous cas (et 6 pour le second) Je m'explique Chaque segment est composé de 2 extrémités en x et y donc de 4 valeurs x départ, y départ, x arrivée et y arrivée Et comme le segment repart du point d'arrivée du segment précédent on a , pour le 1er exemple segment 1 (463.44 ; 456.20) vers (631.22 ; 990.42) soit lignes 11 13 15 et 17, segment 2 (631.22 ; 990.42) vers (884.63 ; 760.35) soit lignes 15 17 19 et 21 et ainsi de suite A votre disposition pour de plus amples renseignements Daniel S |
|
|
00
|
|
|
#9 | ||
|
Expert Confirmé Sénior
![]() ![]() |
Salut
Pour faire l'essai, j'ai rajouter à la fin des polygones proposés. Code :
Qwaz
__________________
MagicQwaz := Harry Potter la baguette en moins ![]() Le monde dans lequel on vit HammerFest Ma page perso DVP - Dernier Tutoriel : VBA & Internet Explorer |
||
|
|
10
|
|
|
#10 | ||
|
Futur Membre du Club
![]() Inscription : décembre 2003 Messages : 27 ![]() |
Voici une solution par tableau :
Code :
Cordialement Did85 |
||
|
|
00
|
|
|
#11 |
|
Nouveau Membre du Club
![]() Inscription : avril 2009 Messages : 134 ![]() |
Re bonjour
C'est fabuleux Cela fonctionne parfaitement Merci encore Daniel S |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com