Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

mise en page automatique tableau importé

8 réponses
Avatar
Yannick
Bonjour à tous,

J'ai une petite question concernant l'import de tableau en txt dans excel.

Je m'explique , j'ai un logiciel de gestion avec lequel j'ai besoin
regulierement d'exporter des données , cela peut se faire uniquement en txt
, et je n'ai pas le choix des colonnes

En ouvrant excel et mon tableau , je dois à chaque fois supprimer bon nombre
de colonnes , trier d'une certaine facon , effacer les lignes contenant le
mot DEVIS (ou autre) et j'aimerai que tout cela soit automatisé.

En effet , je ne connais pas trop excel , mais par exemple j'utilise des
scripts pour faire des mise en page sous photoshop , avec un bouton
enregistrer , il enregistre toutes mes manips , et genere un script ...

Est ce qu'il y a moyen de faire quelque chose comme cela sous excel , et si
oui merci d'avance ;.. je precise que je m'y connais pas en VB pour pouvoir
le programmer moi meme.

Merci d'avance,

8 réponses

Avatar
MichDenis
Bonjour Yannick,

Excel possède son enregistreur de macro.
Si tu le mets en marche et que tu effectue l'ouverture
de ton fichier texte à partir de la commande Fichier / ouvrir
Excel devrait enregistrer la quasi totalité de tes opérations
sur le fichier.
Dans un second temps, à partir de ce qu'à générer Excel
comme code, il y a moyen de l'améliorer et de le rendre
plus "générique".

Tu peux publier sur le site internet Cjoint.com ou Cijoint.fr
un bout de ton fichier Texte et un petit fichier Excel sur le
résultat que tu désires obtenir après traitement.

Ne pas oublier de publier ici l'adresse que tu obtiendras.



"Yannick" a écrit dans le message de groupe de discussion :

Bonjour à tous,

J'ai une petite question concernant l'import de tableau en txt dans excel.

Je m'explique , j'ai un logiciel de gestion avec lequel j'ai besoin
regulierement d'exporter des données , cela peut se faire uniquement en txt
, et je n'ai pas le choix des colonnes

En ouvrant excel et mon tableau , je dois à chaque fois supprimer bon nombre
de colonnes , trier d'une certaine facon , effacer les lignes contenant le
mot DEVIS (ou autre) et j'aimerai que tout cela soit automatisé.

En effet , je ne connais pas trop excel , mais par exemple j'utilise des
scripts pour faire des mise en page sous photoshop , avec un bouton
enregistrer , il enregistre toutes mes manips , et genere un script ...

Est ce qu'il y a moyen de faire quelque chose comme cela sous excel , et si
oui merci d'avance ;.. je precise que je m'y connais pas en VB pour pouvoir
le programmer moi meme.

Merci d'avance,
Avatar
Thierry.E
Bonjour,

Il existe bien un enregistreur de macros sous Excel :
Excel 2003 : Outils==>Macro==>Nouvelle Macro
Excel 2007 : Affichage==>Macros==>Enregistrer une macro

Ensuite il faut lui donner un nom et indiquer l'emplacement de
l'enregistrement du code de la macro (Classeur de macros personnelles si la
macro est utilisée par plusieurs classeurs. Dans ce classeur si la macro ne
sera utilisée que dans ce classeur).
Faire toutes les manipulations et cliquer sur fin d'enregistrement.

Il est fortement conseiller d'aller jeter un coup d'oeil dans le code VBA
ensuite (Alt F11). En effet par exemple si lors de l'enregistrement tu as
sélectionné la cellule F2 et que lors d'un nouvel import la cellule à
sélectionner est F3, Excel sélectionnera la cellule F2.

Bon courage ^_^
Thierry

"Yannick" a écrit dans le message de news:

Bonjour à tous,

J'ai une petite question concernant l'import de tableau en txt dans excel.

Je m'explique , j'ai un logiciel de gestion avec lequel j'ai besoin
regulierement d'exporter des données , cela peut se faire uniquement en
txt , et je n'ai pas le choix des colonnes

