Fusion de fichiers CVS ds Excel

mfv64 Messages postés 7 Statut Membre -  
 mfv64 -
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

14 réponses

  1. Le Pingou Messages postés 12273 Date d'inscription   Statut Contributeur Dernière intervention   1 476
     
    Bonjour,
    Au passage, avez-vous essayé de mettre la colonne correspondante au format nombre décimal ?
    0
  2. mfv64 Messages postés 7 Statut Membre
     
    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
  3. Le Pingou Messages postés 12273 Date d'inscription   Statut Contributeur Dernière intervention   1 476
     
    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
  4. Le Pingou Messages postés 12273 Date d'inscription   Statut Contributeur Dernière intervention   1 476
     
    Bonjour,
    Si cela ne marche pas, vous pouvez mettre un fichier [.CSV] sur https://www.cjoint.com/ et poster le lien.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. mfv64 Messages postés 7 Statut Membre
     
    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
  7. Le Pingou Messages postés 12273 Date d'inscription   Statut Contributeur Dernière intervention   1 476
     
    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
  8. mfv64 Messages postés 7 Statut Membre
     
    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
    1. Le Pingou Messages postés 12273 Date d'inscription   Statut Contributeur Dernière intervention   1 476
       
      Bonjour,
      Merci.
      Petite précision, c'est bien la colonne [Montant] qui vous pose problème ?

      Salutations.
      Le Pingou
      0
  9. Le Pingou Messages postés 12273 Date d'inscription   Statut Contributeur Dernière intervention   1 476
     
    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
  10. mfv64 Messages postés 7 Statut Membre
     
    J'ai testé les modifs ds MiseauFormat. Ca me donne le même résultat :(

    Cdlt
    0
  11. Le Pingou Messages postés 12273 Date d'inscription   Statut Contributeur Dernière intervention   1 476
     
    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
  12. mfv64 Messages postés 7 Statut Membre
     
    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
  13. Le Pingou Messages postés 12273 Date d'inscription   Statut Contributeur Dernière intervention   1 476
     
    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
  14. mfv64
     
    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