Consolidation de plusieurs tableaux

Angelista

XLDnaute Occasionnel
Bonjour à tous ,

Ca faisait longtemps que j'étais pas venu vous appeler au secours :) , mais je bute sur un petit soucis.
Alors je m'explique , j'aimerai importer dans un fichier unique un onglet défini dans divers fichiers excel , pas spécialement au même endroit sur le réseau et avec des noms différents de fichiers mais ils ont la même mise en forme (L'onglet à importer portera toujours le même noms dans les fichiers)

En scrutant un peu le forum j'ai trouvé cette macro mais elle importe les fichiers sur des onglets différents , j'aimerai que l'import se fasse sur le même onglet :).

Voici la macro que j'ai trouvé ici même sur ce forum mais qui serait à modifer ou alors à changer :

Dim fileName As String, nbFiles As Integer, curfile, curWbk As Workbook, FD As FileDialog
Set FD = Application.FileDialog(msoFileDialogFilePicker)

FD.AllowMultiSelect = True 'autoriser la sélection de plusieurs fichier
FD.Filters.Clear 'RAZ des filtres de fichiers
FD.Filters.Add Description:="Excel Files", Extensions:="*.xls;*.xlsx" 'filtrer sur les fichiers excel
FD.Show 'afficher la boite de dialogue

For Each curfile In FD.SelectedItems 'pour chaque fichier séléctionné
Set curWbk = Application.Workbooks.Open(fileName:=curfile) 'ouvrir le classeur
curWbk.Sheets(1).Copy after:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count) 'copier la feuille 1 après la dernière feuille de ce classeur
curWbk.Close savechanges:=False 'fermer le classeur sans sauvegarder
Next curfile


D'avance merci à tous
 
Dernière édition:

Angelista

XLDnaute Occasionnel
Re : Consolidation de plusieurs tableaux

Rebonjour le forum ,

J'ai créé un dossier avec en gros le problème que j'ai exposé , donc le fichier "monde fusion" doit reprendre les onglets (liste et liliste) des fichiers "France" et "Exterieur" , le tout sur le même onglet.

Voila , espérant avoir était clair , et encore merci de votre aide.

Angelista.
 

Pièces jointes

  • Test.zip
    6.7 KB · Affichages: 40
  • Test.zip
    6.7 KB · Affichages: 35
  • Test.zip
    6.7 KB · Affichages: 37

ngogoisidore

XLDnaute Occasionnel
Re : Consolidation de plusieurs tableaux

Bonjour Angelista,

Voir si le fichier attaché (peu testé) te dépanne ...

Il faut lancer la macro ConcatenateTables à partir du fichier Monde Fusion.xls.

@+
 

Pièces jointes

  • Test-ngogo.zip
    18 KB · Affichages: 57
  • Test-ngogo.zip
    18 KB · Affichages: 57
  • Test-ngogo.zip
    18 KB · Affichages: 55

Gengiskhan

XLDnaute Junior
Re : Consolidation de plusieurs tableaux

Bonjour tout le monde ,

voilà j'aimerai réutiliser ce code ci dessous :

Code:
 Sub ConcatenateTables()
    Dim vCurfile    As Variant
    Dim oCurWbk     As Workbook
    Dim oFD         As FileDialog
    

    Set oFD = Application.FileDialog(msoFileDialogFilePicker)
    
    oFD.AllowMultiSelect = True 'autoriser la sélection de plusieurs fichier
    oFD.Filters.Clear 'RAZ des filtres de fichiers
    oFD.Filters.Add Description:="Excel Files", Extensions:="*.xls;*.xlsx" 'filtrer sur les fichiers excel
    oFD.Show 'afficher la boite de dialogue
    
    If oFD.SelectedItems.Count > 0 Then
        ThisWorkbook.Sheets(sSheetList).Range("B3").Select
        Range(Selection, Selection.End(xlToRight)).Select
        Range(Selection, Selection.End(xlDown)).Select
        Selection.ClearContents

        For Each vCurfile In oFD.SelectedItems 'pour chaque fichier séléctionné
            Set oCurWbk = Application.Workbooks.Open(fileName:=vCurfile) 'ouvrir le classeur
            oCurWbk.Sheets(sSheetList).Range("B3").Select
            Range(Selection, Selection.End(xlToRight)).Select
            Range(Selection, Selection.End(xlDown)).Select
            Selection.Copy
            Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

            ThisWorkbook.Activate
            ThisWorkbook.Sheets(sSheetList).Range("A65536").End(xlUp).Offset(1).Select
            ThisWorkbook.Sheets(sSheetList).Paste
            Application.CutCopyMode = False


            oCurWbk.Close savechanges:=False 'fermer le classeur sans sauvegarder
        Next vCurfile
    End If
End Sub '~ConcatenateTables

mais plutôt que de consolider les onglets actifs des classeurs sélectionnés, je souhaites consolider les onglets ayant un nom commançant par "Feuil 1" par exemple

merci d'avance pour vos réponses.
a+
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 688
Messages
2 090 961
Membres
104 712
dernier inscrit
h2eagle