Bonjour,
Bonjour,
j'ai un problème urgent à résoudre :
- j'ai un fichier csv avec separateur point virgule
- j'ai besoin d'un fichier excel avec données dans colonnes
voila un extrait de mon fichier CSV :
Quantité,0,0,140,400,"1,900","1,700",0
Montant,0.00,0.00,"14,000.00","20,000.00","38,000.00","17,000.00",0.00
voici ce que je désirais avoir au final :
Quantité 0 0 140 400 1900 1700 0
Montant 0 0 14000 20000 38000 17000 0
le probleme que je trouve est que dans mes données sources pour les quantités , j'ai un format sans decimal alors que pour le montant j'ai deux decimal apres la virgule.
Lorsque je réalise ma convertion avec Excel il m'affiche au final apres plusieurs manipulation une quantité de 1,9 pour un montant de 38000 ce qui est faut
pourriez vous m'aider au plus vite... d'avance merci
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
Jean-Claude
Bonjour,
sous Excel 2003, menu Données/Convertir, choisir Délimité, Suivant, choisir Virgule, Suivant, cliquer sur le bouton Avancé, choisir en séparateur décimal le point et séparateur des milliers la virgule, Ok, Terminer (en laissant les colonnes en Standard), et ca donne : Quantité 0 0 140 400 1 900 1 700 0 Montant 0 0 14 000,00 20 000,00 38 000,00 17 000,00 0
Tout au plus, reste-t-il à unifier le format d'affichage au niveau des décimales... Cordialement, Jean-Claude
Bonjour,
sous Excel 2003, menu Données/Convertir,
choisir Délimité, Suivant,
choisir Virgule, Suivant,
cliquer sur le bouton Avancé, choisir en séparateur décimal le point et
séparateur des milliers la virgule, Ok,
Terminer (en laissant les colonnes en Standard),
et ca donne :
Quantité 0 0 140 400 1 900 1 700 0
Montant 0 0 14 000,00 20 000,00 38 000,00 17 000,00 0
Tout au plus, reste-t-il à unifier le format d'affichage au niveau des
décimales...
Cordialement,
Jean-Claude
sous Excel 2003, menu Données/Convertir, choisir Délimité, Suivant, choisir Virgule, Suivant, cliquer sur le bouton Avancé, choisir en séparateur décimal le point et séparateur des milliers la virgule, Ok, Terminer (en laissant les colonnes en Standard), et ca donne : Quantité 0 0 140 400 1 900 1 700 0 Montant 0 0 14 000,00 20 000,00 38 000,00 17 000,00 0
Tout au plus, reste-t-il à unifier le format d'affichage au niveau des décimales... Cordialement, Jean-Claude
michdenis
Bonjour,
Tu colles ce qui suit dans un module standard et tu renseignes les variables dans la procédure :
'----------------------------------------------- Sub ImporterFichiersTextes()
Dim A As Integer, T As Variant Dim Fichier As String, Sep As String Dim WholeLine As String, Rg As Range Dim NomFeuille As String
Application.ScreenUpdating = False
'****Définir les variables********
'Chemin et nom du fichier .csv Fichier = "C:Denis1.csv" 'Séparateur du fichier texte Sep = ";" 'Nom de la feuille du classeur actuel 'où seront insérés les données. NomFeuille = "Import_MichD"
On Error Resume Next Application.DisplayAlerts = False Worksheets(NomFeuille).Delete Set Sh = Worksheets.Add Sh.Name = NomFeuille With Sh A = 1 Open Fichier For Input Access Read As #1 While Not EOF(1) Line Input #1, WholeLine T = Split(WholeLine, Sep) With .Range("A" & A).Resize(, UBound(T) + 1) .NumberFormat = "@" .Value = T A = A + 1 End With Wend Close #1 Set Rg = .UsedRange End With LeFormat Rg Application.ScreenUpdating = True End Sub '----------------------------------------------- Sub LeFormat(Rg As Range) With Rg .Replace Chr(160), "" .Replace ",", "" .Replace ".", "," .Replace """", "" .NumberFormat = "General" .Replace ",", "." End With With Worksheets(Rg.Parent.Name) With .Range("IV65536") .Value = 1 .Copy End With Rg.PasteSpecial xlPasteValues, xlPasteSpecialOperationMultiply .Range("IV65536") = "" .Range("A1").Select End With End Sub '-----------------------------------------------
MichD -------------------------------------------- "marcsulli" a écrit dans le message de groupe de discussion :
Bonjour, Bonjour, j'ai un problème urgent à résoudre : - j'ai un fichier csv avec separateur point virgule - j'ai besoin d'un fichier excel avec données dans colonnes
voila un extrait de mon fichier CSV : Quantité,0,0,140,400,"1,900","1,700",0 Montant,0.00,0.00,"14,000.00","20,000.00","38,000.00","17,000.00",0.00
voici ce que je désirais avoir au final : Quantité 0 0 140 400 1900 1700 0 Montant 0 0 14000 20000 38000 17000 0
le probleme que je trouve est que dans mes données sources pour les quantités , j'ai un format sans decimal alors que pour le montant j'ai deux decimal apres la virgule. Lorsque je réalise ma convertion avec Excel il m'affiche au final apres plusieurs manipulation une quantité de 1,9 pour un montant de 38000 ce qui est faut pourriez vous m'aider au plus vite... d'avance merci
Bonjour,
Tu colles ce qui suit dans un module standard
et tu renseignes les variables dans la procédure :
'-----------------------------------------------
Sub ImporterFichiersTextes()
Dim A As Integer, T As Variant
Dim Fichier As String, Sep As String
Dim WholeLine As String, Rg As Range
Dim NomFeuille As String
Application.ScreenUpdating = False
'****Définir les variables********
'Chemin et nom du fichier .csv
Fichier = "C:Denis1.csv"
'Séparateur du fichier texte
Sep = ";"
'Nom de la feuille du classeur actuel
'où seront insérés les données.
NomFeuille = "Import_MichD"
On Error Resume Next
Application.DisplayAlerts = False
Worksheets(NomFeuille).Delete
Set Sh = Worksheets.Add
Sh.Name = NomFeuille
With Sh
A = 1
Open Fichier For Input Access Read As #1
While Not EOF(1)
Line Input #1, WholeLine
T = Split(WholeLine, Sep)
With .Range("A" & A).Resize(, UBound(T) + 1)
.NumberFormat = "@"
.Value = T
A = A + 1
End With
Wend
Close #1
Set Rg = .UsedRange
End With
LeFormat Rg
Application.ScreenUpdating = True
End Sub
'-----------------------------------------------
Sub LeFormat(Rg As Range)
With Rg
.Replace Chr(160), ""
.Replace ",", ""
.Replace ".", ","
.Replace """", ""
.NumberFormat = "General"
.Replace ",", "."
End With
With Worksheets(Rg.Parent.Name)
With .Range("IV65536")
.Value = 1
.Copy
End With
Rg.PasteSpecial xlPasteValues, xlPasteSpecialOperationMultiply
.Range("IV65536") = ""
.Range("A1").Select
End With
End Sub
'-----------------------------------------------
MichD
--------------------------------------------
"marcsulli" a écrit dans le message de groupe de discussion : RbSdnVeMl-xyisHQRVn_vwA@giganews.com...
Bonjour,
Bonjour,
j'ai un problème urgent à résoudre :
- j'ai un fichier csv avec separateur point virgule
- j'ai besoin d'un fichier excel avec données dans colonnes
voila un extrait de mon fichier CSV :
Quantité,0,0,140,400,"1,900","1,700",0
Montant,0.00,0.00,"14,000.00","20,000.00","38,000.00","17,000.00",0.00
voici ce que je désirais avoir au final :
Quantité 0 0 140 400 1900 1700 0
Montant 0 0 14000 20000 38000 17000 0
le probleme que je trouve est que dans mes données sources pour les quantités ,
j'ai un format sans decimal alors que pour le montant j'ai deux decimal apres la
virgule.
Lorsque je réalise ma convertion avec Excel il m'affiche au final apres
plusieurs manipulation une quantité de 1,9 pour un montant de 38000 ce qui est
faut
pourriez vous m'aider au plus vite... d'avance merci
Tu colles ce qui suit dans un module standard et tu renseignes les variables dans la procédure :
'----------------------------------------------- Sub ImporterFichiersTextes()
Dim A As Integer, T As Variant Dim Fichier As String, Sep As String Dim WholeLine As String, Rg As Range Dim NomFeuille As String
Application.ScreenUpdating = False
'****Définir les variables********
'Chemin et nom du fichier .csv Fichier = "C:Denis1.csv" 'Séparateur du fichier texte Sep = ";" 'Nom de la feuille du classeur actuel 'où seront insérés les données. NomFeuille = "Import_MichD"
On Error Resume Next Application.DisplayAlerts = False Worksheets(NomFeuille).Delete Set Sh = Worksheets.Add Sh.Name = NomFeuille With Sh A = 1 Open Fichier For Input Access Read As #1 While Not EOF(1) Line Input #1, WholeLine T = Split(WholeLine, Sep) With .Range("A" & A).Resize(, UBound(T) + 1) .NumberFormat = "@" .Value = T A = A + 1 End With Wend Close #1 Set Rg = .UsedRange End With LeFormat Rg Application.ScreenUpdating = True End Sub '----------------------------------------------- Sub LeFormat(Rg As Range) With Rg .Replace Chr(160), "" .Replace ",", "" .Replace ".", "," .Replace """", "" .NumberFormat = "General" .Replace ",", "." End With With Worksheets(Rg.Parent.Name) With .Range("IV65536") .Value = 1 .Copy End With Rg.PasteSpecial xlPasteValues, xlPasteSpecialOperationMultiply .Range("IV65536") = "" .Range("A1").Select End With End Sub '-----------------------------------------------
MichD -------------------------------------------- "marcsulli" a écrit dans le message de groupe de discussion :
Bonjour, Bonjour, j'ai un problème urgent à résoudre : - j'ai un fichier csv avec separateur point virgule - j'ai besoin d'un fichier excel avec données dans colonnes
voila un extrait de mon fichier CSV : Quantité,0,0,140,400,"1,900","1,700",0 Montant,0.00,0.00,"14,000.00","20,000.00","38,000.00","17,000.00",0.00
voici ce que je désirais avoir au final : Quantité 0 0 140 400 1900 1700 0 Montant 0 0 14000 20000 38000 17000 0
le probleme que je trouve est que dans mes données sources pour les quantités , j'ai un format sans decimal alors que pour le montant j'ai deux decimal apres la virgule. Lorsque je réalise ma convertion avec Excel il m'affiche au final apres plusieurs manipulation une quantité de 1,9 pour un montant de 38000 ce qui est faut pourriez vous m'aider au plus vite... d'avance merci
sous Excel 2003, menu Données/Convertir, choisir Délimité, Suivant, choisir Virgule, Suivant, cliquer sur le bouton Avancé, choisir en séparateur décimal le point et séparateur des milliers la virgule, Ok, Terminer (en laissant les colonnes en Standard), et ca donne : Quantité 0 0 140 400 1 900 1 700 0 Montant 0 0 14 000,00 20 000,00 38 000,00 17 000,00 0
Tout au plus, reste-t-il à unifier le format d'affichage au niveau des décimales... Cordialement, Jean-Claude
merci pour cette reponse marcsulli
Jean-Claude a écrit le 16/02/2011 à 20h46 :
Bonjour,
sous Excel 2003, menu Données/Convertir,
choisir Délimité, Suivant,
choisir Virgule, Suivant,
cliquer sur le bouton Avancé, choisir en séparateur
décimal le point et
séparateur des milliers la virgule, Ok,
Terminer (en laissant les colonnes en Standard),
et ca donne :
Quantité 0 0 140 400 1 900 1 700 0
Montant 0 0 14 000,00 20 000,00 38 000,00 17 000,00 0
Tout au plus, reste-t-il à unifier le format d'affichage au niveau des
décimales...
Cordialement,
Jean-Claude
sous Excel 2003, menu Données/Convertir, choisir Délimité, Suivant, choisir Virgule, Suivant, cliquer sur le bouton Avancé, choisir en séparateur décimal le point et séparateur des milliers la virgule, Ok, Terminer (en laissant les colonnes en Standard), et ca donne : Quantité 0 0 140 400 1 900 1 700 0 Montant 0 0 14 000,00 20 000,00 38 000,00 17 000,00 0
Tout au plus, reste-t-il à unifier le format d'affichage au niveau des décimales... Cordialement, Jean-Claude
merci pour cette reponse marcsulli
michdenis
Ta question était :
| j'ai un problème urgent à résoudre : | - j'ai un fichier csv avec separateur point virgule | - j'ai besoin d'un fichier excel avec données dans colonnes
Selon la solution proposée, on peut conclure que tu avais la "VIRGULE" COMME SÉPARATEUR d'éléments.
| j'ai un problème urgent à résoudre :
| - j'ai un fichier csv avec separateur point virgule
| - j'ai besoin d'un fichier excel avec données dans colonnes
Selon la solution proposée, on peut conclure que tu avais la "VIRGULE" COMME SÉPARATEUR d'éléments.
| j'ai un problème urgent à résoudre : | - j'ai un fichier csv avec separateur point virgule | - j'ai besoin d'un fichier excel avec données dans colonnes
Selon la solution proposée, on peut conclure que tu avais la "VIRGULE" COMME SÉPARATEUR d'éléments.
"michdenis" a écrit dans le message de news: ijj2qf$rbe$
Ta question était :
| j'ai un problème urgent à résoudre : | - j'ai un fichier csv avec separateur point virgule | - j'ai besoin d'un fichier excel avec données dans colonnes
Selon la solution proposée, on peut conclure que tu avais la "VIRGULE" COMME SÉPARATEUR d'éléments.
Je n'avais pas bien lu la phrase, et m'étais plus attardé sur l'exemple, qui, c'est vrai, se contredisaient... Jean-Claude
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
ijj2qf$rbe$1@speranza.aioe.org...
Ta question était :
| j'ai un problème urgent à résoudre :
| - j'ai un fichier csv avec separateur point virgule
| - j'ai besoin d'un fichier excel avec données dans colonnes
Selon la solution proposée, on peut conclure que tu avais la "VIRGULE"
COMME SÉPARATEUR d'éléments.
"michdenis" a écrit dans le message de news: ijj2qf$rbe$
Ta question était :
| j'ai un problème urgent à résoudre : | - j'ai un fichier csv avec separateur point virgule | - j'ai besoin d'un fichier excel avec données dans colonnes
Selon la solution proposée, on peut conclure que tu avais la "VIRGULE" COMME SÉPARATEUR d'éléments.
Je ne suis pas sûr de comprendre la question. Le principe que j'évoquais fonctionne avec un fichier csv ou si le texte est déjà présent dans Excel, non ? A vrai dire, un fichier csv contenant l'exemple de Marcsulli, s'ouvre avec toutes les données dans la 1ère colonne, car le séparateur est la virgule et non le point-virgule. Mais bon, Marcsulli semble y trouver son compte :-) Jean-Claude
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
ijhdhe$veh$1@speranza.aioe.org...
Je ne suis pas sûr de comprendre la question.
Le principe que j'évoquais fonctionne avec un fichier csv ou si le texte est
déjà présent dans Excel, non ?
A vrai dire, un fichier csv contenant l'exemple de Marcsulli, s'ouvre avec
toutes les données dans la 1ère colonne, car le séparateur est la virgule et
non le point-virgule.
Mais bon, Marcsulli semble y trouver son compte :-)
Jean-Claude
Je ne suis pas sûr de comprendre la question. Le principe que j'évoquais fonctionne avec un fichier csv ou si le texte est déjà présent dans Excel, non ? A vrai dire, un fichier csv contenant l'exemple de Marcsulli, s'ouvre avec toutes les données dans la 1ère colonne, car le séparateur est la virgule et non le point-virgule. Mais bon, Marcsulli semble y trouver son compte :-) Jean-Claude