IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

Macro remplaçant ";" par "," dans tout les fichiers ".csv" d"un repertoire [XL-2010]


Sujet :

Excel

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 86
    Points : 61
    Points
    61
    Par défaut Macro remplaçant ";" par "," dans tout les fichiers ".csv" d"un repertoire
    Bonjour,

    Ce que j'esseye de faire c'est créer un macro qui remplace tout les caractère ";" par des caracteres "," dans tout les fichiers d'un repertoire nommé "Dossier".
    Le remplacement fonctionne mais ce que je veux c'est qu'il se passe au sein meme du fichier, que le modifications soit sauvegardées mais sans creation d'un fichier du meme nom mais avec une extension "xls" au lieu de "csv"comme écrit dans la macro ci-dessous.

    Mais malgré avoir tout esseyé je n'arrive pas à le faire.
    Voici la Macro:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    Sub Macro3()
    Dim FolderName As String, FName As String
    Dim Wbk As Workbook
     
     
    Application.ScreenUpdating = False
    FolderName = "C:\Users\SONY\Desktop\Dossier\"              'le remplacement de tout les ";" par les "," se fait au niveau de chaque fichier du repertoire nommé Dossier
     
    FName = Dir(FolderName & "*.csv")
    Do While Len(FName)
        Set Wbk = Workbooks.Open(FolderName & FName)
        With Wbk
            With .Worksheets(1)
     
            Cells.Replace What:=";", Replacement:=",", LookAt:=xlPart, SearchOrder _
            :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False  'remplacer tout ";" par ",
     
            End With
     
            Application.DisplayAlerts = False
            .SaveAs Replace(.FullName, ".csv", ".xls"), xlWorkbookNormal
            Application.DisplayAlerts = True
     
            .Close False
        End With
        Set Wbk = Nothing
        FName = Dir
    Loop
    End Sub
    J'éspère que vous pourrez m'aider.
    Je vous remercie infiniment pour le temps et l'attention accordés à ce message.

  2. #2
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 207
    Points : 14 362
    Points
    14 362
    Par défaut
    Bonjour,

    Essaie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    Sub Macro3()
    Dim FolderName As String, FName As String
    Dim Wbk As Workbook
     
     
    Application.ScreenUpdating = False
    FolderName = "C:\Users\SONY\Desktop\Dossier\"              'le remplacement de tout les ";" par les "," se fait au niveau de chaque fichier du repertoire nommé Dossier
    FName = Dir(FolderName & "*.csv")
    Do While Len(FName)
        Set Wbk = Workbooks.Open(FolderName & FName)
        With Wbk
            With .Worksheets(1)
     
            .Cells.Replace What:=";", Replacement:=",", LookAt:=xlPart, SearchOrder _
            :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False  'remplacer tout ";" par ",
     
            End With
     
            Application.DisplayAlerts = False
            .Save
            Application.DisplayAlerts = True
     
            .Close False
        End With
        Set Wbk = Nothing
        FName = Dir
    Loop
    End Sub

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 86
    Points : 61
    Points
    61
    Par défaut
    Ca fonctionne !

    Je te remercie infiniment Daniel.C. Merci énormement pour le temps, l'attention et l'energie que tu as accordé à ce problème.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 7
    Dernier message: 06/08/2014, 22h05
  2. [XL-2013] Ajout d'appel de macros dans toutes les macros.. par macro..
    Par Gandorf dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 18/04/2013, 08h25
  3. Macro déclenchée par un événement dans tous les classeurs
    Par XtineG dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 11/01/2011, 17h03
  4. Recherche une chaine de façon recursive dans tout les fichiers d'un serveur.
    Par ben_ghost dans le forum Administration système
    Réponses: 3
    Dernier message: 21/07/2009, 11h54
  5. Remplacer une couleur par une autre dans tout le doc
    Par notorious76 dans le forum Word
    Réponses: 3
    Dernier message: 24/09/2008, 23h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo