Croiser et Comparer 2 TCD

Skav10

XLDnaute Nouveau
Bonjour,

Je voudrais savoir s'il est possible de croiser les données de 2 TCD dans mon cas ?

Je m'explique, je réalise une cartographie des compétences de mon entreprise et j'ai 2 bases sous Excel 2010:

• la base « AGENT » (plus de 7000 lignes) est mise à jour régulièrement et regroupe les compétences de chaque agent avec le niveau de compétence associé.
• La base « METIER » regroupe les métiers de l'entreprise avec pour chaque métier les compétences et le niveau de compétence associé.

J'ai réalisé 2 TCD (1 pour chaque base) et l'idéal serait, grâce à des filtres (liste déroulante) pouvoir choisir l'agent, dans un premier temps, pour avoir ses compétences et dans un second temps choisir un métier pour comparer les compétences détenues par l'agent et requise pour le métier.



J'espère avoir été clair. :)
Ci-joint le fichier Excel test et un exemple du résultat recherché.
Merci d'avance;
 

Pièces jointes

  • Carto Test.xlsx
    31.9 KB · Affichages: 56
Dernière modification par un modérateur:

Celeda

XLDnaute Barbatruc
Re : Croiser et Comparer 2 TCD

Bonjour,

Perso, je ne pense pas que croiser les deux TCD apportent quelque chose et les fusionner n'est pas possible, et créer un seul tcd avec les deux feuilles ne serait non plus lisible.
Je suggérerai plutôt pour comparer les compétences des agents par rapport aux compétences des metiers d'ajouter une colonne supplémentaire dans la feuille des agents et coller une formule qui dirait vrai ou faux en vérifiant la compétence mais attention,
par exemple pour riri aude, :UC60044 Adaptabilité - Niveau 2
et dans les méteirs il apparaît dans la colonne uniquement Adaptabilité.

Ensuite, tu pourrais refaire un tcd.

Sinon, je laisse mes petits camarades (et grands!) de proposer autre chose, type macro ou autre.
 

chris

XLDnaute Barbatruc
Re : Croiser et Comparer 2 TCD

Bonjour
Coucou Celeda ;)

Si j'ai bien compris, pour comparer les compétences dans un même graphique, il faut croiser l'ensemble des compétences existantes et l'ensemble des salariés avant de comparer les compétences.

Cela nécessiterait

  • d'une part une liste des salariés (Id unique en un seul exemplaire) qui peut éventuellement être extraite par requête de la base actuelle
  • puis de créer par requête un produit cartésien compétences/salariés en attribuant un niveau 0 quand il n'y a pas de compétence correspondante côté salarié
Voici alors ce qu'on peut obtenir (2 classements différents) pour TNG038 GUFFROY ERIC en Ressources Humaines II.3
Regarde la pièce jointe 359783
 

Pièces jointes

  • Competences.jpg
    Competences.jpg
    46.1 KB · Affichages: 78
Dernière édition:

Skav10

XLDnaute Nouveau
Re : Croiser et Comparer 2 TCD

Bonsoir,

Merci pour vos réponses !!!
Je vais essayer demain avec ta méthode Celeda :)

Chris comment tu as fait pour tes graphiques, est-ce que tu peux me donner plus de détails, un exemple sur une feuille Excel ?

Merci ;)
 

chris

XLDnaute Barbatruc
Re : Croiser et Comparer 2 TCD

Re

Le souci c'est la création des requêtes : trop tordu je pense pour Msquery sauf à enchaîner les 2 ou 3 nécessaires dans des onglets Excel (si un spécialiste peut me contredire, je prends !), je suis passé par Access : liaison des 2 onglets de données, création de 3 requêtes et utilisation de la dernière requête comme source du TCD/GCD.

Doit être faisable par Power Query.
Aussi par VBA...
 

chris

XLDnaute Barbatruc
Re : Croiser et Comparer 2 TCD

Re

