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

VBA : Ouvrir un fichier texte ( séoparateur point-virgule )

15 réponses
Avatar
Pounet95
Bonjour à toutes et tous,
Windows Vista et Excel 2007

Maintenant que j'arrive à lire l'aide "en direct de mon PC", je tente de
comprendre comment ouvrir un fichier texte ( CSV )
Je commence à ouvrir l'enregistreur de macro puis effectue l'ouverture du
fichier désiré.
Quand je regarde la macro générée, il n'y a que :

Workbooks.Open Filename:= _
"C:\Users\Pounet\Downloads\Française des Jeux\loto\loto.csv"
....... et les données sont bien positionnées dans les colonnes.

J'intègre cette macro dans un module :

Sub MAJ_Loto()
Dim wbMonLoto As Workbook
Dim wbFDJ As Workbook
Set wbMonLoto = ThisWorkbook
With Sheets("FDJEUX")
.Select
.Cells.Clear
.[A1].Select
End With

On Error Resume Next
Err = 0
'ouvre le fichier FDJeux
Workbooks.Open Filename:="C:\Users\Pounet\Downloads\Française des
Jeux\loto\loto.csv"
If Err = 0 Then
Set wbFDJ = ActiveWorkbook
Cells.Copy
wbMonLoto.Activate
ActiveSheet.Paste
'ferme le fichier FDJeux
Application.DisplayAlerts = False
wbFDJ.Close
Set wbFDJ = Nothing
Application.DisplayAlerts = True
End If
End Sub

......... et là, c'est le grand B.......l :o((((((

J'essaie d'utiliser la syntaxe complète de Workbooks.Open

Open(FileName, MettreÀJourLiens, LectureSeule, Format, MotDePasse,
MotDePasseÉcritureRes, IgnorerLectureSeuleRecommandée, Origine, Séparateur,
Modifiable, Notifier, Convertisseur, AjouterAuxDerniersFichiersUtilisés,
Local, ChargementEndommagé)

Workbooks.Open Filename:="C:\Users\Pounet\Downloads\Française des
Jeux\loto\loto.csv",,,Format:=6,,,,Delimiter;=";"
..... ce qui provoque le message lors de la validation de la ligne
"Paramètre nommé attendu" aux endroits où c'est supposé être facultatif.

Avez-vous une idée de ce que je fais mal ( ou oubli de faire ) ?
Merci beaucoup
Pounet95

10 réponses

1 2
Avatar
LSteph
Bonjour Pounet,

et si tu essayais:

workbooks.OpenText


;-)

@+

--
lSteph


Bonjour à toutes et tous,
Windows Vista et Excel 2007

Maintenant que j'arrive à lire l'aide "en direct de mon PC", je tente de
comprendre comment ouvrir un fichier texte ( CSV )
Je commence à ouvrir l'enregistreur de macro puis effectue l'ouverture
du fichier désiré.
Quand je regarde la macro générée, il n'y a que :

Workbooks.Open Filename:= _
"C:UsersPounetDownloadsFrançaise des Jeuxlotoloto.csv"
....... et les données sont bien positionnées dans les colonnes.

J'intègre cette macro dans un module :

Sub MAJ_Loto()
Dim wbMonLoto As Workbook
Dim wbFDJ As Workbook
Set wbMonLoto = ThisWorkbook
With Sheets("FDJEUX")
.Select
.Cells.Clear
.[A1].Select
End With

On Error Resume Next
Err = 0
'ouvre le fichier FDJeux
Workbooks.Open Filename:="C:UsersPounetDownloadsFrançaise des
Jeuxlotoloto.csv"
If Err = 0 Then
Set wbFDJ = ActiveWorkbook
Cells.Copy
wbMonLoto.Activate
ActiveSheet.Paste
'ferme le fichier FDJeux
Application.DisplayAlerts = False
wbFDJ.Close
Set wbFDJ = Nothing
Application.DisplayAlerts = True
End If
End Sub

......... et là, c'est le grand B.......l :o((((((

J'essaie d'utiliser la syntaxe complète de Workbooks.Open

Open(FileName, MettreÀJourLiens, LectureSeule, Format, MotDePasse,
MotDePasseÉcritureRes, IgnorerLectureSeuleRecommandée, Origine,
Séparateur, Modifiable, Notifier, Convertisseur,
AjouterAuxDerniersFichiersUtilisés, Local, ChargementEndommagé)

Workbooks.Open Filename:="C:UsersPounetDownloadsFrançaise des
Jeuxlotoloto.csv",,,Format:=6,,,,Delimiter;=";"
..... ce qui provoque le message lors de la validation de la ligne
"Paramètre nommé attendu" aux endroits où c'est supposé être facultatif.

Avez-vous une idée de ce que je fais mal ( ou oubli de faire ) ?
Merci beaucoup
Pounet95




Avatar
LSteph
... à moins que cela aussi...
pffft...

au fait:

http://www.cnetfrance.fr/news/pc-peripheriques/39373599-3800004077t/microsoft-prepare-deja-office-2009.htm

Bonjour Pounet,

et si tu essayais:

workbooks.OpenText


;-)

@+

--
lSteph


Bonjour à toutes et tous,
Windows Vista et Excel 2007

