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

Macros et VBA Excel Discussion :

Macro concaténation de fichiers


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Inscrit en
    Mai 2013
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Mai 2013
    Messages : 83
    Points : 45
    Points
    45
    Par défaut Macro concaténation de fichiers
    J'ai lu cette discussion.

    Citation Envoyé par kiki29 Voir le message
    Salut, à adapter à ton contexte, fusionne les XLS ou les CSV
    J'ai trouvé ce code qui t'appartient,

    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    Option Explicit 
     
    Private Sub ConcatenationCSV(sDossier As String) 
    Dim Wkb As Workbook 
    Dim sChemin As String, sFichier As String 
    Dim LastRow As Long, iRow As Long 
    Dim c As Range, Ar() As String 
    Const sSeparateur As String = ";" 
     
        Application.ScreenUpdating = False 
     
        sChemin = sDossier & "\" 
        sFichier = Dir$(sChemin & "*.csv" ) 
     
        Feuil1.Cells.Clear 
        Do While Len(sFichier) > 0 
     
            Set Wkb = Workbooks.Open(sChemin & sFichier) 
            LastRow = Wkb.Sheets(1).Cells(Wkb.Sheets(1).Rows.Count, 1).End(xlUp).Row 
     
            With Feuil1 
                For Each c In Wkb.Sheets(1).Range("A1:A" & LastRow) 
                    iRow = .Cells(.Rows.Count, 1).End(xlUp).Row + 1 
                    Ar = Split(c, sSeparateur) 
                    .Range(.Cells(iRow, 1), .Cells(iRow, UBound(Ar) + 1)).Value = Ar 
                Next c 
            End With 
     
            Wkb.Close 
            Set Wkb = Nothing 
     
            sFichier = Dir$() 
        Loop 
        Application.ScreenUpdating = True 
    End Sub 
     
    Sub SelDossierCSV() 
        With Application.FileDialog(msoFileDialogFolderPicker) 
            .InitialFileName = ThisWorkbook.Path & "\" 
            .Title = "Dossier CSV à traiter" 
            .AllowMultiSelect = False 
            .ButtonName = "Sélection Dossier" 
            .Show 
            If .SelectedItems.Count > 0 Then 
                DoEvents 
                ConcatenationCSV .SelectedItems(1) 
            End If 
        End With 
    End Sub
    J'ai essayé de l’exécuter, mais une fois l’exécution arrive à l’étape
    ConcatenationCSV.SelectedItems(1)
    j'ai l'erreur de compilation : argument non facultatif. Sachant que j'ai remplacer sDossier dans sChemin par le chemin vers le dossier contenant les fichiers CSV.

    Merci.

  2. #2
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Points : 10 167
    Points
    10 167
    Billets dans le blog
    36
    Par défaut
    Bonjour,


    J'ai essayé de l’exécuter, mais une fois l’exécution arrive à l’étape



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ConcatenationCSV  .SelectedItems(1)
    j'ai l'erreur de compilation : argument non facultatif. Sachant que j'ai remplacer sDossier dans sChemin par le chemin vers le dossier contenant les fichiers CSV.
    Puisque .SelectedItems(1), désigne en fait :

    Application.FileDialog(msoFileDialogFolderPicker).SelectedItems(1)

    Tu dois donc t'assurer de sélectionner au moins un fichier à quelque part.

Discussions similaires

  1. Macro concaténation de fichiers
    Par Msisou dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 04/03/2015, 12h01
  2. Macros sur Plusieurs fichiers Excel
    Par Echizen1 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 15/06/2006, 11h21
  3. concaténation de fichiers
    Par donmamio dans le forum Langage
    Réponses: 5
    Dernier message: 26/04/2006, 12h49
  4. [debutant] concaténation de fichiers
    Par Spyco dans le forum Entrée/Sortie
    Réponses: 7
    Dernier message: 13/07/2005, 10h52
  5. Comment concaténer plusieurs fichiers en un ?
    Par souch dans le forum Langage
    Réponses: 16
    Dernier message: 14/12/2004, 18h58

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