En ouvrant excel et mon tableau , je dois à chaque fois supprimer bon
nombre de colonnes , trier d'une certaine facon , effacer les lignes
contenant le mot DEVIS (ou autre) et j'aimerai que tout cela soit
automatisé.

En effet , je ne connais pas trop excel , mais par exemple j'utilise des
scripts pour faire des mise en page sous photoshop , avec un bouton
enregistrer , il enregistre toutes mes manips , et genere un script ...

Est ce qu'il y a moyen de faire quelque chose comme cela sous excel , et
si oui merci d'avance ;.. je precise que je m'y connais pas en VB pour
pouvoir le programmer moi meme.

Merci d'avance,


Avatar
Yannick
Bonjour,

Merci de ta réponse rapide, alors voici le fichier .txt

http://www.cijoint.fr/cjlink.php?file=cj200908/cijJs7qVuL.txt

et voici le fichier .xls final
http://www.cijoint.fr/cjlink.php?file=cj200908/cijuFCFFDX.xls

Voici les modifs à apporter

- Suppréssion de colonnes suivantes :
B - C - D - J - K - L - M - N - O - P - R - S - T - U - W - X - Y - Z - AA -
AB - AE - AF - AG - AH - AI - AK - AL - AN

- Ensuite suppression des lignes comprenant DEVIS et COMMANDES en COLONNE A
- Suppression des lignes comprenant la lettre L en COLONNE G (devenu colonne
D apres suppression des colonnes etape 1)
- Supression des lignes comprenant le mot PHARMACIES XXX
- Ajout mot BS en K1
- Ligne 1 , texte centré , gras
- Mise en page PAYSAGE au lieu de PORTRAIT
- toutes les marges à 0.2cm

J'ai bien essayer de le faire avec l'enregistreur , mais rien qu'a la
suppression des colonnes , quand je le refait , il me met un debogage ...

D'avance merci




"MichDenis" a écrit dans le message de
news:%23%
Bonjour Yannick,

Excel possède son enregistreur de macro.
Si tu le mets en marche et que tu effectue l'ouverture
de ton fichier texte à partir de la commande Fichier / ouvrir
Excel devrait enregistrer la quasi totalité de tes opérations
sur le fichier.
Dans un second temps, à partir de ce qu'à générer Excel
comme code, il y a moyen de l'améliorer et de le rendre
plus "générique".

Tu peux publier sur le site internet Cjoint.com ou Cijoint.fr
un bout de ton fichier Texte et un petit fichier Excel sur le
résultat que tu désires obtenir après traitement.

Ne pas oublier de publier ici l'adresse que tu obtiendras.



"Yannick" a écrit dans le message de groupe de
discussion :

Bonjour à tous,

J'ai une petite question concernant l'import de tableau en txt dans excel.

Je m'explique , j'ai un logiciel de gestion avec lequel j'ai besoin
regulierement d'exporter des données , cela peut se faire uniquement en
txt
, et je n'ai pas le choix des colonnes

En ouvrant excel et mon tableau , je dois à chaque fois supprimer bon
nombre
de colonnes , trier d'une certaine facon , effacer les lignes contenant le
mot DEVIS (ou autre) et j'aimerai que tout cela soit automatisé.

En effet , je ne connais pas trop excel , mais par exemple j'utilise des
scripts pour faire des mise en page sous photoshop , avec un bouton
enregistrer , il enregistre toutes mes manips , et genere un script ...

Est ce qu'il y a moyen de faire quelque chose comme cela sous excel , et
si
oui merci d'avance ;.. je precise que je m'y connais pas en VB pour
pouvoir
le programmer moi meme.

Merci d'avance,



Avatar
MichDenis
Bonjour Thierry,

Ta macro ressemblerait à ceci :

Ceci signifie que les fichiers texte que tu vas ouvrir
avec cette macro sont tous identiques en ce qui
concernent le nombre de champ et le type de
contenu de chaque champ.

Tu copies ceci dans un module standard
et tu adaptes le chemin où sont tes fichiers
sur le disque dur.

Attention, il se peut que le service de messagerie coupe les
lignes de code à des endroits inopportuns. Il faudra alors
tout remettre en place !
'----------------------------------------
Sub test()