Maintenant que j'arrive à lire l'aide "en direct de mon PC", je tente
de comprendre comment ouvrir un fichier texte ( CSV )
Je commence à ouvrir l'enregistreur de macro puis effectue l'ouverture
du fichier désiré.
Quand je regarde la macro générée, il n'y a que :

Workbooks.Open Filename:= _
"C:UsersPounetDownloadsFrançaise des Jeuxlotoloto.csv"
....... et les données sont bien positionnées dans les colonnes.

J'intègre cette macro dans un module :

Sub MAJ_Loto()
Dim wbMonLoto As Workbook
Dim wbFDJ As Workbook
Set wbMonLoto = ThisWorkbook
With Sheets("FDJEUX")
.Select
.Cells.Clear
.[A1].Select
End With

On Error Resume Next
Err = 0
'ouvre le fichier FDJeux
Workbooks.Open Filename:="C:UsersPounetDownloadsFrançaise des
Jeuxlotoloto.csv"
If Err = 0 Then
Set wbFDJ = ActiveWorkbook
Cells.Copy
wbMonLoto.Activate
ActiveSheet.Paste
'ferme le fichier FDJeux
Application.DisplayAlerts = False
wbFDJ.Close
Set wbFDJ = Nothing
Application.DisplayAlerts = True
End If
End Sub

......... et là, c'est le grand B.......l :o((((((

J'essaie d'utiliser la syntaxe complète de Workbooks.Open

Open(FileName, MettreÀJourLiens, LectureSeule, Format, MotDePasse,
MotDePasseÉcritureRes, IgnorerLectureSeuleRecommandée, Origine,
Séparateur, Modifiable, Notifier, Convertisseur,
AjouterAuxDerniersFichiersUtilisés, Local, ChargementEndommagé)

Workbooks.Open Filename:="C:UsersPounetDownloadsFrançaise des
Jeuxlotoloto.csv",,,Format:=6,,,,Delimiter;=";"
..... ce qui provoque le message lors de la validation de la ligne
"Paramètre nommé attendu" aux endroits où c'est supposé être facultatif.

Avez-vous une idée de ce que je fais mal ( ou oubli de faire ) ?
Merci beaucoup
Pounet95






Avatar
MichDenis
Quand tu ouvres un fichier .csv, si c'est à partir de l'éditeur de code,
Excel suppose que tu utilises la virgule comme séparateur d'éléments
car en vba, c'est le "standard américain" qui est la référence.

Depuis la version excel 2002, Microsoft a ajouté un paramètre non
présent sous les versions précédentes : "Local" qui tient compte des
options régionales définies sur l'ordinateur.

Donc depuis Excel 2002, tu écris :
'Si ton fichier a un point virgule comme séparateur
Workbooks.Open Filename:="c:AAAtest.csv", Local:=True

Attention, si tu ouvres le fichier par la suite sous une version pluls
ancienne, tu auras une erreur car Excel ne reconnaîtra pas le
paramètre "Local"

Si ton fichier a la virgule comme séparateur, utilise :
Workbooks.Open Filename:="c:AAAtest.csv"

Avec les versions précédentes à excel 2002,
Quand tu ouvres un fichier csv avec point-virgule à partir du
menu de l'interface de la feuille de calcul, pas de problème
excel tient compte des options régionales mais pas si tu ouvres
ton fichier à partir d'une ligne de code.

De même, tu peux éprouver des difficultés si tu ouvres un fichier csv
directement à partir d'un double clic de l'explorateur Windows... selon
le séparateur d'éléments de ton fichier
2 solutions possibles : tu modifies l'extention .csv pour txt ou tu modifies
dans le tableau de configuration le séparateur d'éléments avant d'ouvrir
ton fichier.... je te laisses mener tes expériences et t'amuser !




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

Bonjour à toutes et tous,
Windows Vista et Excel 2007

Maintenant que j'arrive à lire l'aide "en direct de mon PC", je tente de
comprendre comment ouvrir un fichier texte ( CSV )
Je commence à ouvrir l'enregistreur de macro puis effectue l'ouverture du
fichier désiré.
Quand je regarde la macro générée, il n'y a que :

Workbooks.Open Filename:= _
"C:UsersPounetDownloadsFrançaise des Jeuxlotoloto.csv"
....... et les données sont bien positionnées dans les colonnes.

J'intègre cette macro dans un module :

Sub MAJ_Loto()
Dim wbMonLoto As Workbook
Dim wbFDJ As Workbook
Set wbMonLoto = ThisWorkbook
With Sheets("FDJEUX")
.Select
.Cells.Clear
.[A1].Select
End With

On Error Resume Next
Err = 0
'ouvre le fichier FDJeux
Workbooks.Open Filename:="C:UsersPounetDownloadsFrançaise des
Jeuxlotoloto.csv"
If Err = 0 Then
Set wbFDJ = ActiveWorkbook
Cells.Copy
wbMonLoto.Activate
ActiveSheet.Paste
'ferme le fichier FDJeux
Application.DisplayAlerts = False
wbFDJ.Close
Set wbFDJ = Nothing
Application.DisplayAlerts = True
End If
End Sub

......... et là, c'est le grand B.......l :o((((((

J'essaie d'utiliser la syntaxe complète de Workbooks.Open

