Fusion de fichiers CVS ds Excel

Fermé
mfv64 Messages postés 7 Date d'inscription mercredi 26 septembre 2012 Statut Membre Dernière intervention 28 septembre 2012 - 26 sept. 2012 à 12:13
 mfv64 - 1 oct. 2012 à 12:27
Bonjour,

j'ai monté cette petite macro Excel pour fusionner des fichiers CSV

Sub importDonnees()
Dim principal As ThisWorkbook
Dim repertoire As String, fichier$
Application.ScreenUpdating = False
Set principal = ThisWorkbook
repertoire = "B:\Requêtes - Outils\IJSS\"
fichier = Dir(repertoire & "*.csv")
Do While fichier <> ""
Workbooks.Open (repertoire & fichier)
ActiveSheet.UsedRange.Copy Destination:=principal.Sheets(1).Range("a" & Rows.Count).End(xlUp).Offset(1, 0)
ActiveWorkbook.Close
fichier = Dir
Loop
End Sub

Mon probléme est qu'un champ contient des données décimales ( ex 1414,82) et que ces données sont arrondies après fusion ( ex : 1414,82 devient 1415).

Pouvez vous m'aider

D'avance merci


A voir également:

14 réponses

Le Pingou Messages postés 12229 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 9 janvier 2025 1 454
26 sept. 2012 à 18:05
Bonjour,
Au passage, avez-vous essayé de mettre la colonne correspondante au format nombre décimal ?
0
mfv64 Messages postés 7 Date d'inscription mercredi 26 septembre 2012 Statut Membre Dernière intervention 28 septembre 2012
27 sept. 2012 à 12:07
Bonjour Pingou.

Oui, en tout premier.... C'est la que je me suis rendu compte du problème.

Je suis aller un peu avant ds mes recherches.
En fait, il semblerait que VBA prenne par défaut la virgule "," comme séparateur plutot que le ";"....

Et là je bloque. J'ai bien vu qu'il y a un paramétrage possible ds l'instruction " Open, mais je ne connais pas la syntaxe.

Merci pour votre aide
0
Le Pingou Messages postés 12229 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 9 janvier 2025 1 454
27 sept. 2012 à 16:05
Bonjour,
Selon votre procédure il manque la conversion csv en xls.
Essayer avec l'instruction suivante insérer juste avant [ActiveWorkbook.Close]
ActiveWorkbook.Save  FileFormat:=xlExcel8, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, CreateBackup:=False


0
Le Pingou Messages postés 12229 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 9 janvier 2025 1 454
27 sept. 2012 à 17:56
Bonjour,
Si cela ne marche pas, vous pouvez mettre un fichier [.CSV] sur https://www.cjoint.com/ et poster le lien.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mfv64 Messages postés 7 Date d'inscription mercredi 26 septembre 2012 Statut Membre Dernière intervention 28 septembre 2012
28 sept. 2012 à 10:14
Bonjour.

Ca ne fonctionne pas. Voici le message d'erreur

Erreur de compilation:
Nombre d'arguments incorrects ou affectation de propriété incorrecte.

Je vous joint un de fichier CSV comme demandé sur votre message

Cdlt
0
Le Pingou Messages postés 12229 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 9 janvier 2025 1 454
28 sept. 2012 à 10:59
Bonjour,
Merci pour l'information.
Pour le fichier joint, il faut mettre une copie du lien qui a été créé par cjoint.com (expl: https://www.cjoint.com/?BICk3NkI
Si possible une copie de votre macro ... !

0
mfv64 Messages postés 7 Date d'inscription mercredi 26 septembre 2012 Statut Membre Dernière intervention 28 septembre 2012
28 sept. 2012 à 11:50
Pardon, je suis un peu novice.

Voici le lien du csv : https://www.cjoint.com/?BIClWhTpfDf

Voici le lien du fichier xlsm contenat la macro : https://www.cjoint.com/?BIClXFcxevb

Merci encore pour votre aide

Cdlt
0
Le Pingou Messages postés 12229 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 9 janvier 2025 1 454
Modifié par Le Pingou le 28/09/2012 à 14:41
Bonjour,
Merci.
Petite précision, c'est bien la colonne [Montant] qui vous pose problème ?

Salutations.
Le Pingou
0
Le Pingou Messages postés 12229 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 9 janvier 2025 1 454
Modifié par Le Pingou le 28/09/2012 à 15:19
Bonjour,
Je vous propose ceci : dans la macro [Sub Miseauformat()] vous insérez les 2 lignes de code suivantes juste avant [Range("A1").Select]
Les 2 lignes :
nbli = Cells(Cells.Rows.Count, 1).End(xlUp).Row   
Range("I1:I" & nbli).Replace What:=",", Replacement:=".", LookAt:=xlPart, _        SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _        ReplaceFormat:=False


Salutations.
Le Pingou
0
mfv64 Messages postés 7 Date d'inscription mercredi 26 septembre 2012 Statut Membre Dernière intervention 28 septembre 2012
28 sept. 2012 à 15:18
Bonjour,

Oui, c'est la colonne monatnt qui pose probléme.

J'ai déposé un fichier ZIppé ici : https://www.cjoint.com/?BICoThKTpOL

Cdlt
0
mfv64 Messages postés 7 Date d'inscription mercredi 26 septembre 2012 Statut Membre Dernière intervention 28 septembre 2012
28 sept. 2012 à 15:31
J'ai testé les modifs ds MiseauFormat. Ca me donne le même résultat :(

Cdlt
0
Le Pingou Messages postés 12229 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 9 janvier 2025 1 454
28 sept. 2012 à 15:51
Bonjour,
Non ce n'est pas possible j'ai testé et cela est correct, j'ai bien les nombres décimaux dans la colonne [I].
Je recontrôle et vous envoie le fichier.
0
mfv64 Messages postés 7 Date d'inscription mercredi 26 septembre 2012 Statut Membre Dernière intervention 28 septembre 2012
28 sept. 2012 à 15:55
ben je vous jure M'sieur :)...

J'ai essayé plusieur fois en refaisant les mofids depuis le début..

Je veux bien le fichier. Merci
0
Le Pingou Messages postés 12229 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 9 janvier 2025 1 454
28 sept. 2012 à 21:32
Bonjour,
Il serait bien que les montants du fichier [csv] soit avec des décimal (expl 1414,256) et non pas des nombre entier (expl : 1415)
Voici votre fichier avec ma proposition : https://www.cjoint.com/?3ICvFXzEXjV
0
Bonjour,

Merci pour votre aide. Je ferai le test la semaine prochaine car je suis en déplacement ces jours ci ;)

Encore merci

Cdlt
MFV
0