lorsque j'ouvre un fichier csv avec séparateur ";"
Excel l'ouvre en repartissant correctement chaque champ séparé dans une
colonne distincte (j'espere avoir été clair;).
par contre, en passant par macro avec.GetOpenFilename, (je dois passer par
cette commande) le fichier s'ouvre
mais toutes les données sont affectées sur la premiere colonne (donc obligé
de passer par conversion etc..)
connaissez vous un moyen d'ouvrir ce fichier csv avec repartition
automatique des champs sur chaque colonne ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
michdenis
Lorsque tu travailles en vba, les paramètres sont ceux basés sur ceux des "américains", et eux, le séparateur qu'il utilise dans un fichier .csv est la virgule et non le point virgule. Cependant quand tu ouvres un ficher .csv par l'intermédiaire de la commande "Fichier / ouvrir" Excel tient compte des paramètres régionaux définis dans le panneau de configuration de Windows et ton fichier s'ouvre correctement.
Une solution possible : Tu l'ouvres comme si c'était un fichier texte et la macro ressemblerait à ceci
Selon le type de données contenues dans ton fichier texte regarde ce qui est possible de définir comme paramètre avec cette méthode : TextToColumns dans l'aide d'excel. L'enregistreur de macro peut t'aider aussi ...!
'-------------------------------- Sub Ouvrir_Fichier_CSV_En_VBA() Dim Wk As Workbook, Fichier As String Fichier = Application.GetOpenFilename("Fichier texte,*.csv;*.txt") If Fichier = False Then Exit Sub Set Wk = Workbooks.Open(Fichier) With Wk.Sheets(1) .Columns(1).TextToColumns .Range("A1"), , , False, , True End With End Sub '-----------------------------------
"Laurent" @FNAC.NET> a écrit dans le message de groupe de discussion : 4985eab0$0$28673$ Bonsoir,
lorsque j'ouvre un fichier csv avec séparateur ";" Excel l'ouvre en repartissant correctement chaque champ séparé dans une colonne distincte (j'espere avoir été clair;).
par contre, en passant par macro avec.GetOpenFilename, (je dois passer par cette commande) le fichier s'ouvre mais toutes les données sont affectées sur la premiere colonne (donc obligé de passer par conversion etc..) connaissez vous un moyen d'ouvrir ce fichier csv avec repartition automatique des champs sur chaque colonne ?
merci d'avance
ps : Je suis sur excel 2000
Lorsque tu travailles en vba, les paramètres sont ceux basés
sur ceux des "américains", et eux, le séparateur qu'il utilise
dans un fichier .csv est la virgule et non le point virgule.
Cependant quand tu ouvres un ficher .csv par l'intermédiaire
de la commande "Fichier / ouvrir" Excel tient compte des
paramètres régionaux définis dans le panneau de configuration
de Windows et ton fichier s'ouvre correctement.
Une solution possible :
Tu l'ouvres comme si c'était un fichier texte et la macro
ressemblerait à ceci
Selon le type de données contenues dans ton fichier texte
regarde ce qui est possible de définir comme paramètre avec
cette méthode : TextToColumns dans l'aide d'excel.
L'enregistreur de macro peut t'aider aussi ...!
'--------------------------------
Sub Ouvrir_Fichier_CSV_En_VBA()
Dim Wk As Workbook, Fichier As String
Fichier = Application.GetOpenFilename("Fichier texte,*.csv;*.txt")
If Fichier = False Then Exit Sub
Set Wk = Workbooks.Open(Fichier)
With Wk.Sheets(1)
.Columns(1).TextToColumns .Range("A1"), , , False, , True
End With
End Sub
'-----------------------------------
"Laurent" <L@BAUDIN@FNAC.NET> a écrit dans le message de groupe de discussion :
4985eab0$0$28673$7a628cd7@news.club-internet.fr...
Bonsoir,
lorsque j'ouvre un fichier csv avec séparateur ";"
Excel l'ouvre en repartissant correctement chaque champ séparé dans une
colonne distincte (j'espere avoir été clair;).
par contre, en passant par macro avec.GetOpenFilename, (je dois passer par
cette commande) le fichier s'ouvre
mais toutes les données sont affectées sur la premiere colonne (donc obligé
de passer par conversion etc..)
connaissez vous un moyen d'ouvrir ce fichier csv avec repartition
automatique des champs sur chaque colonne ?
Lorsque tu travailles en vba, les paramètres sont ceux basés sur ceux des "américains", et eux, le séparateur qu'il utilise dans un fichier .csv est la virgule et non le point virgule. Cependant quand tu ouvres un ficher .csv par l'intermédiaire de la commande "Fichier / ouvrir" Excel tient compte des paramètres régionaux définis dans le panneau de configuration de Windows et ton fichier s'ouvre correctement.
Une solution possible : Tu l'ouvres comme si c'était un fichier texte et la macro ressemblerait à ceci
Selon le type de données contenues dans ton fichier texte regarde ce qui est possible de définir comme paramètre avec cette méthode : TextToColumns dans l'aide d'excel. L'enregistreur de macro peut t'aider aussi ...!
'-------------------------------- Sub Ouvrir_Fichier_CSV_En_VBA() Dim Wk As Workbook, Fichier As String Fichier = Application.GetOpenFilename("Fichier texte,*.csv;*.txt") If Fichier = False Then Exit Sub Set Wk = Workbooks.Open(Fichier) With Wk.Sheets(1) .Columns(1).TextToColumns .Range("A1"), , , False, , True End With End Sub '-----------------------------------
"Laurent" @FNAC.NET> a écrit dans le message de groupe de discussion : 4985eab0$0$28673$ Bonsoir,
lorsque j'ouvre un fichier csv avec séparateur ";" Excel l'ouvre en repartissant correctement chaque champ séparé dans une colonne distincte (j'espere avoir été clair;).
par contre, en passant par macro avec.GetOpenFilename, (je dois passer par cette commande) le fichier s'ouvre mais toutes les données sont affectées sur la premiere colonne (donc obligé de passer par conversion etc..) connaissez vous un moyen d'ouvrir ce fichier csv avec repartition automatique des champs sur chaque colonne ?
merci d'avance
ps : Je suis sur excel 2000
Daniel.C
Bonsoir. Suivant ta version, tu peux indiquer : Workbooks.Open "c:tempfichier", local:=True si le ";" est le séparateur décrit dans les paramètres régionaux Windows. Cordialement. Daniel
Bonsoir,
lorsque j'ouvre un fichier csv avec séparateur ";" Excel l'ouvre en repartissant correctement chaque champ séparé dans une colonne distincte (j'espere avoir été clair;).
par contre, en passant par macro avec.GetOpenFilename, (je dois passer par cette commande) le fichier s'ouvre mais toutes les données sont affectées sur la premiere colonne (donc obligé de passer par conversion etc..) connaissez vous un moyen d'ouvrir ce fichier csv avec repartition automatique des champs sur chaque colonne ?
merci d'avance
ps : Je suis sur excel 2000
Bonsoir.
Suivant ta version, tu peux indiquer :
Workbooks.Open "c:tempfichier", local:=True
si le ";" est le séparateur décrit dans les paramètres régionaux
Windows.
Cordialement.
Daniel
Bonsoir,
lorsque j'ouvre un fichier csv avec séparateur ";"
Excel l'ouvre en repartissant correctement chaque champ séparé dans une
colonne distincte (j'espere avoir été clair;).
par contre, en passant par macro avec.GetOpenFilename, (je dois passer par
cette commande) le fichier s'ouvre
mais toutes les données sont affectées sur la premiere colonne (donc obligé
de passer par conversion etc..)
connaissez vous un moyen d'ouvrir ce fichier csv avec repartition automatique
des champs sur chaque colonne ?
Bonsoir. Suivant ta version, tu peux indiquer : Workbooks.Open "c:tempfichier", local:=True si le ";" est le séparateur décrit dans les paramètres régionaux Windows. Cordialement. Daniel
Bonsoir,
lorsque j'ouvre un fichier csv avec séparateur ";" Excel l'ouvre en repartissant correctement chaque champ séparé dans une colonne distincte (j'espere avoir été clair;).
par contre, en passant par macro avec.GetOpenFilename, (je dois passer par cette commande) le fichier s'ouvre mais toutes les données sont affectées sur la premiere colonne (donc obligé de passer par conversion etc..) connaissez vous un moyen d'ouvrir ce fichier csv avec repartition automatique des champs sur chaque colonne ?
merci d'avance
ps : Je suis sur excel 2000
michdenis
Et oui, à partir de la version excel 2002, on a droit à ce paramètre en plus : Local
Workbooks.Open "c:tempfichier", LOCAL:=TRUE
"Daniel.C" a écrit dans le message de groupe de discussion : #M# Bonsoir. Suivant ta version, tu peux indiquer : Workbooks.Open "c:tempfichier", local:=True si le ";" est le séparateur décrit dans les paramètres régionaux Windows. Cordialement. Daniel
Bonsoir,
lorsque j'ouvre un fichier csv avec séparateur ";" Excel l'ouvre en repartissant correctement chaque champ séparé dans une colonne distincte (j'espere avoir été clair;).
par contre, en passant par macro avec.GetOpenFilename, (je dois passer par cette commande) le fichier s'ouvre mais toutes les données sont affectées sur la premiere colonne (donc obligé de passer par conversion etc..) connaissez vous un moyen d'ouvrir ce fichier csv avec repartition automatique des champs sur chaque colonne ?
merci d'avance
ps : Je suis sur excel 2000
Et oui, à partir de la version excel 2002, on a
droit à ce paramètre en plus : Local
Workbooks.Open "c:tempfichier", LOCAL:=TRUE
"Daniel.C" <dcolardelleZZZ@gmail.com> a écrit dans le message de groupe de discussion :
#M#ztpKhJHA.3380@TK2MSFTNGP04.phx.gbl...
Bonsoir.
Suivant ta version, tu peux indiquer :
Workbooks.Open "c:tempfichier", local:=True
si le ";" est le séparateur décrit dans les paramètres régionaux
Windows.
Cordialement.
Daniel
Bonsoir,
lorsque j'ouvre un fichier csv avec séparateur ";"
Excel l'ouvre en repartissant correctement chaque champ séparé dans une
colonne distincte (j'espere avoir été clair;).
par contre, en passant par macro avec.GetOpenFilename, (je dois passer par
cette commande) le fichier s'ouvre
mais toutes les données sont affectées sur la premiere colonne (donc obligé
de passer par conversion etc..)
connaissez vous un moyen d'ouvrir ce fichier csv avec repartition automatique
des champs sur chaque colonne ?
Et oui, à partir de la version excel 2002, on a droit à ce paramètre en plus : Local
Workbooks.Open "c:tempfichier", LOCAL:=TRUE
"Daniel.C" a écrit dans le message de groupe de discussion : #M# Bonsoir. Suivant ta version, tu peux indiquer : Workbooks.Open "c:tempfichier", local:=True si le ";" est le séparateur décrit dans les paramètres régionaux Windows. Cordialement. Daniel
Bonsoir,
lorsque j'ouvre un fichier csv avec séparateur ";" Excel l'ouvre en repartissant correctement chaque champ séparé dans une colonne distincte (j'espere avoir été clair;).
par contre, en passant par macro avec.GetOpenFilename, (je dois passer par cette commande) le fichier s'ouvre mais toutes les données sont affectées sur la premiere colonne (donc obligé de passer par conversion etc..) connaissez vous un moyen d'ouvrir ce fichier csv avec repartition automatique des champs sur chaque colonne ?
merci d'avance
ps : Je suis sur excel 2000
milloche
Bonjour J'ai eu ce même problème avec un fichier bnp.exl qui est aussi un fichier texte,séparateur. Pas de problème en ouverture manuelle ou avec clic sur l'icone mais pas par macro. La première colonne (les dates) s'ouvrait moitié aligné à droite et moitié à gauche. Sans rien y comprendre, c'est en bidouillant avec le 1er "Array" que j'ai mis au hazard à (1,4) au lieu de (1,1) que d'un coup tout allait bien. Je ne peux vous expliquer le pourquoi de la chose, mais ça marche. Maintenant, par macro, j'ouvre ce bnp.exl, je copie les données qu'il me faut puis les colle là ou je veux puis referme ce fichier en un éclair. Si ça peut servir... (je travaille en V2000) Voici la ligne de commande obtenue par l'enregistreur et modifiée ...à personnaliser le chemin.
Et oui, à partir de la version excel 2002, on a droit à ce paramètre en plus : Local
Workbooks.Open "c:tempfichier", LOCAL:=TRUE
"Daniel.C" a écrit dans le message de groupe de discussion : #M# Bonsoir. Suivant ta version, tu peux indiquer : Workbooks.Open "c:tempfichier", local:=True si le ";" est le séparateur décrit dans les paramètres régionaux Windows. Cordialement. Daniel
Bonsoir,
lorsque j'ouvre un fichier csv avec séparateur ";" Excel l'ouvre en repartissant correctement chaque champ séparé dans une colonne distincte (j'espere avoir été clair;).
par contre, en passant par macro avec.GetOpenFilename, (je dois passer par cette commande) le fichier s'ouvre mais toutes les données sont affectées sur la premiere colonne (donc obligé de passer par conversion etc..) connaissez vous un moyen d'ouvrir ce fichier csv avec repartition automatique des champs sur chaque colonne ?
merci d'avance
ps : Je suis sur excel 2000
Bonjour
J'ai eu ce même problème avec un fichier bnp.exl qui est aussi un fichier texte,séparateur.
Pas de problème en ouverture manuelle ou avec clic sur l'icone mais pas par macro.
La première colonne (les dates) s'ouvrait moitié aligné à droite et moitié à gauche.
Sans rien y comprendre, c'est en bidouillant avec le 1er "Array" que j'ai mis au hazard à (1,4) au
lieu de (1,1) que d'un coup tout allait bien. Je ne peux vous expliquer le pourquoi de la chose,
mais ça marche.
Maintenant, par macro, j'ouvre ce bnp.exl, je copie les données qu'il me faut puis les colle là ou
je veux puis referme ce fichier en un éclair.
Si ça peut servir... (je travaille en V2000)
Voici la ligne de commande obtenue par l'enregistreur et modifiée ...à personnaliser le chemin.
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
B01F651E-630F-41EF-81C7-9B7DC999FA2F@microsoft.com...
Et oui, à partir de la version excel 2002, on a
droit à ce paramètre en plus : Local
Workbooks.Open "c:tempfichier", LOCAL:=TRUE
"Daniel.C" <dcolardelleZZZ@gmail.com> a écrit dans le message de groupe de discussion :
#M#ztpKhJHA.3380@TK2MSFTNGP04.phx.gbl...
Bonsoir.
Suivant ta version, tu peux indiquer :
Workbooks.Open "c:tempfichier", local:=True
si le ";" est le séparateur décrit dans les paramètres régionaux
Windows.
Cordialement.
Daniel
Bonsoir,
lorsque j'ouvre un fichier csv avec séparateur ";"
Excel l'ouvre en repartissant correctement chaque champ séparé dans une
colonne distincte (j'espere avoir été clair;).
par contre, en passant par macro avec.GetOpenFilename, (je dois passer par
cette commande) le fichier s'ouvre
mais toutes les données sont affectées sur la premiere colonne (donc obligé
de passer par conversion etc..)
connaissez vous un moyen d'ouvrir ce fichier csv avec repartition automatique
des champs sur chaque colonne ?
Bonjour J'ai eu ce même problème avec un fichier bnp.exl qui est aussi un fichier texte,séparateur. Pas de problème en ouverture manuelle ou avec clic sur l'icone mais pas par macro. La première colonne (les dates) s'ouvrait moitié aligné à droite et moitié à gauche. Sans rien y comprendre, c'est en bidouillant avec le 1er "Array" que j'ai mis au hazard à (1,4) au lieu de (1,1) que d'un coup tout allait bien. Je ne peux vous expliquer le pourquoi de la chose, mais ça marche. Maintenant, par macro, j'ouvre ce bnp.exl, je copie les données qu'il me faut puis les colle là ou je veux puis referme ce fichier en un éclair. Si ça peut servir... (je travaille en V2000) Voici la ligne de commande obtenue par l'enregistreur et modifiée ...à personnaliser le chemin.
Et oui, à partir de la version excel 2002, on a droit à ce paramètre en plus : Local
Workbooks.Open "c:tempfichier", LOCAL:=TRUE
"Daniel.C" a écrit dans le message de groupe de discussion : #M# Bonsoir. Suivant ta version, tu peux indiquer : Workbooks.Open "c:tempfichier", local:=True si le ";" est le séparateur décrit dans les paramètres régionaux Windows. Cordialement. Daniel
Bonsoir,
lorsque j'ouvre un fichier csv avec séparateur ";" Excel l'ouvre en repartissant correctement chaque champ séparé dans une colonne distincte (j'espere avoir été clair;).
par contre, en passant par macro avec.GetOpenFilename, (je dois passer par cette commande) le fichier s'ouvre mais toutes les données sont affectées sur la premiere colonne (donc obligé de passer par conversion etc..) connaissez vous un moyen d'ouvrir ce fichier csv avec repartition automatique des champs sur chaque colonne ?
merci d'avance
ps : Je suis sur excel 2000
michdenis
| Sans rien y comprendre, c'est en bidouillant avec le 1er "Array"
tu va voir dans l'aide VBA sous l'item "FieldInfo" on va tout t'expliquer à propos de l'array : Array(Array(1, 4) , Array(2, 1), Array(3, 1)) Le premier chiffre Array(1, 4) : le numéro du champ le deuxième chiffre Array(1, 4) : le format du champ
En retenant dans le cas des dates, qu'en VBA, on a forcément un format américain.
"milloche" a écrit dans le message de groupe de discussion : # Bonjour J'ai eu ce même problème avec un fichier bnp.exl qui est aussi un fichier texte,séparateur. Pas de problème en ouverture manuelle ou avec clic sur l'icone mais pas par macro. La première colonne (les dates) s'ouvrait moitié aligné à droite et moitié à gauche. Sans rien y comprendre, c'est en bidouillant avec le 1er "Array" que j'ai mis au hazard à (1,4) au lieu de (1,1) que d'un coup tout allait bien. Je ne peux vous expliquer le pourquoi de la chose, mais ça marche. Maintenant, par macro, j'ouvre ce bnp.exl, je copie les données qu'il me faut puis les colle là ou je veux puis referme ce fichier en un éclair. Si ça peut servir... (je travaille en V2000) Voici la ligne de commande obtenue par l'enregistreur et modifiée ...à personnaliser le chemin.
Et oui, à partir de la version excel 2002, on a droit à ce paramètre en plus : Local
Workbooks.Open "c:tempfichier", LOCAL:=TRUE
"Daniel.C" a écrit dans le message de groupe de discussion : #M# Bonsoir. Suivant ta version, tu peux indiquer : Workbooks.Open "c:tempfichier", local:=True si le ";" est le séparateur décrit dans les paramètres régionaux Windows. Cordialement. Daniel
Bonsoir,
lorsque j'ouvre un fichier csv avec séparateur ";" Excel l'ouvre en repartissant correctement chaque champ séparé dans une colonne distincte (j'espere avoir été clair;).
par contre, en passant par macro avec.GetOpenFilename, (je dois passer par cette commande) le fichier s'ouvre mais toutes les données sont affectées sur la premiere colonne (donc obligé de passer par conversion etc..) connaissez vous un moyen d'ouvrir ce fichier csv avec repartition automatique des champs sur chaque colonne ?
merci d'avance
ps : Je suis sur excel 2000
| Sans rien y comprendre, c'est en bidouillant avec le 1er "Array"
tu va voir dans l'aide VBA sous l'item "FieldInfo"
on va tout t'expliquer à propos de l'array :
Array(Array(1, 4) , Array(2, 1), Array(3, 1))
Le premier chiffre Array(1, 4) : le numéro du champ
le deuxième chiffre Array(1, 4) : le format du champ
En retenant dans le cas des dates, qu'en VBA, on a forcément
un format américain.
"milloche" <mille.jean-marieZZZ@neuf.fr> a écrit dans le message de groupe de discussion :
#HUEQfThJHA.3716@TK2MSFTNGP06.phx.gbl...
Bonjour
J'ai eu ce même problème avec un fichier bnp.exl qui est aussi un fichier
texte,séparateur.
Pas de problème en ouverture manuelle ou avec clic sur l'icone mais pas par macro.
La première colonne (les dates) s'ouvrait moitié aligné à droite et moitié à gauche.
Sans rien y comprendre, c'est en bidouillant avec le 1er "Array" que j'ai mis au hazard à
(1,4) au
lieu de (1,1) que d'un coup tout allait bien. Je ne peux vous expliquer le pourquoi de la
chose,
mais ça marche.
Maintenant, par macro, j'ouvre ce bnp.exl, je copie les données qu'il me faut puis les
colle là ou
je veux puis referme ce fichier en un éclair.
Si ça peut servir... (je travaille en V2000)
Voici la ligne de commande obtenue par l'enregistreur et modifiée ...à personnaliser le
chemin.
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
B01F651E-630F-41EF-81C7-9B7DC999FA2F@microsoft.com...
Et oui, à partir de la version excel 2002, on a
droit à ce paramètre en plus : Local
Workbooks.Open "c:tempfichier", LOCAL:=TRUE
"Daniel.C" <dcolardelleZZZ@gmail.com> a écrit dans le message de groupe de discussion :
#M#ztpKhJHA.3380@TK2MSFTNGP04.phx.gbl...
Bonsoir.
Suivant ta version, tu peux indiquer :
Workbooks.Open "c:tempfichier", local:=True
si le ";" est le séparateur décrit dans les paramètres régionaux
Windows.
Cordialement.
Daniel
Bonsoir,
lorsque j'ouvre un fichier csv avec séparateur ";"
Excel l'ouvre en repartissant correctement chaque champ séparé dans une
colonne distincte (j'espere avoir été clair;).
par contre, en passant par macro avec.GetOpenFilename, (je dois passer par
cette commande) le fichier s'ouvre
mais toutes les données sont affectées sur la premiere colonne (donc obligé
de passer par conversion etc..)
connaissez vous un moyen d'ouvrir ce fichier csv avec repartition automatique
des champs sur chaque colonne ?
| Sans rien y comprendre, c'est en bidouillant avec le 1er "Array"
tu va voir dans l'aide VBA sous l'item "FieldInfo" on va tout t'expliquer à propos de l'array : Array(Array(1, 4) , Array(2, 1), Array(3, 1)) Le premier chiffre Array(1, 4) : le numéro du champ le deuxième chiffre Array(1, 4) : le format du champ
En retenant dans le cas des dates, qu'en VBA, on a forcément un format américain.
"milloche" a écrit dans le message de groupe de discussion : # Bonjour J'ai eu ce même problème avec un fichier bnp.exl qui est aussi un fichier texte,séparateur. Pas de problème en ouverture manuelle ou avec clic sur l'icone mais pas par macro. La première colonne (les dates) s'ouvrait moitié aligné à droite et moitié à gauche. Sans rien y comprendre, c'est en bidouillant avec le 1er "Array" que j'ai mis au hazard à (1,4) au lieu de (1,1) que d'un coup tout allait bien. Je ne peux vous expliquer le pourquoi de la chose, mais ça marche. Maintenant, par macro, j'ouvre ce bnp.exl, je copie les données qu'il me faut puis les colle là ou je veux puis referme ce fichier en un éclair. Si ça peut servir... (je travaille en V2000) Voici la ligne de commande obtenue par l'enregistreur et modifiée ...à personnaliser le chemin.
Et oui, à partir de la version excel 2002, on a droit à ce paramètre en plus : Local
Workbooks.Open "c:tempfichier", LOCAL:=TRUE
"Daniel.C" a écrit dans le message de groupe de discussion : #M# Bonsoir. Suivant ta version, tu peux indiquer : Workbooks.Open "c:tempfichier", local:=True si le ";" est le séparateur décrit dans les paramètres régionaux Windows. Cordialement. Daniel
Bonsoir,
lorsque j'ouvre un fichier csv avec séparateur ";" Excel l'ouvre en repartissant correctement chaque champ séparé dans une colonne distincte (j'espere avoir été clair;).
par contre, en passant par macro avec.GetOpenFilename, (je dois passer par cette commande) le fichier s'ouvre mais toutes les données sont affectées sur la premiere colonne (donc obligé de passer par conversion etc..) connaissez vous un moyen d'ouvrir ce fichier csv avec repartition automatique des champs sur chaque colonne ?