Open(FileName, MettreÀJourLiens, LectureSeule, Format, MotDePasse,
MotDePasseÉcritureRes, IgnorerLectureSeuleRecommandée, Origine, Séparateur,
Modifiable, Notifier, Convertisseur, AjouterAuxDerniersFichiersUtilisés,
Local, ChargementEndommagé)

Workbooks.Open Filename:="C:UsersPounetDownloadsFrançaise des
Jeuxlotoloto.csv",,,Format:=6,,,,Delimiter;=";"
..... ce qui provoque le message lors de la validation de la ligne
"Paramètre nommé attendu" aux endroits où c'est supposé être facultatif.

Avez-vous une idée de ce que je fais mal ( ou oubli de faire ) ?
Merci beaucoup
Pounet95
Avatar
Pounet95
Re Bonjour à tous,
Je vois qu'effectivement, j'ai de quoi m'amuser ....
Je suis en possession de la version "Enterprise" depuis ce weekend et je
vois que ( pour le moment ? ) ça me pose plus de soucis que d'avantages !
Entre le repérage des menus (anciens ), aide ne ligne, etc, etc il y a
effectivement de quoi faire. Et quand je vois qu'Exce14 est en route ......!

En attendant la dite version 14, je vais prendre en compte vos suggestions.
Merci .......... et à la prochaine question qui ne va sûrement pas tarder ?
PS : j'ai fait l'acquisition d'un ouvrage nommé "The missing manual" (
Eyrolles ). Je le cite mais en toute neutralité ( si tant est qu'à partir du
fait que j'en donne le nom et l'éditeur soit neutre ), car je n'ai pas
encore jaugé de sa valeur ( par rapport à mes besoins, critères, etc ).
A première lecture, pas grand chose sur le VBA

Pounet95


"MichDenis" a écrit dans le message de
news:
Quand tu ouvres un fichier .csv, si c'est à partir de l'éditeur de code,
Excel suppose que tu utilises la virgule comme séparateur d'éléments
car en vba, c'est le "standard américain" qui est la référence.

Depuis la version excel 2002, Microsoft a ajouté un paramètre non
présent sous les versions précédentes : "Local" qui tient compte des
options régionales définies sur l'ordinateur.

Donc depuis Excel 2002, tu écris :
'Si ton fichier a un point virgule comme séparateur
Workbooks.Open Filename:="c:AAAtest.csv", Local:=True

Attention, si tu ouvres le fichier par la suite sous une version pluls
ancienne, tu auras une erreur car Excel ne reconnaîtra pas le
paramètre "Local"

Si ton fichier a la virgule comme séparateur, utilise :
Workbooks.Open Filename:="c:AAAtest.csv"

Avec les versions précédentes à excel 2002,
Quand tu ouvres un fichier csv avec point-virgule à partir du
menu de l'interface de la feuille de calcul, pas de problème
excel tient compte des options régionales mais pas si tu ouvres
ton fichier à partir d'une ligne de code.

De même, tu peux éprouver des difficultés si tu ouvres un fichier csv
directement à partir d'un double clic de l'explorateur Windows... selon
le séparateur d'éléments de ton fichier
2 solutions possibles : tu modifies l'extention .csv pour txt ou tu
modifies
dans le tableau de configuration le séparateur d'éléments avant d'ouvrir
ton fichier.... je te laisses mener tes expériences et t'amuser !




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

Bonjour à toutes et tous,
Windows Vista et Excel 2007

Maintenant que j'arrive à lire l'aide "en direct de mon PC", je tente de
comprendre comment ouvrir un fichier texte ( CSV )
Je commence à ouvrir l'enregistreur de macro puis effectue l'ouverture du
fichier désiré.
Quand je regarde la macro générée, il n'y a que :

Workbooks.Open Filename:= _
"C:UsersPounetDownloadsFrançaise des Jeuxlotoloto.csv"
....... et les données sont bien positionnées dans les colonnes.

J'intègre cette macro dans un module :

Sub MAJ_Loto()
Dim wbMonLoto As Workbook
Dim wbFDJ As Workbook
Set wbMonLoto = ThisWorkbook
With Sheets("FDJEUX")
.Select
.Cells.Clear
.[A1].Select
End With

On Error Resume Next
Err = 0
'ouvre le fichier FDJeux
Workbooks.Open Filename:="C:UsersPounetDownloadsFrançaise des
Jeuxlotoloto.csv"
If Err = 0 Then
Set wbFDJ = ActiveWorkbook
Cells.Copy
wbMonLoto.Activate
ActiveSheet.Paste
'ferme le fichier FDJeux
Application.DisplayAlerts = False
wbFDJ.Close
Set wbFDJ = Nothing
Application.DisplayAlerts = True
End If
End Sub

......... et là, c'est le grand B.......l :o((((((

J'essaie d'utiliser la syntaxe complète de Workbooks.Open

Open(FileName, MettreÀJourLiens, LectureSeule, Format, MotDePasse,
MotDePasseÉcritureRes, IgnorerLectureSeuleRecommandée, Origine,
Séparateur,
Modifiable, Notifier, Convertisseur, AjouterAuxDerniersFichiersUtilisés,
Local, ChargementEndommagé)

