Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Import et export de tx

  • Initiateur de la discussion Initiateur de la discussion dilack
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

dilack

XLDnaute Occasionnel
salut à tous
Etant plus que débutant en programation sous excel, j'essaye de créer une macro qui me permet d'importé un fichier txt en délimité avec comme séparateur une tabulation et comme identificateur de texte ' et de suprimer les expaces entre des caractère et en dernier d'avoir l'option de l'enregistrer sous un nouveau nom et dans n'importe quelle répertoire avec l'extension cvs.
je me prend la tête depuis 3 jours pour avoir un résutats probant.

Tout ceci pour l'intégrer dans un programme sous autocad

en pieces jointe le fichier de départ et d'arrivé
merci d'avance pour vos réponse
 

Pièces jointes

Re : Import et export de tx

Salut à tous,
j'était en train de bricoler sur une autre version d'importation de Thierry, qui est ici https://www.excel-downloads.com/threads/ouverture-de-fichier-texte.65879/
L'inconvénient de cette version est qu'elle n'ouvre qu'un seul fichier sur une feuille précise mais pour une raison qui m'échappe (faut dire que ma compréhension du code trouve rapidement ses limites), lorsque j'applique un filtre automatique, les lignes qui ne m'intéresse pas sont bel et bien supprimé et rapidement, j'ai juste rajouté ou modifié quelques lignes et voilà ce que ça donne:

Si quelqu'un sait pourquoi, je suis preneur. Et surtout s'il peut être adapté à l'importation de plusieurs fichiers txt comprenant plus de 65536 lignes 🙂

a+tard Tout le monde
Yannoch
 
Re : Import et export de tx

Re Bonjour Yannoch, le Fil, le Forum

Bon voilà une nouvelle version qui devrait te réjouir !!!

Je filtre directement sur le TXT les Lignes contenant "278" (FilterCrieria en Constante)...

Je gère les fichiers TXT de plus de 65536 lignes...

IL reste plus qu'à aller boire le café quand ça tourne mais tout est fait au retour normalement...

Bon Aprèm

@+Thierry


PS1 : au regard de ton code du précédent Post je comprends que tu as 10 Champs séparés par Tabulation dans tes TXT

PS2 : Je vois que tu as fait un nouveau Post, mais je ne l'ai pas encore lu....
 

Pièces jointes

Re : Import et export de tx

Re Bonjour Yannoch, le Fil, le Forum

En rapport avec ton dernier Post, en fait je ne te conseille pas trop de monter une sorte d'usine à gaz avec différents codes imbriqués de briques et de broques (c'est le cas de le dire lol)

Regarde déjà ce que donne la Version 01 du petit programme et tiens nous au courant...

Bon Aprèm

@+Thierry
 
Re : Import et export de tx

re re re salut
voila maintenant que j'ai réussi a faire une liaison entre mes fichiers topo et autocad lt avec votre aide (un grand merci à thierry et les autres) dans un sens j'aimerais savoir s'il est possible de le faire dans le sens inverse.
Je m'explique.
importer mon fichier csv avec 1,100,200,10 qui corespond aux numéros, x, y, z de mes points.
utisiliser fonction CONCATENER (qq chose que je metrise enfin)
et exporter le resultat dans notepad et pour povoir l'engregister avec l'extension scr (script car avec excel directement ca ne marche pas en fin avec moi) pour pouvair inserer sous autocad


merci d'avance pour vos réponse
 
Re : Import et export de tx

Bonsoir à tous,
je suis désolé Thierry, je suis parti un peu précipitemment vendredi (un imprévu) et je suis rentré seulement aujourd'hui dans l'après-midi.
Je n'ai pas pu donc tester ton fichier à fond pour le moment mais je te remercie beaucoup de donner un peu de ton temps pour m'aider.
Ce que je peux en ressortir pour le moment est qu'apparemment et si j'ai bien compris, l'import se base sur une structure fixe du fichier txt, ce qui malheureusement n'est pas le cas, j'aurais du donner directement un fichier exemple au lieu de la structure que excel a géneré, donc je met en pièce jointe ce fichier exemple mais je regarderais plus en détails demain matin 8h.
Tu verras sur ce fichier exemple que la structure est un peu aléatoire en nombre de colonne, 9 à 15 séparées par des Tab et certaines lignes n'ont qu'une colonne.
Pour l'usine à gaz, je comprend, mais c'est difficile pour moi de faire quelque chose de propre avec les faibles connaissances que j'ai en vb 🙁

Bonne fin de soirée à tous
Yannoch
 

Pièces jointes

Re : Import et export de tx

Bonjour Dilack, Yannoch, le Fil, le Forum

C'est un peu marrant, vous avez tous deux le même défaut, celui de ne pas préciser vos besoins clairement dès le début !

Cette semaine sera bien plus chargée pour moi, je ne garantis pas d'avoir du temps dispo pour revenir encore sur ces questions supplémentaires.

