XL 2019 Copier/coller des données entre deux onglets selon activités/noms

C.Kern

XLDnaute Nouveau
Bonjour,

Je continue mon apprentissage power query et vba et je me retrouve bloqué avec un sujet concernant l'intégration de données entre deux onglets en fonction du nom et de l'activité (projets).

Dans le fichier, des données seront copier dans l'onglet "extraction" avec les intitulés en tête de tableau. Ce que j'aimerais faire, c'est qu'en cliquant sur le bouton dans l'onglet, que les données soient copiées dans le tableau "Prévisionnel" dans les colonnes du consommé du mois indiqué.

Par exemple si ce sont des activités du mois de mars, en cliquant sur le bouton, les données viendront se positionner sur la colonne du consommé du 01/03/2022 sur la ligne de la personne en fonction de son activité/projet.

Je ne sais pas si cela est possible ?

Je ne peux pas essayer avec des recherches de données (comme du rechercheV) car plusieurs personnes utiliseront le fichier et écraseront l'extraction de l'autre, de ce fait, il faudrait que les données soient copiées en dures.

A votre disposition pour toutes information complémentaires.

Mise à jour : fichier modifié

C.K
 

Pièces jointes

  • Test incorporation données.xlsm
    977.4 KB · Affichages: 10
Dernière édition:
Solution
@C.Kern

