Récupérer données venant de plusieurs feuilles

pascal35135

XLDnaute Nouveau
Bonjour,
J'ai fait un fichier Excel pour collecter des informations auprès de plus de 400 personnes. Ces fichiers vont me revenir et je dois faire une synthèse de certaines données. Je n'avais pas mesuré l'ampleur du travail à venir.
Y a-il un moyen de récupérer certaines données (tous les fichiers seront structurellement identiques) et les placer dans un fichier recueil qui me permettra de faire l'analyse?
Merci pour votre aide.
Pascal
 

camarchepas

XLDnaute Barbatruc
Re : Récupérer données venant de plusieurs feuilles

Bonjour Pascal,

c'est tout à fait possible ,

Si tu nous donnes un fichier modèle des retours et un modèle du fichier synthèse à obtenir.

Sinon , la proposition pourra être à coté de la plaque et très difficilement adaptable
 

pascal35135

XLDnaute Nouveau
Re : Récupérer données venant de plusieurs feuilles

Bonsoir,
Merci pour la réactivité!!!

Ici l'exemple, c'est la feuille stat qui m’intéresse de récupérer.

Plusieurs collègues vont donc me envoyer ce modèle de fichier qui aura été renommé avec le numéro de l'établissement.
Encore merci.
Pascal
 

camarchepas

XLDnaute Barbatruc
Re : Récupérer données venant de plusieurs feuilles

Bonjour,

Voici une solution possible :

Les bases sont :

Scrutation du dossier défini en E11 dans l'onglet Reception

lorsqu'un onglet nommé Stats est détecté ,

Vérification du nom en A1 dans l'onglet Stats,

Si celui ci n'a pas été déjà remonté ou que l'utilisateur force la prise en compte alors recopie dans le classeur synthese de cet onglet puis renommage par le nom trouvé en A1 de ce même onglet .

J’espère être proche de ce que tu attendais.
Code:
Sub Recup()
Dim Fichier() As String
Dim Lecture As String, Chemin As String
Dim Compte As Long
Dim NomFichier As Variant
Dim Onglet As Worksheet
Dim Nom As String, Retour As String
Dim Ligne As Long
Dim Trouve As Range
' Boucle de lecture des fichiers dans un répertoire
Chemin = Range("E11")
Lecture = Dir(Chemin & "*.xls*")
Compte = 0

'Récupération de la liste des fichiers du dossier
Do
 ReDim Preserve Fichier(Compte)
 Fichier(UBound(Fichier)) = Lecture
 Lecture = Dir
 Compte = Compte + 1
Loop Until Lecture = ""

'Analyse et recopie éventuelle des onglets Stats
For Each NomFichier In Fichier
Workbooks.Open Filename:=Chemin & NomFichier, ReadOnly:=True
For Each Onglet In Workbooks(NomFichier).Worksheets
    If Onglet.Name = "Stats" Then
    Nom = Onglet.Range("A1").Value
    Set Trouve = ThisWorkbook.Sheets("Reception").Range("A:A").Find(Nom, lookat:=xlWhole)
    If Not Trouve Is Nothing Then
       Retour = MsgBox("Nom figurant déjà dans la liste réception, voulez vous continuer", vbYesNo, "ALERTE DOUBLONS")
       If Retour = vbYes Then GoTo Reprise
     Else
Reprise:
       Onglet.Copy after:=ThisWorkbook.Worksheets("Reception")
       ThisWorkbook.Worksheets("Stats").Name = Nom
       Ligne = ThisWorkbook.Sheets("Reception").Range("A" & Rows.Count).End(xlUp).Row + 1
       ThisWorkbook.Sheets("Reception").Range("A" & Ligne) = Nom
       ThisWorkbook.Sheets("Reception").Range("B" & Ligne) = Format(Date, "dd-mm-yyyy")
       Exit For
    End If
  End If
 Next
 Workbooks(NomFichier).Close False
Next
End Sub
 

Pièces jointes

  • Synthese.xlsm
    21.9 KB · Affichages: 46
  • Synthese.xlsm
    21.9 KB · Affichages: 48
  • Synthese.xlsm
    21.9 KB · Affichages: 50

pascal35135

XLDnaute Nouveau
Re : Récupérer données venant de plusieurs feuilles

Alors là!!!!!!!!!!!!!!!!!!!!!!!!!!!! chapeau!!!!!!!!!!!!!!
J'étais en train de faire des tas de lignes avec des liaisons, je me sens tout petit!!!
Je me sens très redevable.
Soit mon problème était clairement posé, soit j'ai à faire à une personne perspicace, réactive qui est capable de "overlapping" et même la nuit. j'opterais pour le deuxième. Bravo.

Alors petite remarque, si le fichier est déjà traité, tu demandes une validation (judicieux cela évite un travail inutile par contre peut être intéressant pour sauvegarder des correction):
Si non la boucle s’arrête,
Si oui la boucle continue et plante, l'onglet "stats" reste et n'arrive pas à remplacer l'ancien.

Il me reste à faire une feuille récapitulative générale.

Encore merci pour ton travail, je me permettrais de te transmettre le fichier final.
Bonne journée.
Rennes est à cette heure ci sous le soleil
Pascal
 

camarchepas

XLDnaute Barbatruc
Re : Récupérer données venant de plusieurs feuilles

Bonjour,

Et oui,

C'est jamais tres simple de tout tester sans l'environnement complet de test.

Voici pour la réponse oui .

Pour le non, je pense que c'est ok , car l'on quitte la boucle de balayage du fichier en cours et logiquement il n'y a pas 2 ongles Stats dans le meme classeur ?

si un autre fichier est disponible , l'on continu le balayage.
 

Pièces jointes

  • Synthese.xlsm
    22.3 KB · Affichages: 39
  • Synthese.xlsm
    22.3 KB · Affichages: 40
  • Synthese.xlsm
    22.3 KB · Affichages: 38

Discussions similaires

Statistiques des forums

Discussions
312 488
Messages
2 088 861
Membres
103 979
dernier inscrit
imed