mise en page automatique tableau importé

Le
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,
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MichDenis
Le #19954671
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"
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,
Thierry.E
Le #19954701
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"
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,


Yannick
Le #19954841
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" 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" 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,



MichDenis
Le #19955451
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"
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"
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,


Yannick
Le #19957471
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" 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" 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"
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,





MichDenis
Le #19958651
Un fichier exemple contenant la macro :

http://cjoint.com/?iunHbzfRBf



"Yannick" 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" 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" 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"
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,





Yannick
Le #19958761
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" news:%
Un fichier exemple contenant la macro :

http://cjoint.com/?iunHbzfRBf



"Yannick" 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" 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" 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"
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,








MichDenis
Le #19959181
| 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.
Publicité
Poster une réponse
Anonyme