Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

concaténer ou fusionner

  • Initiateur de la discussion Initiateur de la discussion Esox
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Esox

XLDnaute Occasionnel
Bonjour le forum,

Ci-joint un dossier zip contenant 6 fichiers : A, B, C, D, E et concaténer.
Dans chaque fichier, un onglet "test", sauf "concaténer". J'aimerai par macro, importer tous ces onglets "test" dans "concaténer" et qu'ensuite cette meme macro synthétise toutes les données de chaque onglet "test" dans un onglet principal. A moins que l'on puisse faire cette synthèse sans importer les onglets et en allant piocher directement les données.

Par contre, la seule variable qui ne change pas c'est le nom de l'onglet "test" et le nom du fichier cible, les noms des fichiers sources peuvent changer et être beaucoup plus nombreux, mais la trame sur chacun d'eux reste la meme.

Voilà, je ne sais pas du tout faire cette macro et en plus j'espère m'etre bien expliqué.

Merci d'avance.
 

Pièces jointes

Re : concaténer ou fusionner

Bonjour Esox, le forum,

Voici le bout de code qui te permet de faire ce que tu veux, je l'ai fait que pour A, suffira de faire une boucle, je le ferai plus tard si tu en as besoin, je dois y aller, idem pour les commentaires dans le code, je commenterai à mon retour si tu en as besoin :

Code:
Sub GetData(FilePath As String)

Dim xlApp As New Excel.Application
Dim xlBook As New Excel.Workbook
Dim xlSheet As New Excel.Worksheet

If Dir(FilePath, vbNormal) <> "" Then
    Set xlBook = xlApp.Workbooks.Open(Filename:=FilePath)
    Set xlSheet = xlBook.Sheets("test")
Else
    MsgBox "Fichier introuvable"
    Exit Sub
End If


ActiveWindow.ActiveSheet.Range("D9") = ActiveWindow.ActiveSheet.Range("D9") + xlSheet.Range("B2")
ActiveWindow.ActiveSheet.Range("D10") = ActiveWindow.ActiveSheet.Range("D10") + xlSheet.Range("B3")
ActiveWindow.ActiveSheet.Range("D11") = ActiveWindow.ActiveSheet.Range("D11") + xlSheet.Range("B4")
ActiveWindow.ActiveSheet.Range("D12") = ActiveWindow.ActiveSheet.Range("D12") + xlSheet.Range("B5")
ActiveWindow.ActiveSheet.Range("D13") = ActiveWindow.ActiveSheet.Range("D13") + xlSheet.Range("B6")
ActiveWindow.ActiveSheet.Range("D14") = ActiveWindow.ActiveSheet.Range("D14") + xlSheet.Range("B7")

xlBook.Close
xlApp.Quit


End Sub

Et donc tu mets en paramètre le chemin de ton fichier source.
Bonne aprés-midi,
WUTED
 
Re : concaténer ou fusionner

Bonjour WUTED,

Le problème, c'est que c'est à partir du fichier cible que je veux lancer la macro, qui stipulerait :" copier tous les onglets 'test' des différents classeurs actuellement ouvert, puis coller dans le fichier cible, pour ensuite récupérer les données sur un seul onglet. Les fichiers sources sont dépourvus de macros et viennent de personnes différentes mais n'ont en commun que le nom de l'onglet à importer.

Merci de ton aide,
 
Re : concaténer ou fusionner

Re, je t'écris rapidement une réponse depuis mon téléphone car j'étais pressé tout à l'heure et je t'ai dit des bêtises. La fonction que je t'ai donné est à appeler depuis ton fichier cible avec en paramètre le chemin du fichier source dont tu veux récupérer les valeurs.
 
Dernière édition:
Re : concaténer ou fusionner

Re, le nom du fichier en paramètre est un peu contraignant, car c est une action mensuelle et la personne qui se servira du fichier cible n 'y connais rien
 
Re : concaténer ou fusionner

Re,

