XL 2010 Synthèse de données - Macro

sp0ty

XLDnaute Nouveau
Bonjour,

Mon métier me pousse à modifier des tableau de données pour prélever certaines colonnes et lignes afin de créer une synthèse.

Je cherche à extraire d'un fichier à 8 onglets des données concernant l'activité 7F91 (par exemple).
(Les données du fichier source sont issues d'un TCD, j'ai copié seulement les valeurs)

L'objectif de la macro serait de prélever dans chaque onglet l'information en rapport avec mon activité, et de la synthétiser dans un fichier (voir fichier Résultat)

Les données utilisées sont:
  • Onglet conso globale: Pour l'activité: Afficher la ligne du tableau correspondant (Hours+Labors+Materials+SundryCosts+Total)
  • Pointages: Extrairele talbeau concernant l'activité (tout le tableau de Act jusqu'à total VAI)
  • Achats: Extraire la 1ère ligne bleue concernant l'activité
  • Autre frais: Extraire le tableau
  • POM Remontée: Extraire le tableau
  • FRAIS de TRANSFERT OD ENTRANT: Extraire les lignes correspondant à mon activité
  • FRAIS de TRANSFERT OD SORTANT: Extraire les lignes correspondant à mon activité
  • POM en cours: Extraire les lignes correspondant à mon activité

Ce processus me prenant beaucoup de temps, et n'étant pas très doué niveau Excel, je cherche à savoir s'il est possible de créer une macro qui en l’exécutant, me fasse la synthèse de tous ces onglets comme le fichier Résultat.

Si parmi les experts Excel quelqu'un arrive à faire une macro ou je ne sais quel subterfuge qui me permet de gagner du temps sur ça, je vous en serrez très reconnaissant. :)

En vous remerciant d'avance,
sp0ty.
 

Pièces jointes

  • Source.xlsx
    21.7 KB · Affichages: 24
  • Résultat.xlsx
    17.4 KB · Affichages: 32

vgendron

XLDnaute Barbatruc
Hello
un premier jet en PJ

plusieurs restrictions pour l'instant
1) il faut que les deux fichiers "Source et Résultats" soient ouverts avant de cliquer sur le bouton
2) il faut qu'un numéro d'activité soit présent dans la cellule C2 de la feuille GLOBAL du fichier résultat
3) dans le fichier source, il ne faut PAS d'espace à la fin des cellules qui contiennent l'activité
ex dans la feuille POINTAGES fichier source: en A4: il était écrit "7F91 "
j'ai remplacé par "7F91"

sinon ca ne trouve pas l'activité.

et pour l'instant.. je copie les datas en lieu et place de celles que tu avais mises pour l'exemple
 

Pièces jointes

  • Source.xlsx
    20.8 KB · Affichages: 23
  • Résultat.xlsm
    25.5 KB · Affichages: 22

sp0ty

XLDnaute Nouveau
J'obtiens un bon résumé et les données avec la taille qu'il faut.
Pour ce fichier tu as bien répondu à ma demande, c'est parfait merci beauchoup.



Nouvelle demande avec petit changement: toutes les données sont dans un Tableau Croisé Dynamique et la synthèse est sur une page.

L'objectif maintenant n'est pas de copier mais d'insérer les lignes de données correspondantes.

Pour ça il faut filtrer par activité + projet, et ensuite extraire toutes les données du tableau correspondant dans tous les onglets comme tu l'as fait.

Petite question du coup, si je devais rajouter dans des filtres les donnes (Activité + Projet) dans la prélèvement des données du tableau, qu'est-ce que cela change au niveau du code?

Quelle est la fonction pour dire: "Dans cette feuille, filtrer sur X, prélever toutes les données du TCD correspondant a la requête."

Pour la partie prélevement, la taille des données varie en fonction des résultats, est-ce que la fonction d'insertion ça change quelquechose?

A titre d'exemple voici 1 fichier plus complexe, et une cible avec juste des champs de libre pour insérer les lignes copiées. (Données simples pas possible de mettre le tableau complet)

Pour les filtres du TCD, ils sont à chaque fois en haut à gauche si ils existent, tout est dans TCD sauf les 3 derniers onglets -FRAIS ENTRANT+SORTANT+POM en COURS- qui sont des tableaux simple de données.

Est-ce que ça te parait réalisable en une macro?

(La première macro sera bien utilisée, ceci est une autre demande pour une autre synthèse)
 

Pièces jointes

  • Résultat1.xlsx
    9.4 KB · Affichages: 31
  • Source1.xlsx
    31.3 KB · Affichages: 27

vgendron

XLDnaute Barbatruc
Re..
j'ai pas vraiment compris ce que tu souhaitais pour le second cas..
et pour les TCD.. c'est un sujet que je ne maitrise pas du tout.

mais comme je n'en vois pas dans ton fichier....

voici ce que j'ai compris:
à partir d'un TCD existant, tu filtres selon une activité et numéro de projet.. ce qui donne le contenu des différents onglets...?
ensuite. tu souhaites intégrer ces résultats dans la feuille Synthèse qui peut déjà avoir d'autres données

==> donc ce que j'ai fait
1) une fonction ChercheEntete qui retourne le numéro de ligne de l'entete
2) pour chaque onglet,
comme précédement, on récupère les lignes qui concernent l'activité (6A1A par exemple)
et on insère dans chaque section ==> j'ai pris le parti (par faineantise et facilité) de les insérer à chaque fois au début de la section (juste sous le nom)
voir PJ pour essai
 

Pièces jointes

  • Résultat1.xlsm
    31.6 KB · Affichages: 21

sp0ty

XLDnaute Nouveau
Bon du coup on oublie le TCD, j'adapterai.

Mais oui, le principe est bon, ça insère bien dans les zones dédiés, parfait.

Seul bémol: pour pointages, il n'y a pas de données qui ressort, peut être la détection n'est pas effective?
 

vgendron

XLDnaute Barbatruc
avec les deux fichiers ci joints,

Il n'y a pas de Conso Globale==> et en l'état, il n'y aura jamais rien, car le code est vide ==> je ne sais pas ou chercher le numéro de projet

pour les sections POMs "remontées" et en cours ==> attention: la syntaxe doit etre strictement identique dans le code et dans la feuille ==> avec le s à POM et l'accent à Remontées

POMs Remontées ne renvoit rien parce que dans la feuille Source, tu as encore des espaces après le nom de l'activité
"6A1A " différent de "6A1A"

on peut modifier le code pour qu'il trouve "6A1A ", mais le risque c'est que si tu as des codes "similaires", il pourra y avoir une erreur..

ex: tu as les codes "6A1A" et "6A1A2"
les deux codes commmencent par les meme lettres: "6A1A"
il pourrait le trouver dans 6A1A2 et donc se tromper..

le mieux serait de ne pas avoir d'espaces dans les différents onglets
 

Pièces jointes

  • Source1.xlsx
    30.4 KB · Affichages: 22
  • Résultat1.xlsm
    30.7 KB · Affichages: 18

Discussions similaires

Statistiques des forums

Discussions
314 630
Messages
2 111 365
Membres
111 114
dernier inscrit
ADA1327