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 :

Regroupement de fichiers [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Débutant   Avatar de FCL31
    Profil pro
    Inscrit en
    Août 2007
    Messages
    885
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 885
    Points : 267
    Points
    267
    Par défaut Regroupement de fichiers


    Voilà j’ai 5 fichiers Excel avec un nombre total d’environ 8 000 enregistrements

    Dans chaqu’un des fichiers, j’ai plusieurs feuilles (6).
    Chaqu’une des feuilles ont le même nombre de colonnes (15) avec des noms identiques d’une feuille a l’autre (ex : A1 de feuille 1 = Nom ; B1de feuille 1 = Adresse DONC A1 de feuille 2 = Nom ; B1de feuille 2 = Adresse).


    Je voudrais savoir s’il y a un moyen avec une macro de regrouper les 5 fichiers en un seul tout en supprimant quelques colonnes.

  2. #2
    Membre expérimenté Avatar de laetitia
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 281
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 281
    Points : 1 512
    Points
    1 512
    Par défaut
    bonjour FCL31 le forum un sujet recurant qui revient souvent recherche un peu sur le forum tu vas trouver ce que tu cherches!!!!!!!!!

  3. #3
    Débutant   Avatar de FCL31
    Profil pro
    Inscrit en
    Août 2007
    Messages
    885
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 885
    Points : 267
    Points
    267
    Par défaut
    J'ai trouver un truc qui je pense peu faure l'affaire


    Voici le macro que j'ai trouvé :

    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
    50
    Sub Appel() 'A ADAPTER
    Dim Chemin As String
        Application.ScreenUpdating = False
            Chemin = Recherche.TextBox1.Text
            Ouvrir Chemin
                Application.ScreenUpdating = True
        If msg <> "" Then _
        MsgBox "Pour des raisons de protection ou autres, n'ont pu être copiées " & vbCrLf & msg
    End Sub
    Sub Ouvrir(Chemin As String)
    Dim NomFich As String
    Dim CL2 As Workbook 'fichier copié
        Application.DisplayAlerts = False 'Evite les messages d'Excel
        'Evite l'exécution éventuelle de macros liées aux fichiers ouverts
        Application.EnableEvents = False
            NomFich = Dir(Chemin & "*.xls")
            If NomFich = "" Then
                 MsgBox "Aucun fichier trouvé dans " & Chemin
                 Exit Sub
            End If
            Do While NomFich <> ""
                Set CL2 = Workbooks.Open(Chemin & NomFich)
                DoEvents
                Copie CL2
                CL2.Close False
                DoEvents
                ThisWorkbook.Save 'enregistrement du classeur après chaque copie
                DoEvents
                NomFich = Dir
            Loop
        Application.EnableEvents = True
        Application.DisplayAlerts = True
    End Sub
    Sub Copie(CL2 As Workbook)
    Dim LaFeuille As Worksheet, FL1 As Worksheet, derlig As Long
        Set FL1 = ThisWorkbook.Worksheets("feuil1") 'feuille où les données sont collées
        For Each LaFeuille In CL2.Worksheets 'parcours du classeur à copier
            'On vérifie que la feuille n'est pas vide
            If Not (LaFeuille.UsedRange.Address = "$A$1" And Range("A1") = "") Then
                derlig = FL1.Range("A" & Rows.Count).End(xlUp).Row + 1 'première ligne vide
                On Error Resume Next
                LaFeuille.UsedRange.Copy FL1.Cells(derlig, 1)
                DoEvents
                If Err <> 0 Then
                    msg = msg & "Classeur " & NomFich & " feuille " & LaFeuile.Name & vbCrLf
                    On Error GoTo 0
                End If
            End If
        Next
    End Sub


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

Discussions similaires

  1. JAVA - Regroupement contenu fichiers
    Par zizou771 dans le forum Entrée/Sortie
    Réponses: 11
    Dernier message: 21/11/2007, 14h19
  2. regrouper plusieurs fichiers Excel en un seul
    Par jnmab dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 14/11/2007, 17h40
  3. Regrouper plusieurs fichiers en un seul
    Par kurkaine dans le forum C++Builder
    Réponses: 6
    Dernier message: 29/09/2006, 20h14
  4. Regrouper des fichiers sous un même nom
    Par Azharis dans le forum C++
    Réponses: 7
    Dernier message: 22/06/2005, 12h05

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