Regroupement de données de plusieurs classeurs dans une seule feuille

P

Psykokart

Guest
Bonjour à tous. Je n'ai trouvé de l'aide nul part ailleurs, alors voilà mon problème. Je dois créer une macro qui, dès qu'on ouvre le fichier Excel (par conséquent le classeur), mette à jour le graphique qui s'y trouve. Les données sont, pour chaque semaine différente stockées dans une fichier excel portant le nom de la semaine (WK40,WK41,...). Les feuilles et les tableaux qu'elles contiennents sont identiques d'un classeur à l'autre.
Je dois donc récupérer les données d'une feuille précise, d'un tableau précis et de certaines lignes seulement de ce tableau pour chaque fichier(donc chaque semaine), pour récupérer à l'ouverture de mon classeur récapitulatif toutes les données dans un nouveau tableau. Ce tableau sera le tableau des données utilisées pour le graphique. C'est assez compliqué, mais j'ai besoin d'aide dans les plus brefs délais, c'est un projet très important. Je vous remercie d'avance pour votre aide qui me sera, pour tout apport, très précieuse.

PS : Féliciations pour la facilité et la clarté des informations de votre site.

Psykokart
 
E

EricS

Guest
bonjour

le zip joint peut peut-être te donner des pistes

tu places "recueildupont" dans un répertoire et tu crée un sous-répertoire "données" dans lequel tu places les fiches

la macro dans recueildupont ouvre tous les fichiers contenus dans "données", les uns après les autres, active un filtre auto, fait un copier coller et referme le fichier de données.

A+
Eric
 
P

Psykokart

Guest
merci, j'ai enfin ma solution de listing. Il me suffit juste de l'adapter à mes besoins, mais le principe de la recherche est juste. Merci infiniment. Je ne manquerai pas de revenir sur ce forum ni de le conseiller à d'autres personnes
Salutations @ tous

Psykokart
 
A

arvin

Guest
bonjour !!

j'ai le même souci : je souhaite récupérer pour une date donnée des personnes selon 1 critère donnée (titulaire ou vacataire) si c'est titulaire, il me copie certaines données dans 1 feuille titulaire (+ tri alphabétique) et si c'est vacataire il me copie les données dans 1 feuille vacataire


merci de me répondre
 
E

EricS

Guest
Bonjour arvin

regarde tout d'abord l'exemple envoyé. si tu as plusieurs critères, il faut remplacer

Selection.AutoFilter Field:=2, Criteria1:=critère
' taille de la sélection à copier
Range("a65536").Select
Selection.End(xlUp).Select
If ActiveCell.Value <> 1 Then
dernière_ligne = ActiveCell.Row
Range("A2:E" & dernière_ligne).Select
Selection.Copy
Windows(nomfichier).Activate
'mettre à la suite
Range("a65536").Select
Selection.End(xlUp).Select
ActiveCell.Offset(1, 0).Select
ActiveSheet.Paste


par quelque chose comme :

Selection.AutoFilter Field:= <n° colonnea>, Criteria1:=<critère colonnea>
' taille de la sélection à copier
Range("a65536").Select
Selection.End(xlUp).Select
If ActiveCell.Value <> 1 Then
dernière_ligne = ActiveCell.Row
Range("A2:E" & dernière_ligne).Select
Selection.Copy
Windows(nomfichier).Activate
'mettre à la suite
sheets("titulaire").activate
Range("a65536").Select
Selection.End(xlUp).Select
ActiveCell.Offset(1, 0).Select
ActiveSheet.Paste

windows(fenêtrelue).activate
Selection.AutoFilter Field:=<n° colonneb>, Criteria1:=<critère colonneb>
' taille de la sélection à copier
Range("a65536").Select
Selection.End(xlUp).Select
If ActiveCell.Value <> 1 Then
dernière_ligne = ActiveCell.Row
Range("A2:E" & dernière_ligne).Select
Selection.Copy
Windows(nomfichier).Activate
'mettre à la suite
sheets("vacataire").activate
Range("a65536").Select
Selection.End(xlUp).Select
ActiveCell.Offset(1, 0).Select
ActiveSheet.Paste

en ce qui concerne le tri, entre "endwith" et "end sub" il faut ajouter, en adaptant à tes colonnes et à ton type de tri

sheets("titulaire").activate
Columns("A:E").Select
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Key2:=Range("C2") _
, Order2:=xlDescending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom
sheets("vacataire").activate
Columns("A:E").Select
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Key2:=Range("C2") _
, Order2:=xlDescending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom


Bons essais

Eric
 
A

arvin

Guest
bonjour !!!

merci pour ton rapide message : il y a des pros sur ce forum
je joins ce fichier en fonction de ce que tu m'a dit : mais comment faire pour qu'il crèe automatiquement la feuille "titulaire" et la feuille "vacataire"? surtout si il ya plusieurs noms avec plusieurs onglets .....



pb -> comment faire pour joindre 1 fichier excel : il me dit le message suivant "seuls sont possibles à joindre les fichiers ZIP STI

c'est quoi ???


merci de me venir en aide!!!
 
E

EricS

Guest
Bonjour

il faut "zipper" le fichier en utilisant le logiciel "winzip" sinon envoie moi le fichier excel directement, sans passer par le forum

il ne me faut pas forcément les fichiers complets (qui peuvent être volumineux) mais des exemples significatifs (fichier de données et fichier pour le résultat car par exemple pour l'instant, j'ai du mal à comprendre :

mais comment faire pour qu'il crèe automatiquement la feuille "titulaire" et la feuille "vacataire"? surtout si il ya plusieurs noms avec plusieurs onglets .....

plusieurs noms où ?
plusieurs onglets où ?

que doit'il y avoir comme onglets dans le fichier résultat ?

Eric
 

Discussions similaires

Statistiques des forums

Discussions
312 229
Messages
2 086 423
Membres
103 206
dernier inscrit
diambote