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
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
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"?
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