Txt vers Excel

bonjour,

j'essaie de modifier une macro fait par l'enregistreur de macro.

le problème est que le nombre de ligne du ficher est fixe. Est-ce qu'il y a un moyen pour qu'ils soient variable ?

voici la résultante une fois le fichier .txt ouvert avec la méthoe workbooks.open

Range("A1:A19").Select

Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _

TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _

Semicolon:=True, Comma:=False, Space:=False, Other:=False, FieldInfo _

:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _

Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1), Array(13, 1 _

), Array(14, 1), Array(15, 1), Array(16, 1), Array(17, 1), Array(18, 1), Array(19, 1), Array _

(20, 1)), TrailingMinusNumbers:=True

sinon, j'ai trouvé une autre méthode avec des requêtes, mais je reçois un message à l'ouverture pour actualiser ma requête et je sais que les end users vont être mélangé (encore plus que moi !)

Merci

bonjour

je te propose une solution alternative, faisant appel à une fonctionnalité "récente" d'Excel (10 ans ! )

menu Données/obtenir/de fichier texte

ça ouvre le fichier

"Charger"

facile et efficace, quel que soit le nombre de lignes

tu apprendras dans qq mois toutes les autres possibilités de cette fonctionnalité Power Query.

amitiés

bonjour,

j'essaie de modifier une macro fait par l'enregistreur de macro.

le problème est que le nombre de ligne du ficher est fixe. Est-ce qu'il y a un moyen pour qu'ils soient variable ?

voici la résultante une fois le fichier .txt ouvert avec la méthoe workbooks.open

Range("A1:A19").Select

Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _

TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _

Semicolon:=True, Comma:=False, Space:=False, Other:=False, FieldInfo _

:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _

Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1), Array(13, 1 _

), Array(14, 1), Array(15, 1), Array(16, 1), Array(17, 1), Array(18, 1), Array(19, 1), Array _

(20, 1)), TrailingMinusNumbers:=True

sinon, j'ai trouvé une autre méthode avec des requêtes, mais je reçois un message à l'ouverture pour actualiser ma requête et je sais que les end users vont être mélangé (encore plus que moi !)

Merci

BOnjour,

sans fichier j'ai un peu de mal à comprendre pourquoi la selection "A1:A19" quand tu as enregistré

la macro ? il fallait prendre la colonne entière dès le début.

Recommences ta macro en sélectionnant la colonne A entièrement.

Salut,

C'est ça mon problème. Quand je sélectionne la colonne "A" et fait convertir mes données, l'enregistreur traduit ça de cette façon.

Tu peux faire le test de ton côté, mais j'arrive toujours à ce résultat.

@JMD: Si j'avais voulu une alternative de ce genre je n'aurais pas écris dans le forum VBA:)

merci

@JMD: Si j'avais voulu une alternative de ce genre je n'aurais pas écris dans le forum VBA:)

merci

re

ici c'est aussi le forum Excel (Power Query y est inclus) et d'ailleurs c'est dans le sous-titre :

https://forum.excel-pratique.com/index.php

amitiés

Bonjour,

@ jmd,

Toujours des soucis avec les dates !...

je te propose une solution alternative, faisant appel à une fonctionnalité "récente" d'Excel (10 ans ! )

Power Query est apparu avec Excel 2013 (add in) et rendu rétro compatible avec Excel 2010.

Donc 2019 - 2013 = 6 ans.

Cdlt.

re

salut Jean-Eric,

oui, tu as raison. 10 ans c'est le smartphone.

Power Query a 6 ans seulement. Mais ça me semblait une éternité. L'informatique va si vite.

amitiés et bonne journée

bonjour,

essaie en changeant ceci

Range("A1:A19").Select
Selection.TextToColumns

par

Range("A:A").TextToColumns
Rechercher des sujets similaires à "txt"