Tu veux prendre le TJM .... depuis la feuille "previsionel"?
Oui mais quand je regarde sur cette feuille....
... il y une formule... =IFERROR(VLOOKUP([@Acteur];Tableau4[#All];10;0);"")

donc tu dois prendre le TJM depuis cette table.

Tu crée un query sur cette table. Tu joins cette table aux heures prestées et rapatrie les info de TJM
(c'est plus performant que VLOOKUP, et le join peut ternir compte de plusieurs critères en même temps genre qui et quand)

tu ajoutes une colonne TJM* jours,...

ou bien

tu lies la table avec les TJM à la table Timelog et tu ajoute une colonne calculée dans le datamodele
valeur€= jours*RELATED( ... TJM)


Merinos

C.Kern

XLDnaute Nouveau
Bonjour,

Je continue mon apprentissage power query et vba et je me retrouve bloqué avec un sujet concernant l'intégration de données entre deux onglets en fonction du nom et de l'activité (projets).

Dans le fichier, des données seront copier dans l'onglet "extraction" avec les intitulés en tête de tableau. Ce que j'aimerais faire, c'est qu'en cliquant sur le bouton dans l'onglet, que les données soient copiées dans le tableau "Prévisionnel" dans les colonnes du consommé du mois indiqué.

Par exemple si ce sont des activités du mois de mars, en cliquant sur le bouton, les données viendront se positionner sur la colonne du consommé du 01/03/2022 sur la ligne de la personne en fonction de son activité/projet.

Je ne sais pas si cela est possible ?

Je ne peux pas essayer avec des recherches de données (comme du rechercheV) car plusieurs personnes utiliseront le fichier et écraseront l'extraction de l'autre, de ce fait, il faudrait que les données soient copiées en dures.

A votre disposition pour toutes information complémentaires.

Mise à jour : fichier modifié

C.K
Bonjour,

J'ai tenté de tester avec une VBA mais elle ne fonctionne pas et je pense que ca portait ne convient pas.

Option Explicit
Dim Plage
With Extraction
Set Plage = .UsedRange
Feuil1.Cells(Application.Match(.Cells(Plage.Resize(Plage.Rows.Count - 1).Offset(1).SpecialCells(xlCellTypeVisible).Row, "b"), Prévisionnel.[a:a], 0), 129) = .Cells(Plage.Resize(Plage.Rows.Count - 1).Offset(1).SpecialCells(xlCellTypeVisible).Row, "i")
End With
End Sub

J'ai essayé de faire du copier-coller de l'onglet Extraction de la colonne "i" (jour) en fonction de la colonne "a" (date) vers l'onglet Prévisionnel dans la colonne DY (consommé du mois de mars 2022) mais cela ne correspondrait que pour le mois de mars mais il faudrait alors modifié la vba pour le mois d'avril et ainsi de suite.

Avez-vous une piste ?

Merci beaucoup,
 

C.Kern

XLDnaute Nouveau
En cherchant à harmoniser le document, je me suis dit que ca serait peut être plus simple si je passais toutes les colonnes du consommé en jours pour coller avec les dates de l'extraction.
Ce qui ferait un rapprochement entre la date, l'utilisateur et le projet.

Plus simple à exploiter ?
 

merinos

XLDnaute Accro
Salut @C.Kern ,

le problème est d'extraire les données de "extraction" pour les mettre dans "prévisonel".
Cela n'a pas de sens... la marcro ne sert a rien car son résultat n'ajoute rien.


Tu peux avoir 1 query qui donne les previsions (par mois) et un autre qui donne le réalisé (par jour).
Il faut avoir une table de projet a part et une table de calendrier.

Donc les previsions et les réalisé sont liés via leur date au calendrier et via leur projets a la table des projets.

Tu crées des mesures de part et d'autres, puis tu crée des mesures entre les deux...

C'est plus clair?
 

C.Kern

XLDnaute Nouveau
Salut @merinos

Le fait d'avoir un onglet extraction est que ce sont des données qui arrivent d'un autre logiciel, on les télécharge au format csv et on doit copier coller dans cet excel pour avoir l'analyse budgétaire derrière ;)

Du coup je suis obligé de garder cette structure pour compléter mon côté du consommé, d'où mon blocage.

Je vais reprendre tes vidéos pour voir si j'y arrive ^^
 

C.Kern

XLDnaute Nouveau
Bonjour à tous, bonjour @merinos,

Merci pour tes vidéos, j'ai pu créer une table qui importe les différents fichiers csv qui se trouvent dans un dossier cible, comme les extractions ont toutes le même modèle et commencent par timelog, ca va faciliter les choses.

Cependant, je n'arrive pas à lier cette nouvelle table avec la table T_Prévisionnel où il y a toutes les données de noms et qui permet d'avoir le prévisionnel.

Du coup, ce qui me manque, si j'ai bien suivi, c'est de relier ces 2 tables et d'avoir mon TCD de l'onglet budget qui reprend les informations de ces 2 tables, l'une pour le prévisionnel (prévisionel) et l'autre pour le consommé (timelog) ?

Ou il faut juste lier ces 2 tables au TCD de l'onglet budget ?

Pourriez-vous me dépanner?

Je vous joins le nouveau fichier avec les requêtes créés et le message d'erreur.
 

Pièces jointes

  • Table query.jpg
    Table query.jpg
    164.1 KB · Affichages: 28
  • Maquette requête 2.3.xlsm
    985.4 KB · Affichages: 8
Dernière édition:

merinos

XLDnaute Accro
Bonjour,

Je ne comprends pas tes données.

J'ai donc pris un parti...
Timelog sont les heures prestées.


Je tire du previsionel une table des projets (rendu uniques dans la table). et je lie cette table au prévisionel ET aux heures prestées. De même pôur la table calendrier.


Si on compare les données a des marionettes , les fils demarrent dans la table projets et la table calendrier...
Et les mesures sont situées dans les 2 tables de données.

Si j'ai un projets avec des heures prestées et avec des prévisions, les fils fonctionneront...
1649006031897.png
 

C.Kern

XLDnaute Nouveau
Salut @merinos,

Tu as parfaitement compris les données 👌
Je comprends mieux la structure avec le schéma.

Pourquoi il y a eu un message d'erreur lorsque que j'essayais de lier les 2 tables ? C'est parce qu'il n'y a avait pas la table projets ?

Merci beaucoup, ton intervention m'aide énormément.
 
Dernière édition:

merinos

XLDnaute Accro
tu dois toujours lier UN vers plusieurs.

La table projets doit contenir des informations UNIQUES...

donc tu prends une copie de la table prevision, tu garde les colonnes qui decrivent un projet, tu filtre pour rendre les données uniques (la reference du projet) et le tour est joué.
 

C.Kern

XLDnaute Nouveau
@merinos,

Top, j'ai réussi à créer la table centrale et à faire la jonction entre la table prévisionnel et la table des heures prestées (j'ai ajouté une colonne pour avoir une conversion en jours).

Maintenant que j'en suis là, j'ai essayé de placer mes temps dans le tableau de l'onglet budget mais les temps sont placés sur les mauvaises personnes et toujours avec les mêmes temps pour tout le monde.

Il doit me manquer un bout ou une formule pour le calcul ^^

Lien vers le fichier : https://www.transfernow.net/dl/20220403vhagZQ4m
 

merinos

XLDnaute Accro
Je tire du previsionel une table des projets (rendu uniques dans la table). et je lie cette table au prévisionel ET aux heures prestées. De même pôur la table calendrier.


Si on compare les données a des marionettes , les fils demarrent dans la table projets et la table calendrier...
Et les mesures sont situées dans les 2 tables de données.
Salut @C.Kern ,

Tu présentes dans ton pivot des informations qui sont dans une des tables de données.(code et projet)

Ces informations ne sont pas liées à la table "Timelog".... et ne peuvent donc servir de selection aux données de cette table.

Il va falloir apprendre a être marionettiste....

La bonne habitude est de cacher ce qui est dans les tables de données et devrait être utilisé depuis les tables "lien".

1649061437347.png
1649061630181.png
 

C.Kern

XLDnaute Nouveau
J'ai suivi ta logique et joué au marionnettiste, j'ai recréé une table unique pour les acteurs et entités.

En remettant les bonnes données dans les Timelog, mon tdb est bien renseigné.


Merci beaucoup,
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 895
Messages
2 093 382
Membres
105 713
dernier inscrit
Karimov