Dim Fichier As Variant
Dim Chemin As String

'Si tu veux spécifier où la fenêtre doit ouvrir
Chemin = "c:UsersDMDownloads"

CurDir Left(Chemin, 2)
ChDir Chemin

Fichier = Application.GetOpenFilename("Text Files (*.txt), *.txt")
If Fichier <> False Then
Workbooks.OpenText Filename:=MonFichier, Origin:= _
xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlNone, _
ConsecutiveDelimiter:úlse, Tab:=True, Semicolon:úlse, Comma:úlse _
, Space:úlse, Other:úlse, FieldInfo:=Array(Array(1, 1), Array(2, 9), _
Array(3, 9), Array(4, 9), Array(5, 1), Array(6, 4), Array(7, 1), Array(8, 1),
Array(9, 1), _
Array(10, 9), Array(11, 9), Array(12, 9), Array(13, 9), Array(14, 9), Array(15,
9), Array( _
16, 9), Array(17, 1), Array(18, 9), Array(19, 9), Array(20, 9), Array(21, 9),
Array(22, 1), _
Array(23, 9), Array(24, 9), Array(25, 9), Array(26, 9), Array(27, 9), Array(28,
9), Array( _
29, 1), Array(30, 1), Array(31, 9), Array(32, 9), Array(33, 9), Array(34, 9),
Array(35, 9), _
Array(36, 9), Array(37, 9), Array(38, 9), Array(39, 9)), DecimalSeparator:=".", _
TrailingMinusNumbers:úlse
ActiveWorkbook.Worksheets(1).Range("A1").CurrentRegion.EntireColumn.AutoFit
End If
End Sub
'----------------------------------------



"Thierry.E" <aucune_at_aucune.fr> a écrit dans le message de groupe de discussion :

Bonjour,

Il existe bien un enregistreur de macros sous Excel :
Excel 2003 : Outils==>Macro==>Nouvelle Macro
Excel 2007 : Affichage==>Macros==>Enregistrer une macro

Ensuite il faut lui donner un nom et indiquer l'emplacement de
l'enregistrement du code de la macro (Classeur de macros personnelles si la
macro est utilisée par plusieurs classeurs. Dans ce classeur si la macro ne
sera utilisée que dans ce classeur).
Faire toutes les manipulations et cliquer sur fin d'enregistrement.

Il est fortement conseiller d'aller jeter un coup d'oeil dans le code VBA
ensuite (Alt F11). En effet par exemple si lors de l'enregistrement tu as
sélectionné la cellule F2 et que lors d'un nouvel import la cellule à
sélectionner est F3, Excel sélectionnera la cellule F2.

Bon courage ^_^
Thierry

"Yannick" a écrit dans le message de news:

Bonjour à tous,

J'ai une petite question concernant l'import de tableau en txt dans excel.

Je m'explique , j'ai un logiciel de gestion avec lequel j'ai besoin
regulierement d'exporter des données , cela peut se faire uniquement en
txt , et je n'ai pas le choix des colonnes

En ouvrant excel et mon tableau , je dois à chaque fois supprimer bon
nombre de colonnes , trier d'une certaine facon , effacer les lignes
contenant le mot DEVIS (ou autre) et j'aimerai que tout cela soit
automatisé.

En effet , je ne connais pas trop excel , mais par exemple j'utilise des
scripts pour faire des mise en page sous photoshop , avec un bouton
enregistrer , il enregistre toutes mes manips , et genere un script ...

Est ce qu'il y a moyen de faire quelque chose comme cela sous excel , et
si oui merci d'avance ;.. je precise que je m'y connais pas en VB pour
pouvoir le programmer moi meme.

Merci d'avance,


Avatar
Yannick
salut

merci pour ton aide , mais le code presente des erreurs de syntaxe me dit il
!

Je pense qu'il faudrait me l'envoyer en txt pour etre sur que cela
fonctionne ... dois je ouvrir mon txt avant d'executer la macro ou il fait
tout tout seul ?
J'ai bien modifié le chemin ...

