Importation et fusionner plusieurs feuilles

Bonjour à tous,

A nouveau devant un problème

Dans le classeur sources se trouve 30 feuilles avec des données dans les colonnes A-K (en-tête en première ligne)

Le nombre de lignes varie a chaque feuille et il les faut toutes.

Toutes les feuilles ont la même structure.

J'aimerais importer les données de ces feuilles en choisissant le fichier source, importation des données dans la feuille "Import"

Comme cet manœuvre doit être faite tous les 3 mois j'ai besoin d'un fichier indépendant.

Merci d'avance pour votre aide

Salutations

Andreas

Bonjour,

ce serait plus facile pour tester et te donner une solution

Si tu as PowerQuery, c'est une solution.

Bonjour Steelson,

Merci de prendre encore du temps pour moi!

Donc selon demande:

le fichier Source: "Source 1" (Je précise que l'original a beaucoup plus de feuilles avec des chiffres comme nom ex: 100568)

Le fichier de destination: "Extracteur maximo"

Concernant PowerQuery, je ne connais pas!

4source-1.xlsx (29.64 Ko)

Merci beaucoup, je vais y travailler

Concernant PowerQuery, je ne connais pas!

et moi je ne maîtrise pas complètement.

Te es bien AIMABLE

Merci

Sub import()

Dim ws As Worksheet, Nom_Fichier As Variant, wb As Workbook, debut As Boolean, data As Range

    Sheets("import").Select
    Cells.Clear
    Set ws = ActiveSheet

    Nom_Fichier = Application.GetOpenFilename("Fichiers Excel (*.xlsx), *.xlsx")
    If Nom_Fichier = False Then Exit Sub

    Set wb = Workbooks.Open(Nom_Fichier)
    debut = True
    For Each f In wb.Worksheets
        If debut Then
            Set data = f.Range("A1").CurrentRegion
            data.Copy Destination:=ws.Range("A1")
        Else
            Set data = f.Range("A1").CurrentRegion.Offset(1, 0).Resize(f.Range("A1").CurrentRegion.Rows.Count - 1, f.Range("A1").CurrentRegion.Columns.Count)
            data.Copy Destination:=ws.Range("A" & Rows.Count).End(xlUp).Offset(1, 0)
        End If
        debut = False
    Next

    wb.Close

End Sub

Re,

C'est parfait !

Merci infiniment

Cordialement

Andreas

Veux-tu que j'ajoute le nom de l'onglet à l'importation ?

avec le nom de l'onglet en dernière colonne

Option Explicit

Sub import()

Dim ws As Worksheet, f As Worksheet, Nom_Fichier As Variant, wb As Workbook, debut As Boolean, data As Range, derCol As Integer

    Sheets("import").Select
    Cells.Clear
    Set ws = ActiveSheet

    Nom_Fichier = Application.GetOpenFilename("Fichiers Excel (*.xlsx), *.xlsx")
    If Nom_Fichier = False Then Exit Sub

    Set wb = Workbooks.Open(Nom_Fichier)
    debut = True
    For Each f In wb.Worksheets
        If debut Then
            Set data = f.Range("A1").CurrentRegion
            derCol = f.Range("A1").CurrentRegion.Columns.Count + 1
            data.Copy Destination:=ws.Range("A1")
            ws.Cells(1, derCol) = "source"
        Else
            Set data = f.Range("A1").CurrentRegion.Offset(1, 0).Resize(f.Range("A1").CurrentRegion.Rows.Count - 1, f.Range("A1").CurrentRegion.Columns.Count)
            data.Copy Destination:=ws.Range("A" & Rows.Count).End(xlUp).Offset(1, 0)
        End If
        ws.Cells(Rows.Count, derCol).End(xlUp).Offset(1, 0).Resize(f.Range("A1").CurrentRegion.Rows.Count - 1, 1) = f.Name
        debut = False
    Next

    wb.Close

End Sub

OH mais merci,

Y avait pas besoin, c'est sympa quand même!

Toute bonne journée a toi

Andreas

Rechercher des sujets similaires à "importation fusionner feuilles"