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

VBA Selection et ouverture d'un fichier texte

6 réponses
Avatar
Domi
Bonjour à tous,
J'utilise dans une macro cette syntaxe pour ouvrir et formater rapidement un
fichier texte.Ca marche.

Workbooks.OpenText Filename:="D:\test\2006.txt", Origin:=xlMSDOS,
StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True,
Semicolon:=True, _
Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(Array(1,
2), _
Array(2, 2), Array(3, 1), Array(4, 4), Array(5, 2), Array(6, 2),
Array(7, 2), ......etc

Je voudrais pouvoir choisir via Application.Dialogs(xlDialogOpen).Show (ou
autre) le fichier et le formater ensuite comme ci dessus.
Ca coince, le fichier est bien selectionné mais la macro s'arrête sur
l'etape 1 de l'assistant import Texte... si je fait ensuite "terminer" la
macro se pousuit et j'ai un message d'erreur qui me dit que le fichier
Fichier.xls est introuvable....
Que faut-il faire pour eviter cela ?

Ce que j'ai fait :
Application.DisplayAlerts = False
Application.ScreenUpdating = False
'Sélection du fichier à convertir (D:\test\2006.txt)
Select Case Application.Dialogs(xlDialogOpen).Show
Case True
Fichier = ActiveWorkbook.Name
Case False
MsgBox "Aucun fichier n'a été sélectionnné", vbExclamation, "Erreur"
Exit Sub
End Select
'
Workbooks.OpenText Filename:="Fichier", Origin:=xlMSDOS, StartRow:=1,
DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True,
Semicolon:=True, _
Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(Array(1,
2), _
Array(2, 2), Array(3, 1), Array(4, 4), Array(5, 2), Array(6, 2),
Array(7, 2), ...etc


Merci
Domi

6 réponses

Avatar
ru-th
Salut

un piste....
Pour le début
fichier = Application.GetOpenFilename("Fichiers texte (*.txt), *.txt")
If fichier = False Then Exit Sub
Workbooks.Open fichier

et après utilise l'enregistreur de macro avec donnée/convertir pour le
formatage

a+
rural thierry

"Domi" a écrit dans le message de
news:
Bonjour à tous,
J'utilise dans une macro cette syntaxe pour ouvrir et formater rapidement
un

fichier texte.Ca marche.

Workbooks.OpenText Filename:="D:test2006.txt", Origin:=xlMSDOS,
StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:úlse, Tab:=True,
Semicolon:=True, _
Comma:úlse, Space:úlse, Other:úlse,
FieldInfo:=Array(Array(1,

2), _
Array(2, 2), Array(3, 1), Array(4, 4), Array(5, 2), Array(6, 2),
Array(7, 2), ......etc

Je voudrais pouvoir choisir via Application.Dialogs(xlDialogOpen).Show (ou
autre) le fichier et le formater ensuite comme ci dessus.
Ca coince, le fichier est bien selectionné mais la macro s'arrête sur
l'etape 1 de l'assistant import Texte... si je fait ensuite "terminer" la
macro se pousuit et j'ai un message d'erreur qui me dit que le fichier
Fichier.xls est introuvable....
Que faut-il faire pour eviter cela ?

Ce que j'ai fait :
Application.DisplayAlerts = False
Application.ScreenUpdating = False
'Sélection du fichier à convertir (D:test2006.txt)
Select Case Application.Dialogs(xlDialogOpen).Show
Case True
Fichier = ActiveWorkbook.Name
Case False
MsgBox "Aucun fichier n'a été sélectionnné", vbExclamation,
"Erreur"

Exit Sub
End Select
'
Workbooks.OpenText Filename:="Fichier", Origin:=xlMSDOS, StartRow:=1,
DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:úlse, Tab:=True,
Semicolon:=True, _
Comma:úlse, Space:úlse, Other:úlse,
FieldInfo:=Array(Array(1,

2), _
Array(2, 2), Array(3, 1), Array(4, 4), Array(5, 2), Array(6, 2),
Array(7, 2), ...etc


Merci
Domi





Avatar
FFO
Salut à toi
A première vue ton instruction comporte une erreur de syntaxe dans la partie :
Workbooks.OpenText Filename:="Fichier", ....
Si tu fait appel à la valeur "Fichier" décrite en amont (Fichier =
ActiveWorkbook.Name) tu ne doit pas la mettre entre 2 guillemets
Met plutôt ainsi :
Workbooks.OpenText Filename:=Fichier, ....

Celà devrait mieux fonctionner

Dis moi !!!

Bonjour à tous,
J'utilise dans une macro cette syntaxe pour ouvrir et formater rapidement un
fichier texte.Ca marche.

Workbooks.OpenText Filename:="D:test2006.txt", Origin:=xlMSDOS,
StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:úlse, Tab:=True,
Semicolon:=True, _
Comma:úlse, Space:úlse, Other:úlse, FieldInfo:=Array(Array(1,
2), _
Array(2, 2), Array(3, 1), Array(4, 4), Array(5, 2), Array(6, 2),
Array(7, 2), ......etc

Je voudrais pouvoir choisir via Application.Dialogs(xlDialogOpen).Show (ou
autre) le fichier et le formater ensuite comme ci dessus.
Ca coince, le fichier est bien selectionné mais la macro s'arrête sur
l'etape 1 de l'assistant import Texte... si je fait ensuite "terminer" la
macro se pousuit et j'ai un message d'erreur qui me dit que le fichier
Fichier.xls est introuvable....
Que faut-il faire pour eviter cela ?

Ce que j'ai fait :
Application.DisplayAlerts = False
Application.ScreenUpdating = False
'Sélection du fichier à convertir (D:test2006.txt)
Select Case Application.Dialogs(xlDialogOpen).Show
Case True
Fichier = ActiveWorkbook.Name
Case False
MsgBox "Aucun fichier n'a été sélectionnné", vbExclamation, "Erreur"
Exit Sub
End Select
'
Workbooks.OpenText Filename:="Fichier", Origin:=xlMSDOS, StartRow:=1,
DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:úlse, Tab:=True,
Semicolon:=True, _
Comma:úlse, Space:úlse, Other:úlse, FieldInfo:=Array(Array(1,
2), _
Array(2, 2), Array(3, 1), Array(4, 4), Array(5, 2), Array(6, 2),
Array(7, 2), ...etc


Merci
Domi






Avatar
Domi
Et la lumière fut...
Salut et merci pour ton aide ;o)
Domi




"ru-th" a écrit dans le message de news:

Salut

un piste....
Pour le début
fichier = Application.GetOpenFilename("Fichiers texte (*.txt), *.txt")
If fichier = False Then Exit Sub
Workbooks.Open fichier

et après utilise l'enregistreur de macro avec donnée/convertir pour le
formatage

a+
rural thierry

"Domi" a écrit dans le message de
news:
Bonjour à tous,
J'utilise dans une macro cette syntaxe pour ouvrir et formater rapidement
un

fichier texte.Ca marche.

Workbooks.OpenText Filename:="D:test2006.txt", Origin:=xlMSDOS,
StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:úlse, Tab:=True,
Semicolon:=True, _
Comma:úlse, Space:úlse, Other:úlse,
FieldInfo:=Array(Array(1,

2), _
Array(2, 2), Array(3, 1), Array(4, 4), Array(5, 2), Array(6, 2),
Array(7, 2), ......etc

Je voudrais pouvoir choisir via Application.Dialogs(xlDialogOpen).Show
(ou
autre) le fichier et le formater ensuite comme ci dessus.
Ca coince, le fichier est bien selectionné mais la macro s'arrête sur
l'etape 1 de l'assistant import Texte... si je fait ensuite "terminer" la
macro se pousuit et j'ai un message d'erreur qui me dit que le fichier
Fichier.xls est introuvable....
Que faut-il faire pour eviter cela ?

Ce que j'ai fait :
Application.DisplayAlerts = False
Application.ScreenUpdating = False
'Sélection du fichier à convertir (D:test2006.txt)
Select Case Application.Dialogs(xlDialogOpen).Show
Case True
Fichier = ActiveWorkbook.Name
Case False
MsgBox "Aucun fichier n'a été sélectionnné", vbExclamation,
"Erreur"

Exit Sub
End Select
'
Workbooks.OpenText Filename:="Fichier", Origin:=xlMSDOS, StartRow:=1,
DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:úlse, Tab:=True,
Semicolon:=True, _
Comma:úlse, Space:úlse, Other:úlse,
FieldInfo:=Array(Array(1,

2), _
Array(2, 2), Array(3, 1), Array(4, 4), Array(5, 2), Array(6, 2),
Array(7, 2), ...etc


Merci
Domi









Avatar
Domi
Le problème rest le même sans les guillmets sauf que je n'ai plus de message
à la fin...
Merci tout de même
Domi

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

Salut à toi
A première vue ton instruction comporte une erreur de syntaxe dans la
partie :
Workbooks.OpenText Filename:="Fichier", ....
Si tu fait appel à la valeur "Fichier" décrite en amont (Fichier > ActiveWorkbook.Name) tu ne doit pas la mettre entre 2 guillemets
Met plutôt ainsi :
Workbooks.OpenText Filename:=Fichier, ....

Celà devrait mieux fonctionner

Dis moi !!!

Bonjour à tous,
J'utilise dans une macro cette syntaxe pour ouvrir et formater rapidement
un
fichier texte.Ca marche.

Workbooks.OpenText Filename:="D:test2006.txt", Origin:=xlMSDOS,
StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:úlse, Tab:=True,
Semicolon:=True, _
Comma:úlse, Space:úlse, Other:úlse,
FieldInfo:=Array(Array(1,
2), _
Array(2, 2), Array(3, 1), Array(4, 4), Array(5, 2), Array(6, 2),
Array(7, 2), ......etc

Je voudrais pouvoir choisir via Application.Dialogs(xlDialogOpen).Show
(ou
autre) le fichier et le formater ensuite comme ci dessus.
Ca coince, le fichier est bien selectionné mais la macro s'arrête sur
l'etape 1 de l'assistant import Texte... si je fait ensuite "terminer" la
macro se pousuit et j'ai un message d'erreur qui me dit que le fichier
Fichier.xls est introuvable....
Que faut-il faire pour eviter cela ?

Ce que j'ai fait :
Application.DisplayAlerts = False
Application.ScreenUpdating = False
'Sélection du fichier à convertir (D:test2006.txt)
Select Case Application.Dialogs(xlDialogOpen).Show
Case True
Fichier = ActiveWorkbook.Name
Case False
MsgBox "Aucun fichier n'a été sélectionnné", vbExclamation,
"Erreur"
Exit Sub
End Select
'
Workbooks.OpenText Filename:="Fichier", Origin:=xlMSDOS, StartRow:=1,
DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:úlse, Tab:=True,
Semicolon:=True, _
Comma:úlse, Space:úlse, Other:úlse,
FieldInfo:=Array(Array(1,
2), _
Array(2, 2), Array(3, 1), Array(4, 4), Array(5, 2), Array(6, 2),
Array(7, 2), ...etc


Merci
Domi








Avatar
FFO
Essai ce code qui aprés l'avoir testé fonctionne :

Application.DisplayAlerts = False
Application.ScreenUpdating = False
'Sélection du fichier à convertir (D:test2006.txt)
ChDrive ("D")
ChDir "D:test"
Fichier = Application.GetOpenFilename("(*.txt),")
If Fichier = False Then
MsgBox "Aucun fichier n'a été sélectionnné", vbExclamation, "Erreur"
Exit Sub
End If
Workbooks.OpenText Filename:=Fichier, Origin:=xlMSDOS, StartRow:=1,
DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:úlse, Tab:=True, Semicolon:=True, _
Comma:úlse, Space:úlse, Other:úlse, FieldInfo:=Array(Array(1, 2), _
Array(2, 2), Array(3, 1), Array(4, 4), Array(5, 2), Array(6, 2), Array(7, 2))

Il a de plus l'avantage de prépositionner la boîte de dialogue sur une
partie du chemin
Reste à sélectionner la suite

Dis moi !!!!


Le problème rest le même sans les guillmets sauf que je n'ai plus de message
à la fin...
Merci tout de même
Domi

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

Salut à toi
A première vue ton instruction comporte une erreur de syntaxe dans la
partie :
Workbooks.OpenText Filename:="Fichier", ....
Si tu fait appel à la valeur "Fichier" décrite en amont (Fichier > > ActiveWorkbook.Name) tu ne doit pas la mettre entre 2 guillemets
Met plutôt ainsi :
Workbooks.OpenText Filename:=Fichier, ....

Celà devrait mieux fonctionner

Dis moi !!!

Bonjour à tous,
J'utilise dans une macro cette syntaxe pour ouvrir et formater rapidement
un
fichier texte.Ca marche.

Workbooks.OpenText Filename:="D:test2006.txt", Origin:=xlMSDOS,
StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:úlse, Tab:=True,
Semicolon:=True, _
Comma:úlse, Space:úlse, Other:úlse,
FieldInfo:=Array(Array(1,
2), _
Array(2, 2), Array(3, 1), Array(4, 4), Array(5, 2), Array(6, 2),
Array(7, 2), ......etc

Je voudrais pouvoir choisir via Application.Dialogs(xlDialogOpen).Show
(ou
autre) le fichier et le formater ensuite comme ci dessus.
Ca coince, le fichier est bien selectionné mais la macro s'arrête sur
l'etape 1 de l'assistant import Texte... si je fait ensuite "terminer" la
macro se pousuit et j'ai un message d'erreur qui me dit que le fichier
Fichier.xls est introuvable....
Que faut-il faire pour eviter cela ?

Ce que j'ai fait :
Application.DisplayAlerts = False
Application.ScreenUpdating = False
'Sélection du fichier à convertir (D:test2006.txt)
Select Case Application.Dialogs(xlDialogOpen).Show
Case True
Fichier = ActiveWorkbook.Name
Case False
MsgBox "Aucun fichier n'a été sélectionnné", vbExclamation,
"Erreur"
Exit Sub
End Select
'
Workbooks.OpenText Filename:="Fichier", Origin:=xlMSDOS, StartRow:=1,
DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:úlse, Tab:=True,
Semicolon:=True, _
Comma:úlse, Space:úlse, Other:úlse,
FieldInfo:=Array(Array(1,
2), _
Array(2, 2), Array(3, 1), Array(4, 4), Array(5, 2), Array(6, 2),
Array(7, 2), ...etc


Merci
Domi













Avatar
Domi
Salut,
ça marche ;o)
Merci
Domi

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

Essai ce code qui aprés l'avoir testé fonctionne :

Application.DisplayAlerts = False
Application.ScreenUpdating = False
'Sélection du fichier à convertir (D:test2006.txt)
ChDrive ("D")
ChDir "D:test"
Fichier = Application.GetOpenFilename("(*.txt),")
If Fichier = False Then
MsgBox "Aucun fichier n'a été sélectionnné", vbExclamation, "Erreur"
Exit Sub
End If
Workbooks.OpenText Filename:=Fichier, Origin:=xlMSDOS, StartRow:=1,
DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:úlse, Tab:=True, Semicolon:=True, _
Comma:úlse, Space:úlse, Other:úlse, FieldInfo:=Array(Array(1, 2), _
Array(2, 2), Array(3, 1), Array(4, 4), Array(5, 2), Array(6, 2), Array(7,
2))

Il a de plus l'avantage de prépositionner la boîte de dialogue sur une
partie du chemin
Reste à sélectionner la suite

Dis moi !!!!


Le problème rest le même sans les guillmets sauf que je n'ai plus de
message
à la fin...
Merci tout de même
Domi

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

Salut à toi
A première vue ton instruction comporte une erreur de syntaxe dans la
partie :
Workbooks.OpenText Filename:="Fichier", ....
Si tu fait appel à la valeur "Fichier" décrite en amont (Fichier >> > ActiveWorkbook.Name) tu ne doit pas la mettre entre 2 guillemets
Met plutôt ainsi :
Workbooks.OpenText Filename:=Fichier, ....

Celà devrait mieux fonctionner

Dis moi !!!

Bonjour à tous,
J'utilise dans une macro cette syntaxe pour ouvrir et formater
rapidement
un
fichier texte.Ca marche.

Workbooks.OpenText Filename:="D:test2006.txt", Origin:=xlMSDOS,
StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:úlse, Tab:=True,
Semicolon:=True, _
Comma:úlse, Space:úlse, Other:úlse,
FieldInfo:=Array(Array(1,
2), _
Array(2, 2), Array(3, 1), Array(4, 4), Array(5, 2), Array(6,
2),
Array(7, 2), ......etc

Je voudrais pouvoir choisir via Application.Dialogs(xlDialogOpen).Show
(ou
autre) le fichier et le formater ensuite comme ci dessus.
Ca coince, le fichier est bien selectionné mais la macro s'arrête sur
l'etape 1 de l'assistant import Texte... si je fait ensuite "terminer"
la
macro se pousuit et j'ai un message d'erreur qui me dit que le fichier
Fichier.xls est introuvable....
Que faut-il faire pour eviter cela ?

Ce que j'ai fait :
Application.DisplayAlerts = False
Application.ScreenUpdating = False
'Sélection du fichier à convertir (D:test2006.txt)
Select Case Application.Dialogs(xlDialogOpen).Show
Case True
Fichier = ActiveWorkbook.Name
Case False
MsgBox "Aucun fichier n'a été sélectionnné", vbExclamation,
"Erreur"
Exit Sub
End Select
'
Workbooks.OpenText Filename:="Fichier", Origin:=xlMSDOS,
StartRow:=1,
DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:úlse, Tab:=True,
Semicolon:=True, _
Comma:úlse, Space:úlse, Other:úlse,
FieldInfo:=Array(Array(1,
2), _
Array(2, 2), Array(3, 1), Array(4, 4), Array(5, 2), Array(6,
2),
Array(7, 2), ...etc


Merci
Domi