VBA - Fonctions Cells.Replace / Wb.SaveAs sur fichier .csv

Bonjour,

J'ai créé ce fichier qui me permet :

- D'ouvrir et tous les fichiers .csv d'un dossier source les uns après les autres

- De remplacer des valeurs (+ Message pour nous dire que les modifications ont été faites)

- D'enregistrer le fichier dans un dossier destination au format .csv (+ Message pour nous confirmer le bon enregistrement du fichier)

- Fermer le fichier

- Supprimer le fichier du dossier source (+ Message pour nous confirmer la bonne suppression du fichier)

Le problème est le suivant : Les changements ne sont pas visibles quand j'ouvre le fichier enregistré dans le dossier destination.

Problème : Ou les changements ne sont pas appliqués, Ou l'enregistrement au format .csv ne garde pas les modifications (Format de cellule mauvais ?)

Sub Ouvrirfichiers()
Dim Fichier As String                                               'Déclaration variable Fichier
Dim CheminSource As String                                          'Déclaration variable CheminSource
Dim CheminDestination As String                                     'Déclaration variable CheminDestination

Dim Wb As Workbook

Application.DisplayAlerts = False                                   'Désactive l'alerte si fichier du même nom existe déjà lors de la sauvegarde

CheminSource = "C:\Users\jeff.vialelles\Downloads\TEST\"            'Déclaration du CheminSource
CheminDestination = "C:\Users\jeff.vialelles\Downloads\TESTCOPIE\"  'Déclaration du CheminDestination"
Fichier = Dir(CheminSource & "*.csv")                               'Traite les fichiers qui se trouvent dans CheminSource avec .csv en extension

    Do While Fichier <> ""
    Set Wb = Workbooks.Open(CheminSource & Fichier)                 'Ouvre les fichiers qui correspondent au critère .csv et dans le DossierSource

        Cells.Replace What:=",1/", Replacement:=",01/"              'Remplacement jour 1 par jour 01
        Cells.Replace What:=",2/", Replacement:=",02/"              'Remplacement jour 2 par jour 02
        Cells.Replace What:=",3/", Replacement:=",03/"              'Remplacement jour 3 par jour 03
        Cells.Replace What:=",4/", Replacement:=",04/"              'Remplacement jour 4 par jour 04
        Cells.Replace What:=",5/", Replacement:=",05/"              'Remplacement jour 5 par jour 05
        Cells.Replace What:=",6/", Replacement:=",06/"              'Remplacement jour 6 par jour 06
        Cells.Replace What:=",7/", Replacement:=",07/"              'Remplacement jour 7 par jour 07
        Cells.Replace What:=",8/", Replacement:=",08/"              'Remplacement jour 8 par jour 08
        Cells.Replace What:=",9/", Replacement:=",09/"              'Remplacement jour 9 par jour 09

        Cells.Replace What:="/1/", Replacement:="/01/"              'Remplacement mois 1 par mois 01
        Cells.Replace What:="/2/", Replacement:="/02/"              'Remplacement mois 2 par mois 02
        Cells.Replace What:="/3/", Replacement:="/03/"              'Remplacement mois 3 par mois 03
        Cells.Replace What:="/4/", Replacement:="/04/"              'Remplacement mois 4 par mois 04
        Cells.Replace What:="/5/", Replacement:="/05/"              'Remplacement mois 5 par mois 05
        Cells.Replace What:="/6/", Replacement:="/06/"              'Remplacement mois 6 par mois 06
        Cells.Replace What:="/7/", Replacement:="/07/"              'Remplacement mois 7 par mois 07
        Cells.Replace What:="/8/", Replacement:="/08/"              'Remplacement mois 8 par mois 08
        Cells.Replace What:="/9/", Replacement:="/09/"              'Remplacement mois 9 par mois 09

        MsgBox "Les valeurs ont été modifiées."                     'Message qui nous confirme la modification des valeurs

    Wb.SaveAs Filename:=CheminDestination & Fichier                 'Sauvegarde le fichier dans le CheminDestination
    MsgBox "L'enregistrement a été correctement effectué."          'Message qui nous confirme le bon enregistrement
    Wb.Close                                                        'Ferme le fichier
    Kill CheminSource & Fichier                                     'Supprime le fichier dans le CheminSource
    MsgBox "Le fichier source a été supprimé."                      'Message qui nous confirme la suppression du fichier source
    Set Wb = Nothing
    Fichier = Dir
    Loop

Application.DisplayAlerts = True                                    'Active l'alerte si fichier du même nom existe déjà lors de la sauvegarde

End Sub

N'hésitez pas à me dire s'il vous manque des informations.

Merci d'avance !

Bonjour

Peux-tu joindre un exemple de quelques lignes d'un csv représentatif

Zippes-le si le csv n'est pas directement joignable

Ci-joint le fichier que j'aimerais modifier.

Merci pour votre aide !

17fichier.csv (5.10 Ko)
Rechercher des sujets similaires à "vba fonctions replace saveas fichier csv"