Pour Dilack, je pense que tu pourras trouver comment générer des fichiers avec l'extension que tu veux en cherchant dans ce Forum avec mon prénom et "TXT génération" la méthode que j'ai donnée ici avec l'AutoSaveFile est, quant à elle, exclusivement réservée à un fichier "CSV" conformément à ta demande initiale.

Pour Yannoch, je pense que tu pourras t'en sortir en modifiant cette boucle (attention elle est présente deux fois)

Code:
                    For ii = 1 To 10
                        On Error Resume Next
                        WSTxt.Cells(i, ii) = Container(ii - 1)
                    Next

En fait tu peux élargir 1 To 10 à 1 to xx.... Le "On Error Resume Next" passera l'erreur si il y a moins de colonnes.... J'ajoute une mise à zéro de l'erreur dans l'exemple ci-dessous

Code:
                    For ii = 1 To 25
                        On Error Resume Next
                        WSTxt.Cells(i, ii) = Container(ii - 1)
                        On Error GoTo 0
                    Next


Bonne Journée et semaine à tous et toutes

@+Thierry
 
Re : Import et export de tx

Bonjour à tous,
Pour commencer, je suis désolé Thierry de n'avoir pas définit clairement mon besoin dès le début.
Ensuite, Ok pour le coup des colonnes avec la boucle, la première ligne de mon fichier test est bien importé mais ça ne passe pas à la ligne suivante et je crois savoir pourquoi mais je ne sais pas comment le résoudre.
Dans le dernier fichier que tu as mis Thierry, sur les 3 fichiers texte, on est passé à la ligne suivante grâce à "Entrée", par contre dans mon fichier test, le retour à la ligne se fait grâce à 1 ou 2 petits carrés vides, je ne sais pas comment on les appelle exactement, mais lorsque j'ouvre mon fichier sous notepad je les vois mais aucun retoru à la ligne(toutes les lignes sont à la suite avec ce séparateur), et lorsque j'ouvre mon fichier sous worpad je les vois pas mais les lignes sont bien l'un en dessous de l'autre. (je sais pas si je suis très clair).
Je pense qu'il faut rajouter un test à la fin de la première boucle pour voir si on doit passer à la ligne suivante mais je ne sais pas comment faire.
Donc si tu as encore un peu de temps Thierry, pourrais-tu voir ce petit problème?
Autrement, et encore une fois, je te remercie du temps que tu as passé sur mon besoin.

Bonne journée à tous
Yannoch
 
Re : Import et export de tx

Re-Bonjour Yannoch, le Fil, le Forum

Ah là c'est plus ennuyeux, car c'est le "Record Delimiter" qui te fait faux bond...

En général un fichier plat lu par la un "Input # Statement" doit terminer chaque ligne (Record) par un Délimiteur (Delimeter) en l'occurence dans mon algo, un CRLF (Carriage Return Line Feed) = (Chr(13) + Char(10)) ou, le cas échéant, un Simple CR (Carriage Return) = (Chr(13) pour que le fichier soit reconnu et lu ligne à ligne.

Il faudrait voir du coté du soft qui produit la génération des fichiers TXT, si il ne contient pas de paramétrage de sortie pour ce "Record Delimiter"...

Bon App
@+Thierry
 
Re : Import et export de tx

_Thierry à dit:
Il faudrait voir du coté du soft qui produit la génération des fichiers TXT, si il ne contient pas de paramétrage de sortie pour ce "Record Delimiter"...
Re-Bonjour Thierry,
C'est pas possible, il n'y pas d'option pour ça, j'ai juste le choix d'activer ou pas la génération de ces fichiers.

Il n'y pas possibilité d'importer ces fichiers avec les paramètres simples (ci-dessous) que génère excel tout en ayant la possibilité de mettre plus de 65536 lignes? et sansn filtre car il n'est pas vital, je pourrais m'arranger dans les calculs que j'ai a faire par la suite en ignorant les lignes qui ne m'intéresse pas

a+tard
Yannoch
 
Re : Import et export de tx

Re-Bonjour Yannoch, le Fil, le Forum

La réponse, à mon avis, est hélas non.

A mon sens la possibilité d'ouvrir un TXT par "Workbooks.OpenText" que tu reproposes dans ton dernier Post, transforme directement le fichier Texte en Fichier Excel et par conséquent avec la limite fatidique de 65536 lignes...

Ce que permettait la méthode de lecture du fichier par Open for Input puisqu'elle lit ligne à ligne (d'où également la possibilité de filtre) et surtout de savoir à quelle ligne on est...(et donc d'agir en conséquence) Mais à la condition d'avoir ce fameux "Record Delimiter"...

J'ai l'impression que l'on arrive à une situation de blocage à moins qu'un intervenant connaisse une astuce !

Bon Courage
@+Thierry
 
Re : Import et export de tx

Re-Bonjour,

Ok, je vais faire des recherches sur le forum et sur le net pour voir si ce problème a déjà été évoqué.
Dans tout les cas, je te remercie pour ton aide précieuse et le temps que tu m'as accordé.

Bonne après-midi
Yannoch
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…