A voir également:
- Convertir fichier txt en csv
- Fichier bin - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier .dat - Guide
36 réponses
en fait tu veux juste ouvrir un fichier texte dans excel en coupant les données à des longueurs définies toujours identiques ?
Champ 1 = 5 caracteres...
Champ 1 = 5 caracteres...
si j'ai bien compris ce que tu veux c'est "importer un fichier texte" dans excel
menu Données/données externes/importer un fichier texte
menu Données/données externes/importer un fichier texte
Re,
dans Excel, je trouve que vous vous etes vraiment gavé pour rien.
On c'est peut être gavé pour rien, mais pas plus que toi avec VBA.
Il faut arrêter de dire que c'est plus facile.
Mais si on préfére écrire plus de lignes de codes quand quelqu'une suffisent alors il faut arrêter de dire que c'est plus facile.
Entre les assistants d'importation, et le VBA y'avait de quoi faire...
Pas besoin de VBA quand on peut utiliser des formules.
Pas besoin non plus d'importation quand on peut ouvrir un fichier txt avec excel.
dans Excel, je trouve que vous vous etes vraiment gavé pour rien.
On c'est peut être gavé pour rien, mais pas plus que toi avec VBA.
Il faut arrêter de dire que c'est plus facile.
Mais si on préfére écrire plus de lignes de codes quand quelqu'une suffisent alors il faut arrêter de dire que c'est plus facile.
Entre les assistants d'importation, et le VBA y'avait de quoi faire...
Pas besoin de VBA quand on peut utiliser des formules.
Pas besoin non plus d'importation quand on peut ouvrir un fichier txt avec excel.
est ce que tu as vu au moins pourquoi c'etait le code VBA que j'ai posté ?
Je l'ai mis dans le post au cas ou ca pouvais lui servir pour enreistrer son fichier en csv sans passer par enregistrer sous d'excel vu que c'est ce qui était demandé dans l'autre post. Si t'arrives a le faire avec tes formules et ba tant mieux
ensuite vu ce qu'il veut faire, je vois quand meme pas pourquoi vous avez passé autant de temps a faire ca meme ton dernier post ne sert à rien, c'est prévu dans excel en direct, en 3 clics vous pouvez le faire...
Je l'ai mis dans le post au cas ou ca pouvais lui servir pour enreistrer son fichier en csv sans passer par enregistrer sous d'excel vu que c'est ce qui était demandé dans l'autre post. Si t'arrives a le faire avec tes formules et ba tant mieux
ensuite vu ce qu'il veut faire, je vois quand meme pas pourquoi vous avez passé autant de temps a faire ca meme ton dernier post ne sert à rien, c'est prévu dans excel en direct, en 3 clics vous pouvez le faire...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Et elle peut pas faire actualiser les données dans Excel, en faisant un clique droit dans les données existantes ?
ben en fait c'est une procedure qu'elle doit faire tous les jours, sur le meme fichier (c'est le fichier d'une banque) puisque ya des informations de chaque jour. si tu veux, elle le fait depui quelque mois l'import du fichier texte dans excel et le decoupage, mais elle veut que ca se fasse automatiquement et ensuite qu'elle arrange juste la forme c'est tout
bon maintenant est ce que c'est possible de le faire en vba? sinon, c 'est pas grave, je garde le truc en C.
bon maintenant est ce que c'est possible de le faire en vba? sinon, c 'est pas grave, je garde le truc en C.
Re,
Ben, si tu peux séparrer en 3 clics la ligne, alors chapeau et je suis prenneur.
Mais pas de formules ou VBA.
Juste comme ça, tu as une ligne
012345789..............................aaaabbbb.............
Et avec 3 clics tu la sépare en sachant que le nombre de caractères par colonnes n'est pas le même.
je vois quand meme pas pourquoi vous avez passé autant de temps a faire ca meme ton dernier post ne sert à rien
Justement, j'ai dit que j'ai utiliser perl (en fait c'était une petite ligne de commande qui pese moins qu'un code VBA) pour ne pas passer de temps, mais tu as du mal à comprendre je vois.
Mon dernière post (si tu parles de celui avec les formules) alors il est bien mon difficile qu'un code VBA (qui suppose déjà apprendre de la programmation, quand ce n'est pas nécessaire).
Mais comme je l'ai déjà dit, le demandeur voulais soit en java soit en C.
Ben, si tu peux séparrer en 3 clics la ligne, alors chapeau et je suis prenneur.
Mais pas de formules ou VBA.
Juste comme ça, tu as une ligne
012345789..............................aaaabbbb.............
Et avec 3 clics tu la sépare en sachant que le nombre de caractères par colonnes n'est pas le même.
je vois quand meme pas pourquoi vous avez passé autant de temps a faire ca meme ton dernier post ne sert à rien
Justement, j'ai dit que j'ai utiliser perl (en fait c'était une petite ligne de commande qui pese moins qu'un code VBA) pour ne pas passer de temps, mais tu as du mal à comprendre je vois.
Mon dernière post (si tu parles de celui avec les formules) alors il est bien mon difficile qu'un code VBA (qui suppose déjà apprendre de la programmation, quand ce n'est pas nécessaire).
Mais comme je l'ai déjà dit, le demandeur voulais soit en java soit en C.
oui c'est possible, bien sur.
ca dependra de ce qu'elle veut faire, mais pour moi, elle a juste à rafraichir les données pour que ca remplace ce qu'elle a en gardant le découpage qui va bien.
Apres si elle veut automaiser la mise ne page, c'est autre chose.
Elle peut tres bien enregistrer une macro lorsqu'elle fait l'actualisation des données et sa mise en page.
Apres elle n'aura plus qu'a lancer cette macro.
ca dependra de ce qu'elle veut faire, mais pour moi, elle a juste à rafraichir les données pour que ca remplace ce qu'elle a en gardant le découpage qui va bien.
Apres si elle veut automaiser la mise ne page, c'est autre chose.
Elle peut tres bien enregistrer une macro lorsqu'elle fait l'actualisation des données et sa mise en page.
Apres elle n'aura plus qu'a lancer cette macro.
bien,
alors si c'est possible d'automatiser la mise en page. si c'est possible de le faire en vba, peux-tu m'indiquer les etapes et comment faire?
et pour la macro, si j'ai bien compris, elle servira a faire l'actualisation des données et la mise en page, c'est ca?
alors peux-u stp m'aider a le faire? comme ça j'aurais deux solutions et je verrais laquelle elle prefere.
toujours mieux d'avoir deux solutions qu'une seule.
Pour lami20j, je ne dirai pas que ta solution n'est pas bonne. je la garde quand meme
alors si c'est possible d'automatiser la mise en page. si c'est possible de le faire en vba, peux-tu m'indiquer les etapes et comment faire?
et pour la macro, si j'ai bien compris, elle servira a faire l'actualisation des données et la mise en page, c'est ca?
alors peux-u stp m'aider a le faire? comme ça j'aurais deux solutions et je verrais laquelle elle prefere.
toujours mieux d'avoir deux solutions qu'une seule.
Pour lami20j, je ne dirai pas que ta solution n'est pas bonne. je la garde quand meme
lami20j : je suis d'accord avec toi que ca ne sert a rien de taper du code si on peut faire autrement.
Maintenant, quand tu vois pour quoi c'est faire, c'est de toute facon bien décalé du sujet de base...
Moi, le code je l'avais fait pour autre chose donc vu l'intitulé du sujet ça pouvait avoir un interet, mais au final ca n'en avait pas.
Maintenant, quand tu vois pour quoi c'est faire, c'est de toute facon bien décalé du sujet de base...
Moi, le code je l'avais fait pour autre chose donc vu l'intitulé du sujet ça pouvait avoir un interet, mais au final ca n'en avait pas.
Re,
De toute façon l'important c'est de donner une solution.
Comme je suis au boulot, je n'ai pas accès d'aller sur cjoint pour récupérer son fichier, et pas non plus beaucoup de temps.
J'ai vu ton code et je sais que c'était pour autre chose.
Maintenant si tu peux lui fournir un solution VBA, ça ne me dérangéras pas du tout ;-), bien au contraire.
Toute solution sera bienvenue.
De toute façon l'important c'est de donner une solution.
Comme je suis au boulot, je n'ai pas accès d'aller sur cjoint pour récupérer son fichier, et pas non plus beaucoup de temps.
J'ai vu ton code et je sais que c'était pour autre chose.
Maintenant si tu peux lui fournir un solution VBA, ça ne me dérangéras pas du tout ;-), bien au contraire.
Toute solution sera bienvenue.
tu as juste a faire dans le menu
Outils/macro/nouvelle macro
la tu fais ok ( aul ieu de l'appeler macro1 tu l'appelle MAJ, par exemple )
ensuite tu fais tuout ton ptit boulot ( MAJ des données, MEP qui va bien ) et un fois que tu as tout fini tu cliques sur le bouton stop
ensuite pour lancer la macro tu fais
Outils/macro/macros tu selectionnes celle que tu viens de créer et automatiquement elle refait ce que tu viens de faire à l'identique.
Apres, tu peux avoir à y modifier des choses dans le code afin qu'elle s'adapte au nombre de lignes renvoyées selon la MEP que tu as faite
Outils/macro/nouvelle macro
la tu fais ok ( aul ieu de l'appeler macro1 tu l'appelle MAJ, par exemple )
ensuite tu fais tuout ton ptit boulot ( MAJ des données, MEP qui va bien ) et un fois que tu as tout fini tu cliques sur le bouton stop
ensuite pour lancer la macro tu fais
Outils/macro/macros tu selectionnes celle que tu viens de créer et automatiquement elle refait ce que tu viens de faire à l'identique.
Apres, tu peux avoir à y modifier des choses dans le code afin qu'elle s'adapte au nombre de lignes renvoyées selon la MEP que tu as faite
c'est quoi le MAJ des données? et le MEP?
Ok, j'ai bien compris, la macro, elle refait tout a ma place, mais est ce que je choisi le fichier avant de lancer la macro a chaque fois? Si c'est ca, ok.
mais y-a-t-il moyen quand on ouvre excel que la macro se lance automatiquement?
juste pour preciser, mon fichier comporte une centaine de ligne, donc si je doit copier ligne par ligne c'est pas evident alors
Ok, j'ai bien compris, la macro, elle refait tout a ma place, mais est ce que je choisi le fichier avant de lancer la macro a chaque fois? Si c'est ca, ok.
mais y-a-t-il moyen quand on ouvre excel que la macro se lance automatiquement?
juste pour preciser, mon fichier comporte une centaine de ligne, donc si je doit copier ligne par ligne c'est pas evident alors
Re,
Regarde son message.
Le séparateur ; n'existe pas.
Il faut l'insérer dans la ligne après un certain nombre de caractères, qui n'est pas le même
la 1ère ; c'est après 8 caractères
la 2ème après 4
la 3ème après 4
la 4ème après 17
la 5ème après 9
etc.
Normalement une macro VBA avec left, mid c'est suffisant dans son cas
Regarde son message.
Le séparateur ; n'existe pas.
Il faut l'insérer dans la ligne après un certain nombre de caractères, qui n'est pas le même
la 1ère ; c'est après 8 caractères
la 2ème après 4
la 3ème après 4
la 4ème après 17
la 5ème après 9
etc.
Normalement une macro VBA avec left, mid c'est suffisant dans son cas
re lami20j,
alors si c'est possible de le faire sous VBA, et de choisir les caracteres pour chaque colonne, et si c'est possible de le faire sur plusieurs lignes, dans ce cas c'est plus facile, ca evite de passer d'un .txt en .csv et de copier le resultat le coller dans excel et de la mise en forme.
on peut tout simplement creer une feuille excel, preparer la mise en forme, et ensuite on lance le code qui recupere le fichier et qui insere dans les colonnes, non? nest-ce pas plus simple?
dans ce cas, lami20j, peux tu m'aider a le faire? jsai pas du tout utiliser VBA dans excel, et en plus de sa j'ai esxcel 2007.
Merci bcp, et puis si tu pense que c'est mieu de le faire a partir d'excel jsui partant aussi.
Si j'avai proposé JAVA ou C, c'est psk jpensai pas que excel pouvait le faire.
alors si c'est possible de le faire sous VBA, et de choisir les caracteres pour chaque colonne, et si c'est possible de le faire sur plusieurs lignes, dans ce cas c'est plus facile, ca evite de passer d'un .txt en .csv et de copier le resultat le coller dans excel et de la mise en forme.
on peut tout simplement creer une feuille excel, preparer la mise en forme, et ensuite on lance le code qui recupere le fichier et qui insere dans les colonnes, non? nest-ce pas plus simple?
dans ce cas, lami20j, peux tu m'aider a le faire? jsai pas du tout utiliser VBA dans excel, et en plus de sa j'ai esxcel 2007.
Merci bcp, et puis si tu pense que c'est mieu de le faire a partir d'excel jsui partant aussi.
Si j'avai proposé JAVA ou C, c'est psk jpensai pas que excel pouvait le faire.
MAJ des données :
tu te places dans une des lignes importées de ton fichier, et tu fais clique droit, "actualiser les données", la excel te demande le fichier que tu veux importer, et il de garde ton découpage prédéfini.
MEP : Mise En Page
Tu fais la mise en page de tes cellules comme tu le veux.
par contre si tu sais que tu as au maximum 200 lignes dans ton fichier importé, tu fais ta macro en fonction de ca, comme ca tu n'auras pas à y retoucher apres.
lancement automatique, tu mets le code que ta macro a fait ( entre sub macro1 et nd sub ) dans le code de
thisworkbook.Workbook_Open
tu te places dans une des lignes importées de ton fichier, et tu fais clique droit, "actualiser les données", la excel te demande le fichier que tu veux importer, et il de garde ton découpage prédéfini.
MEP : Mise En Page
Tu fais la mise en page de tes cellules comme tu le veux.
par contre si tu sais que tu as au maximum 200 lignes dans ton fichier importé, tu fais ta macro en fonction de ca, comme ca tu n'auras pas à y retoucher apres.
lancement automatique, tu mets le code que ta macro a fait ( entre sub macro1 et nd sub ) dans le code de
thisworkbook.Workbook_Open
quand il importe, il peut dire que le texte est avec une "largeur fixe".
Du coup excel le ventile en fonction de la longueur des champs, le séparateur ne lui sert à rien au final
Ca ne colle pas avec le libelle tu topic, mais le resultat final correspondra..
Du coup excel le ventile en fonction de la longueur des champs, le séparateur ne lui sert à rien au final
Ca ne colle pas avec le libelle tu topic, mais le resultat final correspondra..
Bon ba les ptits gars amusez vous bien parce que la je sens que ca va me soualer.
Il n'y a absolument rien de compliquer a faire ca.
En plus excel 2007 n'a rien a voir avec ca, moi je suis en 2000 donc bon...
si tu veux tu me mets le fichier texte, ton fichier excel et une copie d'ecran de ce que tu veux sur cijoint et je te le fais.
sinon amusez vous bien ;-)
Il n'y a absolument rien de compliquer a faire ca.
En plus excel 2007 n'a rien a voir avec ca, moi je suis en 2000 donc bon...
si tu veux tu me mets le fichier texte, ton fichier excel et une copie d'ecran de ce que tu veux sur cijoint et je te le fais.
sinon amusez vous bien ;-)
T'enerve pas, désolé, c'est juste un service.
bon voila, je t'envoi les fichier:
d'abor le fichier texte: https://www.cjoint.com/?gfkheHZupW
Le resultat que j'aimerais que ca me donne: https://www.cjoint.com/?gfkh25VAmr
pour precision, on ne m'a donné que quelque ligne (par rapport au fichier texte) mais normalement il y en a des centaines.
Merci bcp
PS: si tu remarque la difference entre le resultat que je veux et le fichier texte, il y a des zero dans le fichier texte qui ne sont pas dans le xls (c'est parce qu'on veut pas les prendre)
Jte remercie d'avance
désolé du dérangement
bon voila, je t'envoi les fichier:
d'abor le fichier texte: https://www.cjoint.com/?gfkheHZupW
Le resultat que j'aimerais que ca me donne: https://www.cjoint.com/?gfkh25VAmr
pour precision, on ne m'a donné que quelque ligne (par rapport au fichier texte) mais normalement il y en a des centaines.
Merci bcp
PS: si tu remarque la difference entre le resultat que je veux et le fichier texte, il y a des zero dans le fichier texte qui ne sont pas dans le xls (c'est parce qu'on veut pas les prendre)
Jte remercie d'avance
désolé du dérangement
Re,
Oui, la solution VBA + Assistant Importation avec le découpage est là, je lui ai mis un +
Mais tu as bien gavé quand même ;-))), mais ça me permettra quand même de ne pas retester le code en C, j'ai dit plus haut que je suis un paresseux ;-)
En ce qui concerne la mise en forme je pense que tu as utilisé l'enregistrement de macro quand même ;-))
Oui, la solution VBA + Assistant Importation avec le découpage est là, je lui ai mis un +
Mais tu as bien gavé quand même ;-))), mais ça me permettra quand même de ne pas retester le code en C, j'ai dit plus haut que je suis un paresseux ;-)
En ce qui concerne la mise en forme je pense que tu as utilisé l'enregistrement de macro quand même ;-))
Ma responsable de stage sait importer le fichier texte dans excel et le couper (psk il y a un truc pour le faire), mais elle veut plus se casser la tete, et elle veut que je lui fasse une application qui puisse gerer tout sa.
en gros, passer du fichier texte au fichier excel, sans quel ait besoin de faire quoi que ce soit