mon mail est ysocquet at gmail.com

d'avance merci


Sub test()

Dim Fichier As Variant
Dim Chemin As String

'Si tu veux spécifier où la fenêtre doit ouvrir
Chemin = "C:osiris004xls"

CurDir Left(Chemin, 2)
ChDir Chemin

Fichier = Application.GetOpenFilename("Text Files (*.txt), *.txt")
If Fichier <> False Then
Workbooks.OpenText Filename:=MonFichier, Origin:= _
xlWindows, StartRow:=1, DataType:=xlDelimited,
TextQualifier:=xlNone, _
ConsecutiveDelimiter:úlse, Tab:=True, Semicolon:úlse,
Comma:úlse _
, Space:úlse, Other:úlse, FieldInfo:=Array(Array(1, 1), Array(2,
9), _
Array(3, 9), Array(4, 9), Array(5, 1), Array(6, 4), Array(7, 1),
Array(8, 1),
Array(9, 1), _
Array(10, 9), Array(11, 9), Array(12, 9), Array(13, 9), Array(14,
9), Array(15,
9), Array( _
16, 9), Array(17, 1), Array(18, 9), Array(19, 9), Array(20, 9),
Array(21, 9),
Array(22, 1), _
Array(23, 9), Array(24, 9), Array(25, 9), Array(26, 9), Array(27,
9), Array(28,
9), Array( _
29, 1), Array(30, 1), Array(31, 9), Array(32, 9), Array(33, 9),
Array(34, 9),
Array(35, 9), _
Array(36, 9), Array(37, 9), Array(38, 9), Array(39, 9)),
DecimalSeparator:=".", _
TrailingMinusNumbers:úlse
ActiveWorkbook.Worksheets(1).Range("A1").CurrentRegion.EntireColumn.AutoFit
End If
End Sub


"MichDenis" a écrit dans le message de
news:%
Bonjour Thierry,

Ta macro ressemblerait à ceci :

Ceci signifie que les fichiers texte que tu vas ouvrir
avec cette macro sont tous identiques en ce qui
concernent le nombre de champ et le type de
contenu de chaque champ.

Tu copies ceci dans un module standard
et tu adaptes le chemin où sont tes fichiers
sur le disque dur.

Attention, il se peut que le service de messagerie coupe les
lignes de code à des endroits inopportuns. Il faudra alors
tout remettre en place !
'----------------------------------------
Sub test()

Dim Fichier As Variant
Dim Chemin As String

'Si tu veux spécifier où la fenêtre doit ouvrir
Chemin = "c:UsersDMDownloads"

CurDir Left(Chemin, 2)
ChDir Chemin

Fichier = Application.GetOpenFilename("Text Files (*.txt), *.txt")
If Fichier <> False Then
Workbooks.OpenText Filename:=MonFichier, Origin:= _
xlWindows, StartRow:=1, DataType:=xlDelimited,
TextQualifier:=xlNone, _
ConsecutiveDelimiter:úlse, Tab:=True, Semicolon:úlse,
Comma:úlse _
, Space:úlse, Other:úlse, FieldInfo:=Array(Array(1, 1),
Array(2, 9), _
Array(3, 9), Array(4, 9), Array(5, 1), Array(6, 4), Array(7, 1),
Array(8, 1),
Array(9, 1), _
Array(10, 9), Array(11, 9), Array(12, 9), Array(13, 9), Array(14,
9), Array(15,
9), Array( _
16, 9), Array(17, 1), Array(18, 9), Array(19, 9), Array(20, 9),
Array(21, 9),
Array(22, 1), _
Array(23, 9), Array(24, 9), Array(25, 9), Array(26, 9), Array(27,
9), Array(28,
9), Array( _
29, 1), Array(30, 1), Array(31, 9), Array(32, 9), Array(33, 9),
Array(34, 9),
Array(35, 9), _
Array(36, 9), Array(37, 9), Array(38, 9), Array(39, 9)),
DecimalSeparator:=".", _
TrailingMinusNumbers:úlse

ActiveWorkbook.Worksheets(1).Range("A1").CurrentRegion.EntireColumn.AutoFit
End If
End Sub
'----------------------------------------



