Regrouper pls classeurs en un seul

Résolu
Mistral_13200 Messages postés 636 Date d'inscription   Statut Membre Dernière intervention   -  
Mistral_13200 Messages postés 636 Date d'inscription   Statut Membre Dernière intervention   -
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

f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour,

manuellement: menu donnees, donnees externes, fichier txt
0
Mistral_13200 Messages postés 636 Date d'inscription   Statut Membre Dernière intervention   4
 
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
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
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
0
Mistral_13200 Messages postés 636 Date d'inscription   Statut Membre Dernière intervention   4
 
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
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 !!
0
Mistral_13200 Messages postés 636 Date d'inscription   Statut Membre Dernière intervention   4
 
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.
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
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
0
Mistral_13200 Messages postés 636 Date d'inscription   Statut Membre Dernière intervention   4
 
Bonjour,

Merci à toi pour ton aide.
Cordialement
Mistral
0