Alors voici les 3 requêtes une fois les deux onglets bases attachés
CompetencesAgUn
Code:
SELECT DISTINCT AGENT.[Identifiant Nom Prénom]
FROM AGENT
WHERE (((AGENT.[Identifiant Nom Prénom]) Is Not Null));
Combinatoires
Code:
SELECT [METIER RH].[UC (UC) Code], CompetencesAgUn.[Identifiant Nom Prénom]
FROM [METIER RH], CompetencesAgUn;
Celle utilisée comme source du TCD/GCD
Code:
SELECT [METIER RH].Métier, [METIER RH].[UC (UC) Code], [METIER RH].[UC (UC) Lib], [METIER RH].[Niveau compétence référence métier], Combinatoires.[Identifiant Nom Prénom], IIf(IsNull([Niveau compétence agent]),0,[Niveau compétence agent]) AS [Niveau Agent]
FROM ([METIER RH] LEFT JOIN Combinatoires ON [METIER RH].[UC (UC) Code] = Combinatoires.[UC (UC) Code]) LEFT JOIN AGENT ON (Combinatoires.[UC (UC) Code] = AGENT.[UC (UC) Code]) AND (Combinatoires.[Identifiant Nom Prénom] = AGENT.[Identifiant Nom Prénom])
ORDER BY [METIER RH].[UC (UC) Code], Combinatoires.[Identifiant Nom Prénom];
(à noter que le fonction NZ n'est pas reconnue par Excel d'où le iif)

Il suffit de l'utiliser directement comme source de TCD ou, si tu prèfères de la lier au classeur Excel.
 

Skav10

XLDnaute Nouveau
Re : Croiser et Comparer 2 TCD

M.A.G.N.I.F.Q.U.E !!! :D

En revanche, un dernier petit problème, je n'arrive pas à avoir les bons niveaux de compétence.
Par exemple pour "Orientation client/Esprit de service", il me met 4 au lieu de 2.
J'ai essayé de modifier les paramètres du champ mais sans succès...
 

Pièces jointes

  • TCD.xlsx
    47.3 KB · Affichages: 37
  • TCD.xlsx
    47.3 KB · Affichages: 35
Dernière modification par un modérateur:

chris

XLDnaute Barbatruc
Re : Croiser et Comparer 2 TCD

Re

De rien : dès qu'on parle TCD et requêtes, je m'amuse.

A l'occasion je regarderai si on peut le faire avec POwer Query car cela pourrait être sympa d'avoir une solution gratos si on n'a pas Access...
 

chris

XLDnaute Barbatruc
Re : Croiser et Comparer 2 TCD

Bonjour

Mes tentatives avec Power Query n'ont rien donné : j'ai du mal à comprendre le langage utilisé qui ne ressemble en rien au SQL.

J'ai réussi à la faire avec PowerPivot mais la logique cube étant différente de la logique BD relationnelle, la solution ne me plait qu'à moitié.

Au passage cela m'a permis de voir que mes requêtes Access pouvaient être optimisées : si on garde 3 requêtes, il faut ajouter DISTINCT à la seconde car on a des doublons inutiles.

On peut combiner les 2 premières en une seule (voir cependant sur des gros volumes le temps de réponse)
Code:
SELECT DISTINCT [METIER RH].[UC (UC) Code], AGENT.[Identifiant Nom Prénom]
FROM [METIER RH], AGENT
WHERE (((AGENT.[Identifiant Nom Prénom]) Is Not Null));

J'ai aussi remarqué qu'il est plus simple de ne pas valoriser à 0 les compétences non maîtrisées par une agent : le graphique est plus lisible...
 

Skav10

XLDnaute Nouveau
Re : Croiser et Comparer 2 TCD

Bonjour,

J'ai ajouté DISTINCT et je suis passé de 126 000 lignes à 60 000 lignes : c'est génial merci :)
Je préfère garder 3 requêtes, j'ai encore une vingtaine de métiers à traiter en plus de celui de l'exemple.
 

Skav10

XLDnaute Nouveau
Re : Croiser et Comparer 2 TCD

Bonjour,

Je rencontre encore un petit problème sur Access.
Après plusieurs tests, je pense qu'on ne peut rien y faire, mais je voudrais avoir une confirmation ;)

Par exemple pour le métier "Ressources Humaines II.3" la compétence "Analyse" est de niveau 1 pour l'agent. Cependant si je sélectionne le métier "Ressources Humaines III.3" la compétence "Analyse" est de 0 pour l'agent, alors qu'il est de 1.

La raison est que le code est différent :

- UC60046 pour "Analyse" en "Ressources Humaines II.3"
- UC60048 pour "Analyse" en "Ressources Humaines III.3"

Je voudrais donc savoir s'il est possible, dans mon cas, de prendre comme référence le nom de la compétence et non son code ?

Merci d'avance pour votre aide :)
 

Statistiques des forums

Discussions
312 305
Messages
2 087 083
Membres
103 458
dernier inscrit
Vulgaris workshop