Je vous remercie pour votre réponse mais je ne sais pas utiliser powerquery ni le langage VBA.Bonjour
Une solution POwerQuery, intégré à ta version, + quelques lignes de VBA pour actualiser les requêtes à l'activation de la feuille recherche ou le choix d'une plante ou d'un problème
Je patine à fond ! Avec Excel 365 je n'ai pas PowerQuery dans le bandeau. Je l'ai cherché dans les options ,... rien. Alors comment le lancer ?Pourtant avec le fichier que m'a transmis JM59, quand je l'ouvre, PowerQuery s'affiche bien . Donc je dois l'avoir avec Excel 365 sauf que je ne sais pas y accéder. Par conséquent, je n'ai pas avancé avec le fichier que vous m'avez envoyé.Bonjour
Lancer PowerQuery, Fichier, Options et paramètres, Options de requête, partie GLOBAL : Confidentialité, Toujours ignorer les paramètres de niveau de confidentialité
Cela supprimera le message d'erreur.
A noter que cette option ne sert à rien dans la quasi totalité des cas et limite les possibilités, d'où son décochage.
Pour le VBA, si tu n'en veux pas tu peux remplacer par Données, Actualiser tout à faire avant et après l'utilisation des listes déroulantes de choix d'une plante ou d'une maladie dans l'onglet Recherche
( avant pour mettre à jour les listes triées si le tableau de l'onglet Donnees a évolué), après pour avoir le résultat)
Par formules ,compte tenu de la structure en tableau à double entrée du tableau de Donnees, et du classement attendu, ce serait des formules complexes, alors que la solution PowerQuery est simple
Si elle te convient je détaillerai la mise en œuvre.
Super, Merci beaucoup DenisBonsoir le forum,
Midimic, pour lancer power query, va dans le menu DONNÉES, puis complètement à gauche dans OBTENIR DES DONNÉES, tu le trouveras dans la liste déroulante.
@+
Denis
ça y est, j'ai enfin pu utiliser le travail que tu as effectué. Grand merci. C'est exactement ce que je voulais faire. J'ai ramé un peu beaucoup sur les manipulations de base pour simplement ouvrir Power Query mais Denis 132 m' donné la solution.Bonjour
Une solution POwerQuery, intégré à ta version, + quelques lignes de VBA pour actualiser les requêtes à l'activation de la feuille recherche ou le choix d'une plante ou d'un problème
Merci beaucoup pour ton travail et tes explications détaillées.Bonjour
Voici la démarche depuis le début
- Nommer la cellule servant à choisir la plante ChoixPlante et celle servant à choisir le problème ChoixProbleme
- Problème est inscrit en A1 de la plage source et celle-ci, colonnes A à AA, lignes 1 à 32, est mise sous forme de tableau nommé Donnees (au lien du nom automatique de type Tableau1)
- Depuis une cellule du tableau, Données, A partir d'un tableau : ce qui ouvre PowerQuery
- Sélectionner la colonne Problème, clic droit, Dépivoter les autres colonnes
Dans la barre de formule, remplacer Attribut par Plante- Accueil, Nouvelle Source, Autres Sources, Requête vide : dans la barre de formule taper
=Donnees- sélectionner la colonne Plante, clic droit, supprimer les autres colonnes
- garder la sélection, clic droit, Supprimer les doublons
- trier la colonne
- Renommer la requête Plantes
- Accueil, Nouvelle Source, Autres Sources, Requête vide : dans la barre de formule taper
=Donnees- sélectionner la colonne Problème, clic droit, supprimer les autres colonnes
- garder la sélection, clic droit, Supprimer les doublons
- trier la colonne
- Renommer la requête Problèmes
- Accueil, Nouvelle Source, Autres Sources, Requête vide : dans la barre de formule taper
=Donnees- Filtrer la colonne Plante sur une valeur, par exemple Ail, puis dans la barre de formule remplacer "Ail" par
Excel.CurrentWorkbook(){[Name="ChoixPlante"]}[Content][Column1]{0}- supprimer la colonne Plante
- trier par Valeur et Problème
- renommer la requête Plante_Problème
- Accueil, Nouvelle Source, Autres Sources, Requête vide: dans la barre de formule taper
=Donnees- Filtrer la colonne Probleme sur une valeur, par exemple Acarien, puis dans la barre de formule remplacer "Acarien" par
Excel.CurrentWorkbook(){[Name="ChoixProbleme"]}[Content][Column1]{0}- supprimer la colonne Problème
- trier par Valeur et Plante
- renommer la requête Problème_Plante
- sortir par Fermer et charger dans, connexion seulement
- Afficher les requêtes (Données, requêtes et connexions), clic droit sur la requête Plante_Problème, charger dans, Table, et choisir la cellule D1 de l'onglet Recherche
- faire de même avec la requête Problème_Plante et la placer en I1
- Idem pour le srequêtes Plantes et Problèmes à placer sur l'onglet Listes
- nommer la colonne unique, sans le titre, de chaque tableau de l'onglet Listes, respectivement Plante et Problème, puis utiliser ces noms pour les listes de validation de ChoixPlante et ChoixProbleme de l'onglet Recherche
- pour automatiser l'actiualisation des requêtes, voir le code que j'ai placé dans mon exemple dans le module de la feuille Recherche
Je reviens vers vous parce que je n'ai pas réussi à reproduire votre travail pour voir les manipulations à faire. Je dois sûrement louper des étapes.Bonjour
Voici la démarche depuis le début
- Nommer la cellule servant à choisir la plante ChoixPlante et celle servant à choisir le problème ChoixProbleme
- Problème est inscrit en A1 de la plage source et celle-ci, colonnes A à AA, lignes 1 à 32, est mise sous forme de tableau nommé Donnees (au lien du nom automatique de type Tableau1)
- Depuis une cellule du tableau, Données, A partir d'un tableau : ce qui ouvre PowerQuery
- Sélectionner la colonne Problème, clic droit, Dépivoter les autres colonnes
Dans la barre de formule, remplacer Attribut par Plante- Accueil, Nouvelle Source, Autres Sources, Requête vide : dans la barre de formule taper
=Donnees- sélectionner la colonne Plante, clic droit, supprimer les autres colonnes
- garder la sélection, clic droit, Supprimer les doublons
- trier la colonne
- Renommer la requête Plantes
- Accueil, Nouvelle Source, Autres Sources, Requête vide : dans la barre de formule taper
=Donnees- sélectionner la colonne Problème, clic droit, supprimer les autres colonnes
- garder la sélection, clic droit, Supprimer les doublons
- trier la colonne
- Renommer la requête Problèmes
- Accueil, Nouvelle Source, Autres Sources, Requête vide : dans la barre de formule taper
=Donnees- Filtrer la colonne Plante sur une valeur, par exemple Ail, puis dans la barre de formule remplacer "Ail" par
Excel.CurrentWorkbook(){[Name="ChoixPlante"]}[Content][Column1]{0}- supprimer la colonne Plante
- trier par Valeur et Problème
- renommer la requête Plante_Problème
- Accueil, Nouvelle Source, Autres Sources, Requête vide: dans la barre de formule taper
=Donnees- Filtrer la colonne Probleme sur une valeur, par exemple Acarien, puis dans la barre de formule remplacer "Acarien" par
Excel.CurrentWorkbook(){[Name="ChoixProbleme"]}[Content][Column1]{0}- supprimer la colonne Problème
- trier par Valeur et Plante
- renommer la requête Problème_Plante
- sortir par Fermer et charger dans, connexion seulement
- Afficher les requêtes (Données, requêtes et connexions), clic droit sur la requête Plante_Problème, charger dans, Table, et choisir la cellule D1 de l'onglet Recherche
- faire de même avec la requête Problème_Plante et la placer en I1
- Idem pour le srequêtes Plantes et Problèmes à placer sur l'onglet Listes
- nommer la colonne unique, sans le titre, de chaque tableau de l'onglet Listes, respectivement Plante et Problème, puis utiliser ces noms pour les listes de validation de ChoixPlante et ChoixProbleme de l'onglet Recherche
- pour automatiser l'actiualisation des requêtes, voir le code que j'ai placé dans mon exemple dans le module de la feuille Recherche