Réunir plusieurs fichiers sur 1 seul (en créant plusieurs onglet)

Bonjour

Désolé, je penses que la question a déjà été aborder, mais après avoir lu pas mal de post, mon niveau d'Excel ne m'a pas permis de comprendre (je n'ai jamais fait de macro...)

J'ai plusieurs fichiers excel que je cherche à réunir sur un seul.

Les fichiers (avant réunion) donneraient le nom des onglets créer dans le nouveau fichier.

exemple 2 fichiers joint : "Budget Chili" et "Budget Laos" => à réunir sur une seule feuille avec du coup 2 onglets qui s'appelerait "Budget Chili" et "Budget Laos" (sans l'extension .xlxs)

Quel serait la macro à utiliser (que je puisse l'utiliser autant de fois possible et avec maximum 50 fichiers initiaux

J'espère être suffisamment clair?

Merci de votre aide précieuse

Bonne journée

Téva

19budget-chili.xlsx (33.86 Ko)
23budget-laos.xlsx (17.32 Ko)

bonjour

mauvaise idée de faire des onglets séparés, car tu ne peux plus faire de TCD.

un budget se fait sur une unique feuille, puis tu feras un ou des TCD

des slicers te permettrons d'afficher les pays selon tes besoins.

pour des fichiers séparés au départ, utilise Power Pivot comme ceci

http://cooking-excel.com/2016/08/fusionner-fichiers-dossier/

surtout pas de VBA, c'est une ancienne méthode totalement dépassée

Merci JMD !

VOus avez failli me perdre (d'ailleurs vous m'avez perdu avec les TCD et VBA ^^ je n'en suis pas encore là... mais j'apprend grace à vous !

En fait nous avons besoin de budget sur onglet différent car étant en multiposte (géographiquement séparé) nous mettons ensuite le fichier avec les différents onglet sur Google drive (nous allons tester l'équivalent de "Outlook", afin que chacun puisse intervenir à son niveau dans ces budgets...

Du coup, au départ, chaque budget est une feuille excel que je souhaiterais réunir ensuite dans une seule feuille avec plusieurs onglet.

Est ce possible?

(mais je vais lire avec attention le lien que vous m'avez transmis ! merci)

Cordialement

Téva

bonjour

Alors? personnes n'aurais une idée de comment faire pour réunir plusieurs fichiers sous 1 feuille avec plusieurs onglet?

Merci de votre aide

Bonjour,

réunir plusieurs fichiers sous 1 feuille classeur avec plusieurs onglet

si...

Sub ouvreFichiers()
    Dim NomFichier As Variant, Filtre As String, cmpt As Long, fich() As String
    Dim wb As Workbook, nom
    Filtre = "Tous les fichiers(*.xl*),*.xl*"
    NomFichier = Application.GetOpenFilename(Filtre, 1, "Ouvrir", , True)
    If IsArray(NomFichier) Then
        Application.ScreenUpdating = False
        For cmpt = LBound(NomFichier) To UBound(NomFichier)
            Set wb = Workbooks.Open(NomFichier(cmpt))
            With ThisWorkbook
                .Activate
                wb.Sheets(1).Copy After:=.Sheets(.Sheets.Count)
                nom = Split(NomFichier(cmpt), "\")
                .Sheets(.Sheets.Count).Name = Split(nom(UBound(nom)), ".")(0)
            End With
            wb.Close
        Next cmpt
        ThisWorkbook.Sheets(1).Activate
        Application.ScreenUpdating = True
    End If
End Sub

A l'ouverture de la boite de dialogue choisir les fichiers par une sélection multiple avec Ctrl+clic

C'est la feuille 1 de chaque classeur qui est ramenée, à adapter si besoin.

J'ai fait à minima, sans contrôle d'erreur. Si une feuille ajoutée doit être renommée avec un nom qui existe déjà, ça plante. Ne pas ré-importer.

eric

69ajoutfeuille.xlsm (17.79 Ko)

Bonjour Eriiic

La honte ! je suis désolé, je n'ai pas eu la notification de votre message !

MERCIIIIII !! C'est super ça fonctionne niquel (faut que je fasses qq test pour bien voir).

Peut être si je peux me permettre une petite amélioration :

Y'a t il un moyen de faire automatiquement "Ne pas enregistrer" (car la macro ouvre une à une les fichier dans le dossier et du coup il faut cliquer à chaque fois. Lorsque j'ai que 3 feuilles ça va, mais quand j'en aurais +

C'est possible cela?

Par ailleurs, les couleurs de mes feuilles changent dans lorsque les feuilles s'ajoutent (voir l'exemple, en ligne 5, mon "orange" est devenu violet dans "l'import"

Mais en tous cas MERCIIIII vous êtes mon sauveur (n'ayons pas peur des mot ! C'est un beau cadeau de noel ^^

Téva

Bonjour,

Y'a t il un moyen de faire automatiquement "Ne pas enregistrer"

ajouter false à .close wb.Close False

Par ailleurs, les couleurs de mes feuilles changent dans lorsque les feuilles s'ajoutent (voir l'exemple, en ligne 5, mon "orange" est devenu violet dans "l'import"

Heuuu pas chez moi. Et dans tes 2 fichiers je ne vois pas de orange en ligne 5 (?)

La seule couleur qui ne serait pas récupérée c'est celle de l'onglet éventuellement.

Si besoin ajouter devant le End With :

                .Sheets(.Sheets.Count).Tab.Color = wb.Sheets(1).Tab.Color
            End With

eric

Bonjour

Super ! ça fonctionne pour la fermeture automatique.

Pour l'histoire des couleurs, j'ai testé avec d'autres feuilles, voir en copie d'écran la ligne 5, en haut c'est mon fichier original, en bas le fichier "ajout feuille" avec votre macro.

La ligne 5 est en orange et devient violet fans le "ajout feuille".

Mais je crois avoir trouvé : il faut que je choisisse une couleur standart = cela me conserve les bonnes couleurs !

Merciiiii Eriiic c'est super !!

Excellente journée !

Téva

PS : je n'ai pas trouvé où cliquer pour mettre le post en "problème résolu"?

couleur

Bonjour,

étrange qu'il ne sache pas copier les couleurs étendues.

Sans doute un bug à leur arrivée, ils ont dû oublier ça dans 2007.

Pour mettre en résolu ça se fait dans le message avec la bonne réponse. (enfin si ça n'a pas changé avec le nouveau site)

eric

Rechercher des sujets similaires à "reunir fichiers seul creant onglet"