"Thierry.E" <aucune_at_aucune.fr> a écrit dans le message de groupe de
discussion :

Bonjour,

Il existe bien un enregistreur de macros sous Excel :
Excel 2003 : Outils==>Macro==>Nouvelle Macro
Excel 2007 : Affichage==>Macros==>Enregistrer une macro

Ensuite il faut lui donner un nom et indiquer l'emplacement de
l'enregistrement du code de la macro (Classeur de macros personnelles si
la
macro est utilisée par plusieurs classeurs. Dans ce classeur si la macro
ne
sera utilisée que dans ce classeur).
Faire toutes les manipulations et cliquer sur fin d'enregistrement.

Il est fortement conseiller d'aller jeter un coup d'oeil dans le code VBA
ensuite (Alt F11). En effet par exemple si lors de l'enregistrement tu as
sélectionné la cellule F2 et que lors d'un nouvel import la cellule à
sélectionner est F3, Excel sélectionnera la cellule F2.

Bon courage ^_^
Thierry

"Yannick" a écrit dans le message de news:

Bonjour à tous,

J'ai une petite question concernant l'import de tableau en txt dans
excel.

Je m'explique , j'ai un logiciel de gestion avec lequel j'ai besoin
regulierement d'exporter des données , cela peut se faire uniquement en
txt , et je n'ai pas le choix des colonnes

En ouvrant excel et mon tableau , je dois à chaque fois supprimer bon
nombre de colonnes , trier d'une certaine facon , effacer les lignes
contenant le mot DEVIS (ou autre) et j'aimerai que tout cela soit
automatisé.

En effet , je ne connais pas trop excel , mais par exemple j'utilise des
scripts pour faire des mise en page sous photoshop , avec un bouton
enregistrer , il enregistre toutes mes manips , et genere un script ...

Est ce qu'il y a moyen de faire quelque chose comme cela sous excel , et
si oui merci d'avance ;.. je precise que je m'y connais pas en VB pour
pouvoir le programmer moi meme.

Merci d'avance,





Avatar
MichDenis
Un fichier exemple contenant la macro :

http://cjoint.com/?iunHbzfRBf



"Yannick" a écrit dans le message de groupe de discussion :
umI60$
salut

merci pour ton aide , mais le code presente des erreurs de syntaxe me dit il
!

Je pense qu'il faudrait me l'envoyer en txt pour etre sur que cela
fonctionne ... dois je ouvrir mon txt avant d'executer la macro ou il fait
tout tout seul ?
J'ai bien modifié le chemin ...

mon mail est ysocquet at gmail.com

d'avance merci


Sub test()

Dim Fichier As Variant
Dim Chemin As String

'Si tu veux spécifier où la fenêtre doit ouvrir
Chemin = "C:osiris004xls"

CurDir Left(Chemin, 2)
ChDir Chemin

Fichier = Application.GetOpenFilename("Text Files (*.txt), *.txt")
If Fichier <> False Then
Workbooks.OpenText Filename:=MonFichier, Origin:= _
xlWindows, StartRow:=1, DataType:=xlDelimited,
TextQualifier:=xlNone, _
ConsecutiveDelimiter:úlse, Tab:=True, Semicolon:úlse,
Comma:úlse _
, Space:úlse, Other:úlse, FieldInfo:=Array(Array(1, 1), Array(2,
9), _
Array(3, 9), Array(4, 9), Array(5, 1), Array(6, 4), Array(7, 1),
Array(8, 1),
Array(9, 1), _
Array(10, 9), Array(11, 9), Array(12, 9), Array(13, 9), Array(14,
9), Array(15,
9), Array( _
16, 9), Array(17, 1), Array(18, 9), Array(19, 9), Array(20, 9),
Array(21, 9),
Array(22, 1), _
Array(23, 9), Array(24, 9), Array(25, 9), Array(26, 9), Array(27,
9), Array(28,
9), Array( _
29, 1), Array(30, 1), Array(31, 9), Array(32, 9), Array(33, 9),
Array(34, 9),
Array(35, 9), _
Array(36, 9), Array(37, 9), Array(38, 9), Array(39, 9)),
DecimalSeparator:=".", _
TrailingMinusNumbers:úlse
ActiveWorkbook.Worksheets(1).Range("A1").CurrentRegion.EntireColumn.AutoFit
End If
End Sub