Workbooks.Open Filename:="C:UsersPounetDownloadsFrançaise des
Jeuxlotoloto.csv",,,Format:=6,,,,Delimiter;=";"
..... ce qui provoque le message lors de la validation de la ligne
"Paramètre nommé attendu" aux endroits où c'est supposé être facultatif.

Avez-vous une idée de ce que je fais mal ( ou oubli de faire ) ?
Merci beaucoup
Pounet95





Avatar
MichDenis
Mes commentaires ne s'adressaient pas à la version excel 2007
que je ne connais pas.


"Pounet95" a écrit dans le message de news:
%
Re Bonjour à tous,
Je vois qu'effectivement, j'ai de quoi m'amuser ....
Je suis en possession de la version "Enterprise" depuis ce weekend et je
vois que ( pour le moment ? ) ça me pose plus de soucis que d'avantages !
Entre le repérage des menus (anciens ), aide ne ligne, etc, etc il y a
effectivement de quoi faire. Et quand je vois qu'Exce14 est en route ......!

En attendant la dite version 14, je vais prendre en compte vos suggestions.
Merci .......... et à la prochaine question qui ne va sûrement pas tarder ?
PS : j'ai fait l'acquisition d'un ouvrage nommé "The missing manual" (
Eyrolles ). Je le cite mais en toute neutralité ( si tant est qu'à partir du
fait que j'en donne le nom et l'éditeur soit neutre ), car je n'ai pas
encore jaugé de sa valeur ( par rapport à mes besoins, critères, etc ).
A première lecture, pas grand chose sur le VBA

Pounet95


"MichDenis" a écrit dans le message de
news:
Quand tu ouvres un fichier .csv, si c'est à partir de l'éditeur de code,
Excel suppose que tu utilises la virgule comme séparateur d'éléments
car en vba, c'est le "standard américain" qui est la référence.

Depuis la version excel 2002, Microsoft a ajouté un paramètre non
présent sous les versions précédentes : "Local" qui tient compte des
options régionales définies sur l'ordinateur.

Donc depuis Excel 2002, tu écris :
'Si ton fichier a un point virgule comme séparateur
Workbooks.Open Filename:="c:AAAtest.csv", Local:=True

Attention, si tu ouvres le fichier par la suite sous une version pluls
ancienne, tu auras une erreur car Excel ne reconnaîtra pas le
paramètre "Local"

Si ton fichier a la virgule comme séparateur, utilise :
Workbooks.Open Filename:="c:AAAtest.csv"

Avec les versions précédentes à excel 2002,
Quand tu ouvres un fichier csv avec point-virgule à partir du
menu de l'interface de la feuille de calcul, pas de problème
excel tient compte des options régionales mais pas si tu ouvres
ton fichier à partir d'une ligne de code.

De même, tu peux éprouver des difficultés si tu ouvres un fichier csv
directement à partir d'un double clic de l'explorateur Windows... selon
le séparateur d'éléments de ton fichier
2 solutions possibles : tu modifies l'extention .csv pour txt ou tu
modifies
dans le tableau de configuration le séparateur d'éléments avant d'ouvrir
ton fichier.... je te laisses mener tes expériences et t'amuser !




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

Bonjour à toutes et tous,
Windows Vista et Excel 2007

Maintenant que j'arrive à lire l'aide "en direct de mon PC", je tente de
comprendre comment ouvrir un fichier texte ( CSV )
Je commence à ouvrir l'enregistreur de macro puis effectue l'ouverture du
fichier désiré.
Quand je regarde la macro générée, il n'y a que :

Workbooks.Open Filename:= _
"C:UsersPounetDownloadsFrançaise des Jeuxlotoloto.csv"
....... et les données sont bien positionnées dans les colonnes.

J'intègre cette macro dans un module :

Sub MAJ_Loto()
Dim wbMonLoto As Workbook
Dim wbFDJ As Workbook
Set wbMonLoto = ThisWorkbook
With Sheets("FDJEUX")
.Select
.Cells.Clear
.[A1].Select
End With

On Error Resume Next
Err = 0
'ouvre le fichier FDJeux
Workbooks.Open Filename:="C:UsersPounetDownloadsFrançaise des
Jeuxlotoloto.csv"
If Err = 0 Then
Set wbFDJ = ActiveWorkbook
Cells.Copy
wbMonLoto.Activate
ActiveSheet.Paste
'ferme le fichier FDJeux
Application.DisplayAlerts = False
wbFDJ.Close
Set wbFDJ = Nothing
Application.DisplayAlerts = True
End If
End Sub

......... et là, c'est le grand B.......l :o((((((

J'essaie d'utiliser la syntaxe complète de Workbooks.Open

Open(FileName, MettreÀJourLiens, LectureSeule, Format, MotDePasse,
MotDePasseÉcritureRes, IgnorerLectureSeuleRecommandée, Origine,
Séparateur,
Modifiable, Notifier, Convertisseur, AjouterAuxDerniersFichiersUtilisés,
Local, ChargementEndommagé)

Workbooks.Open Filename:="C:UsersPounetDownloadsFrançaise des
Jeuxlotoloto.csv",,,Format:=6,,,,Delimiter;=";"
..... ce qui provoque le message lors de la validation de la ligne
"Paramètre nommé attendu" aux endroits où c'est supposé être facultatif.