Je pense comprendre, mais j ai un peu de mal excuse moi. A l'occasion si tu pouvais m'expliqueravec les fichiers joint.
En tout cas merci bcp d'avance...
 
Re : concaténer ou fusionner

Bonjour Esox, le forum,

Voilà j'suis conscient que c'est sûrement loin d'être la solution la plus optimisée mais ça fonctionne, je t'ai mis en pièce jointe mon code avec les fichiers excel exemple que j'ai fait vite fait, j'ai fait en sorte que la macro contenue dans Concaténer.xls récupère tous les fichiers contenus dans le dossier de celui-ci à part lui-même pour la récupération de données, à toi de le modifier selon ton envie.
Tu peux si besoin demander à la macro de récupérer seulement les fichiers .xls si tu as besoin de mettre des fichiers .doc ou autre dans le même dossier, suffit de jongler un peu avec la fonction Dir.

Bonne journée,
WUTED
 

Pièces jointes

Re : concaténer ou fusionner

Bonjour WUTED, le forum,

Désolé de ne revenir que maintenant, pas pu faire autrement. Je regarde cel et je reviens vers vous éventuellement.
Merci encore,
 
Re : concaténer ou fusionner

Re WUTED, le forum,

Pour ce que je t'ai demandé ca marche nickel. Par contre je n'avais pas pris certaines choses en considération.
Les comptes peuvent être différents :-( , y a t il moyen d'incrémenter auto sur le fichier cible tous les comptes sur une colonne à la file, et me regrouper les comptes identiques sur une ligne afin d'éviter les doublons mais en faisant leur somme ?
Merci beaucoup, et j'espère m etre fait comprendre lol...
 
Re : concaténer ou fusionner

Salut Esox, le forum,

En gros il est possible que dans ton fichier A, il y'ait plusieurs compte 1 par exemple, j'ai bien compris ce que tu disais?

WUTED
 
Re : concaténer ou fusionner

Salut,

En fait que se soit dans A, B, C .... il peut y avoir des comptes de 1 à 25 par exemple, donc peut être différent entre A, B ...., par exemple sur A, les comptes 1, 2, 4, 5, 6, 12, 24 ,25 et sur B les comptes 1,4,7,8,9,24,25 donc du coup il faudrait que le fichier cible me les centralises à la suite dans une colonne, puis me totalise chaque compte, tout en regroupant les comptes identiques pour donner 1,2,4,5,6,7,8,9,12,24,25.
Et pour finir sur A et B les comptes ne sont pas forcément placés dans la meme cellule mais sûr et certain dans la meme colonne....

Merci de ta patiente...
 
Re : concaténer ou fusionner

Bonsoir Esox,

Je te met un autre fichier Concaténer en pièce jointe, met le dans le même dossier que tes fichiers sources et donne moi un feedback.

Bonne soirée,
WUTED.
 

Pièces jointes

Re : concaténer ou fusionner

Bonjour WUTED, le forum,

Encore une fois désolé de ne revenir que maintenant mais pas vraiment d'autres possibilités.

Ca a l'air de fonctionner, je vais tenter de l'adapter à mes besoins et je continue à tester le reste voir si c'est bon...



Merci encore de ton aide et patience... et ne t'occupe pas de l'image, je n'arrive pas à la retirer
 

Pièces jointes

  • Sans titre.jpg
    85 KB · Affichages: 51
  • Sans titre.jpg
    85 KB · Affichages: 54
  • Sans titre.jpg
    85 KB · Affichages: 46
Dernière édition:
Re : concaténer ou fusionner

Re bonjour le forum, WUTED,

A première vue tout marche bien, mais j'ai une erreur 13, quand j'utilise dans la 1ere colonne des valeurs alphanumériques. Par exemple "A3". Si il n'y a qu'une fois cette valeur dans tous les fichiers cela fonctionne, mais quand il y a 3 fois A1 dont il faut additionner les valeuurs, cela bug, comment y remédier ?
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
1
Affichages
489
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…