"MichDenis" a écrit dans le message de
news:%
Bonjour Thierry,

Ta macro ressemblerait à ceci :

Ceci signifie que les fichiers texte que tu vas ouvrir
avec cette macro sont tous identiques en ce qui
concernent le nombre de champ et le type de
contenu de chaque champ.

Tu copies ceci dans un module standard
et tu adaptes le chemin où sont tes fichiers
sur le disque dur.

Attention, il se peut que le service de messagerie coupe les
lignes de code à des endroits inopportuns. Il faudra alors
tout remettre en place !
'----------------------------------------
Sub test()

Dim Fichier As Variant
Dim Chemin As String

'Si tu veux spécifier où la fenêtre doit ouvrir
Chemin = "c:UsersDMDownloads"

CurDir Left(Chemin, 2)
ChDir Chemin

Fichier = Application.GetOpenFilename("Text Files (*.txt), *.txt")
If Fichier <> False Then
Workbooks.OpenText Filename:=MonFichier, Origin:= _
xlWindows, StartRow:=1, DataType:=xlDelimited,
TextQualifier:=xlNone, _
ConsecutiveDelimiter:úlse, Tab:=True, Semicolon:úlse,
Comma:úlse _
, Space:úlse, Other:úlse, FieldInfo:=Array(Array(1, 1),
Array(2, 9), _
Array(3, 9), Array(4, 9), Array(5, 1), Array(6, 4), Array(7, 1),
Array(8, 1),
Array(9, 1), _
Array(10, 9), Array(11, 9), Array(12, 9), Array(13, 9), Array(14,
9), Array(15,
9), Array( _
16, 9), Array(17, 1), Array(18, 9), Array(19, 9), Array(20, 9),
Array(21, 9),
Array(22, 1), _
Array(23, 9), Array(24, 9), Array(25, 9), Array(26, 9), Array(27,
9), Array(28,
9), Array( _
29, 1), Array(30, 1), Array(31, 9), Array(32, 9), Array(33, 9),
Array(34, 9),
Array(35, 9), _
Array(36, 9), Array(37, 9), Array(38, 9), Array(39, 9)),
DecimalSeparator:=".", _
TrailingMinusNumbers:úlse

ActiveWorkbook.Worksheets(1).Range("A1").CurrentRegion.EntireColumn.AutoFit
End If
End Sub
'----------------------------------------



"Thierry.E" <aucune_at_aucune.fr> a écrit dans le message de groupe de
discussion :

Bonjour,

Il existe bien un enregistreur de macros sous Excel :
Excel 2003 : Outils==>Macro==>Nouvelle Macro
Excel 2007 : Affichage==>Macros==>Enregistrer une macro

Ensuite il faut lui donner un nom et indiquer l'emplacement de
l'enregistrement du code de la macro (Classeur de macros personnelles si
la
macro est utilisée par plusieurs classeurs. Dans ce classeur si la macro
ne
sera utilisée que dans ce classeur).
Faire toutes les manipulations et cliquer sur fin d'enregistrement.

Il est fortement conseiller d'aller jeter un coup d'oeil dans le code VBA
ensuite (Alt F11). En effet par exemple si lors de l'enregistrement tu as
sélectionné la cellule F2 et que lors d'un nouvel import la cellule à
sélectionner est F3, Excel sélectionnera la cellule F2.

Bon courage ^_^
Thierry

"Yannick" a écrit dans le message de news:

Bonjour à tous,

J'ai une petite question concernant l'import de tableau en txt dans
excel.

Je m'explique , j'ai un logiciel de gestion avec lequel j'ai besoin
regulierement d'exporter des données , cela peut se faire uniquement en
txt , et je n'ai pas le choix des colonnes