Avez-vous une idée de ce que je fais mal ( ou oubli de faire ) ?
Merci beaucoup
Pounet95





Avatar
Pounet95
Re,
Suite conseil LSteph et MichDenis

Workbooks.OpenText, méthode (Tiré de l'aide "en ligne" Excel 2007donc sur
mon PC .... )

Référence du développeur Excel
Cette méthode ouvre et redistribue un fichier texte sous la forme d'un
nouveau classeur ne comportant qu'une seule feuille dans laquelle se
trouvent les données du fichier texte distribuées.
Syntaxe

expression.OpenText(NomFichier, Origine, LigneDébut, TypeDonnées,
QualificatifTexte, SéparateurConsécutif, Onglet, PointVirgule, Virgule,
Espace, Autre, AutreCaractère, InfosChamp, MiseEnPageVisuelleTexte,
SéparateurDécimal, SéparateurMilliers, NombresNégatifsDeFin, Local)

A partir de cela, je tente l'instruction suivante :

Workbooks.OpenText Filename:="C:UsersPounetDownloadsFrançaise des
Jeuxlotoloto.csv", _
DataType:=xlDelimited, _
Comma:=True

Et je dois avoir un problème de traduction ( voire d'écriture car telle que
elle passe sans erreur de compilation, alors qu'avec 'comma' il y a erreur
! )
Par contre les données sont bien recopiées mais dans une seule colonne.
Ma conclusion est donc que 'comma' ne signifie pas PointVirgule, alors
qu'est-ce ?

Toute traduction est bienvenue et si, en prime, vous avez la solution pour
les autres mots cités dans l'Aide, je crois , que j'irai chez Mgr T. Banni
.......... me faire payer un coup de Beaujolais ( s'il s'agit bien de lui,
bien sûr, car des fois ( pas pluriel de foi ! ), je m'y perd )

Pounet95

"Pounet95" a écrit dans le message de
news:
Bonjour à toutes et tous,
Windows Vista et Excel 2007

Maintenant que j'arrive à lire l'aide "en direct de mon PC", je tente de
comprendre comment ouvrir un fichier texte ( CSV )
Je commence à ouvrir l'enregistreur de macro puis effectue l'ouverture du
fichier désiré.
Quand je regarde la macro générée, il n'y a que :

Workbooks.Open Filename:= _
"C:UsersPounetDownloadsFrançaise des Jeuxlotoloto.csv"
....... et les données sont bien positionnées dans les colonnes.

J'intègre cette macro dans un module :

Sub MAJ_Loto()
Dim wbMonLoto As Workbook
Dim wbFDJ As Workbook
Set wbMonLoto = ThisWorkbook
With Sheets("FDJEUX")
.Select
.Cells.Clear
.[A1].Select
End With

On Error Resume Next
Err = 0
'ouvre le fichier FDJeux
Workbooks.Open Filename:="C:UsersPounetDownloadsFrançaise des
Jeuxlotoloto.csv"
If Err = 0 Then
Set wbFDJ = ActiveWorkbook
Cells.Copy
wbMonLoto.Activate
ActiveSheet.Paste
'ferme le fichier FDJeux
Application.DisplayAlerts = False
wbFDJ.Close
Set wbFDJ = Nothing
Application.DisplayAlerts = True
End If
End Sub

......... et là, c'est le grand B.......l :o((((((

J'essaie d'utiliser la syntaxe complète de Workbooks.Open

Open(FileName, MettreÀJourLiens, LectureSeule, Format, MotDePasse,
MotDePasseÉcritureRes, IgnorerLectureSeuleRecommandée, Origine,
Séparateur, Modifiable, Notifier, Convertisseur,
AjouterAuxDerniersFichiersUtilisés, Local, ChargementEndommagé)

Workbooks.Open Filename:="C:UsersPounetDownloadsFrançaise des
Jeuxlotoloto.csv",,,Format:=6,,,,Delimiter;=";"
..... ce qui provoque le message lors de la validation de la ligne
"Paramètre nommé attendu" aux endroits où c'est supposé être facultatif.

Avez-vous une idée de ce que je fais mal ( ou oubli de faire ) ?
Merci beaucoup
Pounet95




Avatar
LSteph
Re, Bonjour Pounet,

oui OpenText c'est ce qui va bien comme je suggérais avec du csv sauf
que csv normal c'est du ";" comme sérapateur
comma c'est virgule
un petit coup d'enregistreur indique que le ;
se dit semicolon
rien à voir avec le boyau!

;-)

@+

--
lSteph

Re,
Suite conseil LSteph et MichDenis

Workbooks.OpenText, méthode (Tiré de l'aide "en ligne" Excel 2007donc
sur mon PC .... )

Référence du développeur Excel
Cette méthode ouvre et redistribue un fichier texte sous la forme d'un
nouveau classeur ne comportant qu'une seule feuille dans laquelle se
trouvent les données du fichier texte distribuées.
Syntaxe

expression.OpenText(NomFichier, Origine, LigneDébut, TypeDonnées,
QualificatifTexte, SéparateurConsécutif, Onglet, PointVirgule, Virgule,
Espace, Autre, AutreCaractère, InfosChamp, MiseEnPageVisuelleTexte,
SéparateurDécimal, SéparateurMilliers, NombresNégatifsDeFin, Local)

