Regrouper pls classeurs en un seul [Résolu/Fermé]

Signaler
Messages postés
532
Date d'inscription
mardi 5 août 2008
Statut
Membre
Dernière intervention
30 juillet 2020
-
Messages postés
532
Date d'inscription
mardi 5 août 2008
Statut
Membre
Dernière intervention
30 juillet 2020
-
Bonjour,

J'ai 30 classeurs *.csv d'un seul onglet chacun comportant 3 colonnes.
Je souhaiterais regrouper tous ces classeurs en un seul avec les 30 onglets dans un classeur appelé synthese.xlsx.

Pouvez-vous m'aider.
D'avance merci.
Mistral

7 réponses

Messages postés
15267
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
8 août 2020
1 322
Bonjour,

manuellement: menu donnees, donnees externes, fichier txt
Messages postés
532
Date d'inscription
mardi 5 août 2008
Statut
Membre
Dernière intervention
30 juillet 2020
3
Merci pour ta réponse mais ce n'est pas ce que je demande.
J'ai 30 classeurs *.csv d'un onglet chacun avec les colonnes A, B et C utilisées.
Je voudrais regrouper ces 30 classeur dans un seul classeur (donc 30 onglets) qui s'appellera Synthèse.xlsx.
Je travail avec Excel 2010.
Merci d'avance pour votre aide
Messages postés
15267
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
8 août 2020
1 322
Re,

Merci pour ta réponse mais ce n'est pas ce que je demande. Ben si, a faire 30 fois, vu que vous ne dites pas si cela doit etre automatique ou manuel
Messages postés
532
Date d'inscription
mardi 5 août 2008
Statut
Membre
Dernière intervention
30 juillet 2020
3
Effectivement!
Je me suis mal exprimé et je te présente toutes mes excuses.
Je souhaite effectivement une solution automatique, car c'est une tâche que je dois faire tous les mois.
Si tu as une solution je suis preneur.
Messages postés
15267
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
8 août 2020
1 322
Re,
je te présente toutes mes excuses. Y a pas de lezard

Ces fichiers sont au meme endroit (chemin et repertoire) ??
Les fichier du mois remplacent les fichiers du mois precedent avec mise a jour je suppose !!
Messages postés
532
Date d'inscription
mardi 5 août 2008
Statut
Membre
Dernière intervention
30 juillet 2020
3
Oui les fichiers csv sont tous dans un même répertoire et j'ai un répertoire par mois.
Je souhaite donc avoir un classeur de synthèse par mois.
A la fin de mois je crée un nouveau classeur dans lequel je colle la macro pour regrouper tous les classeur csv.
Messages postés
15267
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
8 août 2020
1 322
Re,

exemple de code qui cree un classeur, adaptez le disque et le chemin

Sub Import_CSV()
    'disque
    ChDrive "D"
    'repertoire fonction du mois
    'pourrait etre une inputbox si besoin de choisir le mois
    ChDir "D:\_ACSV\" & Format(Date, "mmmm") & "\"
    'fichier existe
    Nom_Fichier = Dir("*.CSV")
    If Nom_Fichier <> "" Then   'fichier ok
        'nouveau classeur
        Workbooks.Add
        Do While Nom_Fichier <> ""
            'nouvel onglet
            ActiveWorkbook.Worksheets.Add
            'import fichier cvs
            With ActiveSheet.QueryTables.Add(Connection:="TEXT;" & Nom_Fichier, Destination:=Range("$A$1"))
                '.CommandType = 0
                '.Name = Nom_Fichier     ' voir pour le nom de l'onglet
                .FieldNames = True
                .RowNumbers = False
                .FillAdjacentFormulas = False
                .PreserveFormatting = True
                .RefreshOnFileOpen = False
                .RefreshStyle = xlInsertDeleteCells
                .SavePassword = False
                .SaveData = True
                .AdjustColumnWidth = True
                .RefreshPeriod = 0
                .TextFilePromptOnRefresh = False
                .TextFilePlatform = 1252
                .TextFileStartRow = 1
                .TextFileParseType = xlDelimited
                .TextFileTextQualifier = xlTextQualifierDoubleQuote
                .TextFileConsecutiveDelimiter = False
                .TextFileTabDelimiter = True
                .TextFileSemicolonDelimiter = True
                .TextFileCommaDelimiter = False
                .TextFileSpaceDelimiter = False
                .TextFileColumnDataTypes = Array(1, 1, 1)
                .TextFileTrailingMinusNumbers = True
                .Refresh BackgroundQuery:=False
            End With
            'renomme l'onglet
            ActiveSheet.Name = Nom_Fichier     ' voir pour le nom de l'onglet
            Nom_Fichier = Dir
        Loop
        'voir pour le repertoire de sauvegarde
        ActiveWorkbook.SaveAs Filename:="Synthese_" & Format(Date, "mmmm") & ".xlsx"
        ActiveWorkbook.Close False
    Else
        MsgBox "Attention, pas de fichier ou repertoire !!!!!!"
    End If
End Sub
Messages postés
532
Date d'inscription
mardi 5 août 2008
Statut
Membre
Dernière intervention
30 juillet 2020
3
Bonjour,

Merci à toi pour ton aide.
Cordialement
Mistral