En ouvrant excel et mon tableau , je dois à chaque fois supprimer bon
nombre de colonnes , trier d'une certaine facon , effacer les lignes
contenant le mot DEVIS (ou autre) et j'aimerai que tout cela soit
automatisé.

En effet , je ne connais pas trop excel , mais par exemple j'utilise des
scripts pour faire des mise en page sous photoshop , avec un bouton
enregistrer , il enregistre toutes mes manips , et genere un script ...

Est ce qu'il y a moyen de faire quelque chose comme cela sous excel , et
si oui merci d'avance ;.. je precise que je m'y connais pas en VB pour
pouvoir le programmer moi meme.

Merci d'avance,





Avatar
Yannick
salut !

merci effectivement cela fonctionne bien

par contre , il n'y a que les modif de suppressions de colonnes

comment faire pour automatiser le reste de mes modifs cités dans mon
precedent post

d'avance merci
"MichDenis" a écrit dans le message de
news:%
Un fichier exemple contenant la macro :

http://cjoint.com/?iunHbzfRBf



"Yannick" a écrit dans le message de groupe de
discussion :
umI60$
salut

merci pour ton aide , mais le code presente des erreurs de syntaxe me dit
il
!

Je pense qu'il faudrait me l'envoyer en txt pour etre sur que cela
fonctionne ... dois je ouvrir mon txt avant d'executer la macro ou il fait
tout tout seul ?
J'ai bien modifié le chemin ...

mon mail est ysocquet at gmail.com

d'avance merci


Sub test()

Dim Fichier As Variant
Dim Chemin As String

'Si tu veux spécifier où la fenêtre doit ouvrir
Chemin = "C:osiris004xls"

CurDir Left(Chemin, 2)
ChDir Chemin

Fichier = Application.GetOpenFilename("Text Files (*.txt), *.txt")
If Fichier <> False Then
Workbooks.OpenText Filename:=MonFichier, Origin:= _
xlWindows, StartRow:=1, DataType:=xlDelimited,
TextQualifier:=xlNone, _
ConsecutiveDelimiter:úlse, Tab:=True, Semicolon:úlse,
Comma:úlse _
, Space:úlse, Other:úlse, FieldInfo:=Array(Array(1, 1),
Array(2,
9), _
Array(3, 9), Array(4, 9), Array(5, 1), Array(6, 4), Array(7, 1),
Array(8, 1),
Array(9, 1), _
Array(10, 9), Array(11, 9), Array(12, 9), Array(13, 9), Array(14,
9), Array(15,
9), Array( _
16, 9), Array(17, 1), Array(18, 9), Array(19, 9), Array(20, 9),
Array(21, 9),
Array(22, 1), _
Array(23, 9), Array(24, 9), Array(25, 9), Array(26, 9), Array(27,
9), Array(28,
9), Array( _
29, 1), Array(30, 1), Array(31, 9), Array(32, 9), Array(33, 9),
Array(34, 9),
Array(35, 9), _
Array(36, 9), Array(37, 9), Array(38, 9), Array(39, 9)),
DecimalSeparator:=".", _
TrailingMinusNumbers:úlse

ActiveWorkbook.Worksheets(1).Range("A1").CurrentRegion.EntireColumn.AutoFit
End If
End Sub


"MichDenis" a écrit dans le message de
news:%
Bonjour Thierry,

Ta macro ressemblerait à ceci :

Ceci signifie que les fichiers texte que tu vas ouvrir
avec cette macro sont tous identiques en ce qui
concernent le nombre de champ et le type de
contenu de chaque champ.

Tu copies ceci dans un module standard
et tu adaptes le chemin où sont tes fichiers
sur le disque dur.

Attention, il se peut que le service de messagerie coupe les
lignes de code à des endroits inopportuns. Il faudra alors
tout remettre en place !
'----------------------------------------
Sub test()

Dim Fichier As Variant
Dim Chemin As String

'Si tu veux spécifier où la fenêtre doit ouvrir
Chemin = "c:UsersDMDownloads"

CurDir Left(Chemin, 2)
ChDir Chemin