A partir de cela, je tente l'instruction suivante :

Workbooks.OpenText Filename:="C:UsersPounetDownloadsFrançaise des
Jeuxlotoloto.csv", _
DataType:=xlDelimited, _
Comma:=True

Et je dois avoir un problème de traduction ( voire d'écriture car telle
que elle passe sans erreur de compilation, alors qu'avec 'comma' il y a
erreur ! )
Par contre les données sont bien recopiées mais dans une seule colonne.
Ma conclusion est donc que 'comma' ne signifie pas PointVirgule, alors
qu'est-ce ?

Toute traduction est bienvenue et si, en prime, vous avez la solution
pour les autres mots cités dans l'Aide, je crois , que j'irai chez Mgr
T. Banni
.......... me faire payer un coup de Beaujolais ( s'il s'agit bien de
lui, bien sûr, car des fois ( pas pluriel de foi ! ), je m'y perd )

Pounet95

"Pounet95" a écrit dans le message de
news:
Bonjour à toutes et tous,
Windows Vista et Excel 2007

Maintenant que j'arrive à lire l'aide "en direct de mon PC", je tente
de comprendre comment ouvrir un fichier texte ( CSV )
Je commence à ouvrir l'enregistreur de macro puis effectue l'ouverture
du fichier désiré.
Quand je regarde la macro générée, il n'y a que :

Workbooks.Open Filename:= _
"C:UsersPounetDownloadsFrançaise des Jeuxlotoloto.csv"
....... et les données sont bien positionnées dans les colonnes.

J'intègre cette macro dans un module :

Sub MAJ_Loto()
Dim wbMonLoto As Workbook
Dim wbFDJ As Workbook
Set wbMonLoto = ThisWorkbook
With Sheets("FDJEUX")
.Select
.Cells.Clear
.[A1].Select
End With

On Error Resume Next
Err = 0
'ouvre le fichier FDJeux
Workbooks.Open Filename:="C:UsersPounetDownloadsFrançaise des
Jeuxlotoloto.csv"
If Err = 0 Then
Set wbFDJ = ActiveWorkbook
Cells.Copy
wbMonLoto.Activate
ActiveSheet.Paste
'ferme le fichier FDJeux
Application.DisplayAlerts = False
wbFDJ.Close
Set wbFDJ = Nothing
Application.DisplayAlerts = True
End If
End Sub

......... et là, c'est le grand B.......l :o((((((

J'essaie d'utiliser la syntaxe complète de Workbooks.Open

Open(FileName, MettreÀJourLiens, LectureSeule, Format, MotDePasse,
MotDePasseÉcritureRes, IgnorerLectureSeuleRecommandée, Origine,
Séparateur, Modifiable, Notifier, Convertisseur,
AjouterAuxDerniersFichiersUtilisés, Local, ChargementEndommagé)

Workbooks.Open Filename:="C:UsersPounetDownloadsFrançaise des
Jeuxlotoloto.csv",,,Format:=6,,,,Delimiter;=";"
..... ce qui provoque le message lors de la validation de la ligne
"Paramètre nommé attendu" aux endroits où c'est supposé être facultatif.

Avez-vous une idée de ce que je fais mal ( ou oubli de faire ) ?
Merci beaucoup
Pounet95







Avatar
MichDenis
Un fichier .csv s'ouvre avec la méthode "Open" et non "OpenText"
Les extensions d'un fichier .txt et .csv n'est pas identique pour excel
Txt = OpenText
Csv = Open

Si ton fichier a une extension .txt et la virgule comme séparateur :
Workbooks.OpenText Filename:="C:AAAtest.Txt", _
DataType:=xlDelimited, Semicolon:=True

Si le réparateur était le "2 points", et l'extension .txt, tu pourrais utiliser :
Workbooks.OpenText Filename:="C:AAAtest.Txt", _
DataType:=xlDelimited, Other:=True, Otherchar:=":"

Si le séparateur était la virgule et l'extension .Txt OU CSV tu pourrais
utiliser ceci :
Workbooks.OpenText Filename:="C:AAAtest.csv", _
DataType:=xlDelimited, comma:=True

Mais attention, comme un fichier .csv "Américain" utilise par défaut la virgule
la méthode "Open" fonctionnerait aussi. Mais au delà de ceci, si tu essaies
de mélanger Excel , il y a de bonnes chances que ce soit toi qui devienne confus.
Avatar
Pounet95
Re Bonsoir,

Je jette l'éponge ! J'ai remplacé Comma par Semicolon, ou semicolon, rien
n'y fait
Même cause, même résultat ;o((((

A tout hasard, est-il possible que tu essaies (si ce n'est pas abuser ) de
télécharger l'historique des tirages du loto sur le site FDJEUX.com ( c'est
un zip ) et tenter d'y appliquer ma procédure ?

Sinon, quand je mets en route l'enregistreur, sous Excel 2007, c'est
Workbooks.open qui est enregistré. OpenText semble être ignoré. De plus, il
ne m'est pas proposé comme dans les anciennes versions de définir les
paramètres du fichier texte à charger ( séparateur, type de donnée par
colonne, etc )

Au pire, comme c'est du perso pour tester Excel12, j'ouvre en premier le
fichier FDJEUX, l'enregistre en Excel, et ça devrait le faire mais comme
"automatisation", il y a mieux

Merci de t'interesser à mon triste sort
Pounet5
"LSteph" a écrit dans le message de
news:Ohqg%
Re, Bonjour Pounet,

oui OpenText c'est ce qui va bien comme je suggérais avec du csv sauf que
csv normal c'est du ";" comme sérapateur
comma c'est virgule
un petit coup d'enregistreur indique que le ;
se dit semicolon
rien à voir avec le boyau!

;-)

@+

--
lSteph

Re,
Suite conseil LSteph et MichDenis

Workbooks.OpenText, méthode (Tiré de l'aide "en ligne" Excel 2007donc
sur mon PC .... )

Référence du développeur Excel
Cette méthode ouvre et redistribue un fichier texte sous la forme d'un
nouveau classeur ne comportant qu'une seule feuille dans laquelle se
trouvent les données du fichier texte distribuées.
Syntaxe

expression.OpenText(NomFichier, Origine, LigneDébut, TypeDonnées,
QualificatifTexte, SéparateurConsécutif, Onglet, PointVirgule, Virgule,
Espace, Autre, AutreCaractère, InfosChamp, MiseEnPageVisuelleTexte,
SéparateurDécimal, SéparateurMilliers, NombresNégatifsDeFin, Local)

A partir de cela, je tente l'instruction suivante :

Workbooks.OpenText Filename:="C:UsersPounetDownloadsFrançaise des
Jeuxlotoloto.csv", _
DataType:=xlDelimited, _
Comma:=True

Et je dois avoir un problème de traduction ( voire d'écriture car telle
que elle passe sans erreur de compilation, alors qu'avec 'comma' il y a
erreur ! )
Par contre les données sont bien recopiées mais dans une seule colonne.
Ma conclusion est donc que 'comma' ne signifie pas PointVirgule, alors
qu'est-ce ?

Toute traduction est bienvenue et si, en prime, vous avez la solution
pour les autres mots cités dans l'Aide, je crois , que j'irai chez Mgr T.
Banni
.......... me faire payer un coup de Beaujolais ( s'il s'agit bien de
lui, bien sûr, car des fois ( pas pluriel de foi ! ), je m'y perd )

Pounet95

"Pounet95" a écrit dans le message de
news:
Bonjour à toutes et tous,
Windows Vista et Excel 2007

Maintenant que j'arrive à lire l'aide "en direct de mon PC", je tente de
comprendre comment ouvrir un fichier texte ( CSV )
Je commence à ouvrir l'enregistreur de macro puis effectue l'ouverture
du fichier désiré.
Quand je regarde la macro générée, il n'y a que :

Workbooks.Open Filename:= _
"C:UsersPounetDownloadsFrançaise des Jeuxlotoloto.csv"
....... et les données sont bien positionnées dans les colonnes.

J'intègre cette macro dans un module :

Sub MAJ_Loto()
Dim wbMonLoto As Workbook
Dim wbFDJ As Workbook
Set wbMonLoto = ThisWorkbook
With Sheets("FDJEUX")
.Select
.Cells.Clear
.[A1].Select
End With

On Error Resume Next
Err = 0
'ouvre le fichier FDJeux
Workbooks.Open Filename:="C:UsersPounetDownloadsFrançaise des
Jeuxlotoloto.csv"
If Err = 0 Then
Set wbFDJ = ActiveWorkbook
Cells.Copy
wbMonLoto.Activate
ActiveSheet.Paste
'ferme le fichier FDJeux
Application.DisplayAlerts = False
wbFDJ.Close
Set wbFDJ = Nothing
Application.DisplayAlerts = True
End If
End Sub

......... et là, c'est le grand B.......l :o((((((

J'essaie d'utiliser la syntaxe complète de Workbooks.Open

Open(FileName, MettreÀJourLiens, LectureSeule, Format, MotDePasse,
MotDePasseÉcritureRes, IgnorerLectureSeuleRecommandée, Origine,
Séparateur, Modifiable, Notifier, Convertisseur,
AjouterAuxDerniersFichiersUtilisés, Local, ChargementEndommagé)

Workbooks.Open Filename:="C:UsersPounetDownloadsFrançaise des
Jeuxlotoloto.csv",,,Format:=6,,,,Delimiter;=";"
..... ce qui provoque le message lors de la validation de la ligne
"Paramètre nommé attendu" aux endroits où c'est supposé être facultatif.

Avez-vous une idée de ce que je fais mal ( ou oubli de faire ) ?
Merci beaucoup
Pounet95









Avatar
LSteph
...oupsss désolé je t'ai induit en erreur par confusion

opentext permet d'ouvrir le csv sans qu'il soit redistribué,

si le but est de redistribuer et que c'est un VRAi csv avec donc ;
(semicolon)
comme séparateur

Workbooks.open lenomdufichier

suffit à l'ouvrir et qu'il soit redistribué normalement.
Je vais essayer ainsi ce que tu dis FDJEUX.com

--
lSteph


Re Bonsoir,

Je jette l'éponge ! J'ai remplacé Comma par Semicolon, ou semicolon,
rien n'y fait
Même cause, même résultat ;o((((

A tout hasard, est-il possible que tu essaies (si ce n'est pas abuser )
de télécharger l'historique des tirages du loto sur le site FDJEUX.com (
c'est un zip ) et tenter d'y appliquer ma procédure ?

Sinon, quand je mets en route l'enregistreur, sous Excel 2007, c'est
Workbooks.open qui est enregistré. OpenText semble être ignoré. De plus,
il ne m'est pas proposé comme dans les anciennes versions de définir les
paramètres du fichier texte à charger ( séparateur, type de donnée par
colonne, etc )

Au pire, comme c'est du perso pour tester Excel12, j'ouvre en premier le
fichier FDJEUX, l'enregistre en Excel, et ça devrait le faire mais comme
"automatisation", il y a mieux

Merci de t'interesser à mon triste sort
Pounet5
"LSteph" a écrit dans le message de
news:Ohqg%
Re, Bonjour Pounet,

oui OpenText c'est ce qui va bien comme je suggérais avec du csv sauf
que csv normal c'est du ";" comme sérapateur
comma c'est virgule
un petit coup d'enregistreur indique que le ;
se dit semicolon
rien à voir avec le boyau!

;-)

@+

--
lSteph

Re,
Suite conseil LSteph et MichDenis

Workbooks.OpenText, méthode (Tiré de l'aide "en ligne" Excel
2007donc sur mon PC .... )

Référence du développeur Excel
Cette méthode ouvre et redistribue un fichier texte sous la forme
d'un nouveau classeur ne comportant qu'une seule feuille dans
laquelle se trouvent les données du fichier texte distribuées.
Syntaxe

expression.OpenText(NomFichier, Origine, LigneDébut, TypeDonnées,
QualificatifTexte, SéparateurConsécutif, Onglet, PointVirgule,
Virgule, Espace, Autre, AutreCaractère, InfosChamp,
MiseEnPageVisuelleTexte, SéparateurDécimal, SéparateurMilliers,
NombresNégatifsDeFin, Local)

A partir de cela, je tente l'instruction suivante :

Workbooks.OpenText Filename:="C:UsersPounetDownloadsFrançaise
des Jeuxlotoloto.csv", _
DataType:=xlDelimited, _
Comma:=True

Et je dois avoir un problème de traduction ( voire d'écriture car
telle que elle passe sans erreur de compilation, alors qu'avec
'comma' il y a erreur ! )
Par contre les données sont bien recopiées mais dans une seule colonne.
Ma conclusion est donc que 'comma' ne signifie pas PointVirgule,
alors qu'est-ce ?

Toute traduction est bienvenue et si, en prime, vous avez la solution
pour les autres mots cités dans l'Aide, je crois , que j'irai chez
Mgr T. Banni
.......... me faire payer un coup de Beaujolais ( s'il s'agit bien de
lui, bien sûr, car des fois ( pas pluriel de foi ! ), je m'y perd )

Pounet95

"Pounet95" a écrit dans le message de
news:
Bonjour à toutes et tous,
Windows Vista et Excel 2007

Maintenant que j'arrive à lire l'aide "en direct de mon PC", je
tente de comprendre comment ouvrir un fichier texte ( CSV )
Je commence à ouvrir l'enregistreur de macro puis effectue
l'ouverture du fichier désiré.
Quand je regarde la macro générée, il n'y a que :

Workbooks.Open Filename:= _
"C:UsersPounetDownloadsFrançaise des Jeuxlotoloto.csv"
....... et les données sont bien positionnées dans les colonnes.

J'intègre cette macro dans un module :

Sub MAJ_Loto()
Dim wbMonLoto As Workbook
Dim wbFDJ As Workbook
Set wbMonLoto = ThisWorkbook
With Sheets("FDJEUX")
.Select
.Cells.Clear
.[A1].Select
End With

On Error Resume Next
Err = 0
'ouvre le fichier FDJeux
Workbooks.Open Filename:="C:UsersPounetDownloadsFrançaise des
Jeuxlotoloto.csv"
If Err = 0 Then
Set wbFDJ = ActiveWorkbook
Cells.Copy
wbMonLoto.Activate
ActiveSheet.Paste
'ferme le fichier FDJeux
Application.DisplayAlerts = False
wbFDJ.Close
Set wbFDJ = Nothing
Application.DisplayAlerts = True
End If
End Sub

......... et là, c'est le grand B.......l :o((((((

J'essaie d'utiliser la syntaxe complète de Workbooks.Open

Open(FileName, MettreÀJourLiens, LectureSeule, Format, MotDePasse,
MotDePasseÉcritureRes, IgnorerLectureSeuleRecommandée, Origine,
Séparateur, Modifiable, Notifier, Convertisseur,
AjouterAuxDerniersFichiersUtilisés, Local, ChargementEndommagé)

Workbooks.Open Filename:="C:UsersPounetDownloadsFrançaise des
Jeuxlotoloto.csv",,,Format:=6,,,,Delimiter;=";"
..... ce qui provoque le message lors de la validation de la ligne
"Paramètre nommé attendu" aux endroits où c'est supposé être
facultatif.

Avez-vous une idée de ce que je fais mal ( ou oubli de faire ) ?
Merci beaucoup
Pounet95












1 2