Onglet de liaison

Bonjour,

je me permets de vous consulter afin de savoir comment procéder.

En effet

1) j'ai un onglet avec une liste de tous un tas d'établissements

avec un Id_Etab et un tas d'informations associés

2) un onglet avec une liste de projets

avec un id_Projet et un tas d'informations associés

3) un onglet faisant les liaisons

avec id_Etab, Id Projet, la position de l'etab dans le projet et un tas d'informations autre

Voulant désormais lister les partenaires d'un projet il me faut lister en fonction de l'id projet la liste des établissements

si je fais un find de l'id projet dans mon code vba cela me renverra ensuite les id etab mais j'ai besoin non pas id etab mais des noms des centres

9exemple.xlsm (30.15 Ko)

aussi comment faire corréler ensuite les id etab pour aller récupérer les noms dans l'onglet etab?? afin d'avoir le nom et non l'id?

et le tout de manière correct si je puis dire?

merci par avance

Bonjour

il faut lier tout cela via

powerQuery si tu as 2016 ou plus ou peut installer l'add on sur 2010 ou 2013

MsQuery sinon

Bonjour,

Je tourne sous 2016 mais ne connais rien à powerquery.

Je sait que l’on y a accès en direct depuis les rubans mais ne sait pas du tout comment l’utiliser.

Un petit exemple d’utilisation me permettrait de comprendre un minimum svp.

RE

Il faut commencer par mettre chaque liste sous forme de tableau structuré, remplacer le nom automatique du tableau par un nom signifiant

puis à partir d'une cellule du tableau, onglet Données, A partir d'un tableau, ce qui ouvre PowerQuery

Pour chacun des 2 premiers tableau, sortir par Fermer et charger dans, connexion seulement

Ensuite une fois les 3 requêtes créées,

  • modifier dans chacune le type de l'ID (un ID est plutôt texte en général même s'il est constitué de chiffres comme le n° de sécu) en sélectionnant la ou les colonnes ID puis Accueil, Type de données, Texte et confirmer le remplacement du typage.
  • croiser ensuite la requête des liens, T_liens dans mon exemple, avec T_Centres : Accueil, Fusionner les requêtes fusionner
  • cliquer sur la double flèche près du titre T_Centres et décocher tout sauf Nom
  • fusionner avec T_Projets de la même façon
  • cliquer sur la double flèche près du titre T_Projets et décocher tout sauf nom_projet
  • Sortir par Fermer et charger dans, connexion seulement

Afficher le résultat en affichant le volet des requêtes, clic droit sur la requête T_Liens, Charger dans Table et choisir l'emplacement

On peut hjouter un segment pour filtrer par projet ou prévoir en amont le choix pour filtrer la requête dans PowerQuery

Bonjour,

grand merci pour cette réponse super précise et détaillée

j'ai réussi à procéder sans encombre à toutes les étapes et effectivement cela faire apparaitre tant les noms des projets que les noms des centres dans un nouvelle feuille qui reprends toutes les colonnes de la feuille link de base

néanmoins plusieurs questions se posent désormais

1) faut il garder la feuille link initiale ou la nouvelle crée est elle suffisante?

2) ces liaisons se mettent elles à jour toutes seules si intégration de nouvelles données dans les tableaux projets ou établissement?

3) via le vba on peut faire des requetes powerquery?

en tout cas encore merci pour cette précieuse découverte

RE

...néanmoins plusieurs questions se posent désormais

1) faut il garder la feuille link initiale ou la nouvelle crée est elle suffisante?

Oui, c'est une requête : elle ne remplace pas les données, elle a besoin des données pour restituer quelque chose

2) ces liaisons se mettent elles à jour toutes seules si intégration de nouvelles données dans les tableaux projets ou établissement?

Données, Actualiser Tout

3) via le vba on peut faire des requetes powerquery?

Oui mais cela n'apporte pas d'interêt dans 90% voire 95% des cas

On se contente en général d'automatiser la MAJ, par exemple dès que la valeur du projet choisi (dans une cellule prévue pour) est modifié

Comme je l'ai dit, on pourrait dans le résultat ne pas afficher toutes les colonnes ni toutes les lignes en prévoyant une cellule ou un tableau pour choisir le ou les projets pour lesquels on veut la liste...

Ok j’en prends bonne note

Merci pour toutes les réponses.

Seulement Et sans vouloir abuser comment procède t’on pour automatiser la maj si intégration de données justement

re

Il faut que tu définisse l’évènement déclencheur auquel tu associes : ThisWorkBook.RefreshAll

ok merci à vous!!

Rechercher des sujets similaires à "onglet liaison"