Fichier = Application.GetOpenFilename("Text Files (*.txt), *.txt")
If Fichier <> False Then
Workbooks.OpenText Filename:=MonFichier, Origin:= _
xlWindows, StartRow:=1, DataType:=xlDelimited,
TextQualifier:=xlNone, _
ConsecutiveDelimiter:úlse, Tab:=True, Semicolon:úlse,
Comma:úlse _
, Space:úlse, Other:úlse, FieldInfo:=Array(Array(1, 1),
Array(2, 9), _
Array(3, 9), Array(4, 9), Array(5, 1), Array(6, 4), Array(7, 1),
Array(8, 1),
Array(9, 1), _
Array(10, 9), Array(11, 9), Array(12, 9), Array(13, 9), Array(14,
9), Array(15,
9), Array( _
16, 9), Array(17, 1), Array(18, 9), Array(19, 9), Array(20, 9),
Array(21, 9),
Array(22, 1), _
Array(23, 9), Array(24, 9), Array(25, 9), Array(26, 9), Array(27,
9), Array(28,
9), Array( _
29, 1), Array(30, 1), Array(31, 9), Array(32, 9), Array(33, 9),
Array(34, 9),
Array(35, 9), _
Array(36, 9), Array(37, 9), Array(38, 9), Array(39, 9)),
DecimalSeparator:=".", _
TrailingMinusNumbers:úlse

ActiveWorkbook.Worksheets(1).Range("A1").CurrentRegion.EntireColumn.AutoFit
End If
End Sub
'----------------------------------------



"Thierry.E" <aucune_at_aucune.fr> a écrit dans le message de groupe de
discussion :

Bonjour,

Il existe bien un enregistreur de macros sous Excel :
Excel 2003 : Outils==>Macro==>Nouvelle Macro
Excel 2007 : Affichage==>Macros==>Enregistrer une macro

Ensuite il faut lui donner un nom et indiquer l'emplacement de
l'enregistrement du code de la macro (Classeur de macros personnelles si
la
macro est utilisée par plusieurs classeurs. Dans ce classeur si la macro
ne
sera utilisée que dans ce classeur).
Faire toutes les manipulations et cliquer sur fin d'enregistrement.

Il est fortement conseiller d'aller jeter un coup d'oeil dans le code VBA
ensuite (Alt F11). En effet par exemple si lors de l'enregistrement tu as
sélectionné la cellule F2 et que lors d'un nouvel import la cellule à
sélectionner est F3, Excel sélectionnera la cellule F2.

Bon courage ^_^
Thierry

"Yannick" a écrit dans le message de news:

Bonjour à tous,

J'ai une petite question concernant l'import de tableau en txt dans
excel.

Je m'explique , j'ai un logiciel de gestion avec lequel j'ai besoin
regulierement d'exporter des données , cela peut se faire uniquement en
txt , et je n'ai pas le choix des colonnes

En ouvrant excel et mon tableau , je dois à chaque fois supprimer bon
nombre de colonnes , trier d'une certaine facon , effacer les lignes
contenant le mot DEVIS (ou autre) et j'aimerai que tout cela soit
automatisé.

En effet , je ne connais pas trop excel , mais par exemple j'utilise des
scripts pour faire des mise en page sous photoshop , avec un bouton
enregistrer , il enregistre toutes mes manips , et genere un script ...

Est ce qu'il y a moyen de faire quelque chose comme cela sous excel , et
si oui merci d'avance ;.. je precise que je m'y connais pas en VB pour
pouvoir le programmer moi meme.

Merci d'avance,








Avatar
MichDenis
| comment faire pour automatiser le reste de mes
| modifs cités dans mon precedent post

L'essentiel de ta macro est faite !

Si tu veux transformer certaines données, tu peux
poser toutes les questions que tu désires sur ce forum.

Tu ouvres un nouveau fil et tu poses précisément ce
que tu tentes d'accomplir.
Nom de la feuille, l'étendue de la plage de cellules concernées
à quoi ressemble les données actuelles, quel serait le résultat souhaité...

Attention, ici c'est un service de partage où Tu es le boss de ton fichier
et c'est à toi qu'incombe de faire le travail.