[Résolu] récupérer et cumuler des valeurs dans un fichier externe

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 !

fletchernic

XLDnaute Nouveau
Bonjour à tous,

Je possède 8 documents avec plusieurs onglets (tous identiques entre les documents).
Dans ces onglets j'ai des colonnes identiques avec des valeurs différentes qui pourront être éditées (ajout / suppression de lignes)

J'aimerais créer un document maitre, avec les mêmes onglets, et que dans chaque onglet, les valeurs de tous les petits documents soient récupérées.

Jusqu'à maintenant j'ai réussi à récupérer les valeurs d'un onglet d'un document et à l'afficher dans mon document maître (via données / connexions) mais je bloque pour cumuler ces valeurs avec celles des autres documents

Quelqu'un aurait-il une idée svp ? Est-ce qu'il faut passer par de la macro obligatoirement ? Etant débutant, c'est quelque chose que j'essaie d'éviter, mais s'il faut que je m'y mette... 🙂

Merci d'avance
 
Dernière édition:
Re : récupérer et cumuler des valeurs dans un fichier externe

Bonjour,
Joindre un petit fichier simplifié permettrai de mieux comprendre.
Que faut-il comprendre par
et que dans chaque onglet, les valeurs de tous les petits documents soient récupérées.
consolidation en sommant ? les coller les uns au dessous des autres ? ...
???
(via données / connexions)
ce ne serait pas plutôt consolider ?
Seul un besoin bien exprimé permettra une réponse.
A+
 
Re : récupérer et cumuler des valeurs dans un fichier externe

Bonjour,
Joindre un petit fichier simplifié permettrai de mieux comprendre.
Que faut-il comprendre par consolidation en sommant ? les coller les uns au dessous des autres ? ...
??? ce ne serait pas plutôt consolider ?
Seul un besoin bien exprimé permettra une réponse.
A+

Bonjour et merci pour ton aide.
Oui c'est effectivement le problème quand on est débutant, bien s'exprimer 🙂
J'ai joint 3 fichiers tests car j'ai des données sensibles dans mes vrais documents.
Le principe est que je souhaiterais que l'onglet Sequence du document global, affiche les lignes des documents Ep01 et Ep02 à la suite les unes des autres.
Tout cela en permettant aux utilisateurs d'éditer les docs Ep01 et 02 en ajoutant supprimant des lignes et que le doc global se mette à jour.

En gros, afficher la fusion de deux onglets de 2 docs distincts dans un 3eme document
 

Pièces jointes

Re : récupérer et cumuler des valeurs dans un fichier externe

Re,
Pour te mettre le pied à l'étrier :
à mettre dans un module ou dans la feuille Séquence de Test_Global
VB:
Option Explicit

Public Sub IniGlobal()
    Dim Rep As String, Prefixe As String, FileName As String
    Dim DlignG As Long, DlignEp As Long
    
    Prefixe = "Test_Ep"
    Rep = ThisWorkbook.Path & "\" 'Répertoire des fichiers
    FileName = Dir(Rep & Prefixe & "*.xls") 'Nom générique des fichiers Ep
    
'Effacement des données de Global
    ThisWorkbook.Activate
    DlignG = Sheets("Sequence").Range("A65536").End(xlUp).Row
    If DlignG > 1 Then Sheets("Sequence").Range("A2:A" & DlignG).EntireRow.Delete
    
'Détection des fichiers Ep et recopie vers Global
    While FileName <> ""
        ThisWorkbook.Activate
        DlignG = Sheets("Sequence").Range("A65536").End(xlUp).Row
        Workbooks(FileName).Activate
        DlignEp = Sheets("Sequence").Range("A65536").End(xlUp).Row
        If DlignEp = 1 Then GoTo Suivant
        
'variante 1
        Sheets("Sequence").Range("A2:E" & DlignEp).Copy
        ThisWorkbook.Activate
        Range("A" & DlignG + 1).Select
        Selection.PasteSpecial Paste:=xlPasteValues
'variante 2
'        Sheets("Sequence").Range("A2:E" & DlignEp).Copy _
'        Destination:=ThisWorkbook.Sheets("Sequence").Range("A" & DlignG + 1)

Suivant: 'Fichier suivant
        FileName = Dir
    Wend
End Sub
A+
 
Re : récupérer et cumuler des valeurs dans un fichier externe

Merci Hippolite !
J'ai rentré ce code dans une macro et effectivement ça marche par contre dans l'exemple que je t'ai envoyé, je n'avais pas imaginé que l'organisation des folders aurait une importance.
Or, voici comme sont organisés les folders:

Folder\Test Global.xls
Folder\Folder01\TestEp01
Folder\Folder02\TestEp02


Mon fichier global est à la racine et mes petits fichiers sont chacuns dans dans un sous folder différent.
Du coup je n'arrive à faire fonctionner la macro que pour un fichier pour le moment


Merci pour ton aide
 
Re : récupérer et cumuler des valeurs dans un fichier externe

Re,
J'avais pris l'option de mettre tous les fichiers dans le même dossier.
Cela présente l'avantage de ne rien avoir à gérer s'il y a ajout ou suppression de fichiers, la détection est automatique à partir du nom générique des fichiers.

Essaie
Code:
    FileName = Dir(Rep & "\Folder*" & Prefixe & "*.xls") 'Nom générique des fichiers Ep
A+
 
- 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

Retour