Microsoft 365 Tableau maladies des plantes

midimic

XLDnaute Junior
Bonjour à tous
Je rencontre une difficulté pour obtenir à partir de listes déroulantes
D'une part quelle plante traite quelles maladies ?
D'autre part quelle maladie est traitée par quelles plantes ?
Pour chaque plante trouvée, j'aimerais connaître le chiffre identifié qui est l'indication du type de préparation à utiliser
La solution me parait accessible mais je n'y arrive pas.
Merci de votre aide
Midimic
 

Pièces jointes

  • maladie.xlsx
    12.3 KB · Affichages: 40
Solution
Bonjour

Voici la démarche depuis le début
  1. Nommer la cellule servant à choisir la plante ChoixPlante et celle servant à choisir le problème ChoixProbleme
  2. 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)
  3. Depuis une cellule du tableau, Données, A partir d'un tableau : ce qui ouvre PowerQuery
  4. Sélectionner la colonne Problème, clic droit, Dépivoter les autres colonnes
    Dans la barre de formule, remplacer Attribut par Plante
  5. Accueil, Nouvelle Source, Autres Sources, Requête vide : dans la barre de formule...

chris

XLDnaute Barbatruc
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
 

Pièces jointes

  • Plante_maladie.PQ.xlsm
    38.7 KB · Affichages: 13

midimic

XLDnaute Junior
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 vous remercie pour votre réponse mais je ne sais pas utiliser powerquery ni le langage VBA.
Le tableau que vous m'avez envoyé affiche des messages d'erreurs que je ne sais pas corriger
1594175673082.png
 

chris

XLDnaute Barbatruc
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.
 
Dernière édition:

midimic

XLDnaute Junior
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.
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é.
Je ne sais pas comment faire.
 

midimic

XLDnaute Junior
En ce qui concerne le fichier PQMP de MP 59, Là j'arrive à l'ouvrir et à le faire fonctionner mais je ne sais pas comment ça marche pour éventuellement faire évoluer la base de données.
La présentation finale ne correspond pas exactement à ce que je voudrais faire tel que décris dans le fichier initial.
En fait, je ne sais pas trouver les colonnes correspondantes aux critères détectés sur une seule ligne
Merci quand même pour votre soutien à tous les deux que j'apprécie.
 

midimic

XLDnaute Junior
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
ç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.
Si tu le veux bien, j'aimerais en savoir plus pour pouvoir faire évoluer ma base de données. Merci d'avance
 

chris

XLDnaute Barbatruc
Bonjour

Voici la démarche depuis le début
  1. Nommer la cellule servant à choisir la plante ChoixPlante et celle servant à choisir le problème ChoixProbleme
  2. 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)
  3. Depuis une cellule du tableau, Données, A partir d'un tableau : ce qui ouvre PowerQuery
  4. Sélectionner la colonne Problème, clic droit, Dépivoter les autres colonnes
    Dans la barre de formule, remplacer Attribut par Plante
  5. Accueil, Nouvelle Source, Autres Sources, Requête vide : dans la barre de formule taper
    =Donnees
  6. sélectionner la colonne Plante, clic droit, supprimer les autres colonnes
  7. garder la sélection, clic droit, Supprimer les doublons
  8. trier la colonne
  9. Renommer la requête Plantes
  10. Accueil, Nouvelle Source, Autres Sources, Requête vide : dans la barre de formule taper
    =Donnees
  11. sélectionner la colonne Problème, clic droit, supprimer les autres colonnes
  12. garder la sélection, clic droit, Supprimer les doublons
  13. trier la colonne
  14. Renommer la requête Problèmes
  15. Accueil, Nouvelle Source, Autres Sources, Requête vide : dans la barre de formule taper
    =Donnees
  16. 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}
  17. supprimer la colonne Plante
  18. trier par Valeur et Problème
  19. renommer la requête Plante_Problème
  20. Accueil, Nouvelle Source, Autres Sources, Requête vide: dans la barre de formule taper
    =Donnees
  21. 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}
  22. supprimer la colonne Problème
  23. trier par Valeur et Plante
  24. renommer la requête Problème_Plante
  25. sortir par Fermer et charger dans, connexion seulement
  26. 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
  27. faire de même avec la requête Problème_Plante et la placer en I1
  28. Idem pour le srequêtes Plantes et Problèmes à placer sur l'onglet Listes
  29. 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
  30. pour automatiser l'actiualisation des requêtes, voir le code que j'ai placé dans mon exemple dans le module de la feuille Recherche
 

midimic

XLDnaute Junior
Bonjour

Voici la démarche depuis le début
  1. Nommer la cellule servant à choisir la plante ChoixPlante et celle servant à choisir le problème ChoixProbleme
  2. 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)
  3. Depuis une cellule du tableau, Données, A partir d'un tableau : ce qui ouvre PowerQuery
  4. Sélectionner la colonne Problème, clic droit, Dépivoter les autres colonnes
    Dans la barre de formule, remplacer Attribut par Plante
  5. Accueil, Nouvelle Source, Autres Sources, Requête vide : dans la barre de formule taper
    =Donnees
  6. sélectionner la colonne Plante, clic droit, supprimer les autres colonnes
  7. garder la sélection, clic droit, Supprimer les doublons
  8. trier la colonne
  9. Renommer la requête Plantes
  10. Accueil, Nouvelle Source, Autres Sources, Requête vide : dans la barre de formule taper
    =Donnees
  11. sélectionner la colonne Problème, clic droit, supprimer les autres colonnes
  12. garder la sélection, clic droit, Supprimer les doublons
  13. trier la colonne
  14. Renommer la requête Problèmes
  15. Accueil, Nouvelle Source, Autres Sources, Requête vide : dans la barre de formule taper
    =Donnees
  16. 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}
  17. supprimer la colonne Plante
  18. trier par Valeur et Problème
  19. renommer la requête Plante_Problème
  20. Accueil, Nouvelle Source, Autres Sources, Requête vide: dans la barre de formule taper
    =Donnees
  21. 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}
  22. supprimer la colonne Problème
  23. trier par Valeur et Plante
  24. renommer la requête Problème_Plante
  25. sortir par Fermer et charger dans, connexion seulement
  26. 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
  27. faire de même avec la requête Problème_Plante et la placer en I1
  28. Idem pour le srequêtes Plantes et Problèmes à placer sur l'onglet Listes
  29. 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
  30. pour automatiser l'actiualisation des requêtes, voir le code que j'ai placé dans mon exemple dans le module de la feuille Recherche
Merci beaucoup pour ton travail et tes explications détaillées.
 

midimic

XLDnaute Junior
Bonjour

Voici la démarche depuis le début
  1. Nommer la cellule servant à choisir la plante ChoixPlante et celle servant à choisir le problème ChoixProbleme
  2. 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)
  3. Depuis une cellule du tableau, Données, A partir d'un tableau : ce qui ouvre PowerQuery
  4. Sélectionner la colonne Problème, clic droit, Dépivoter les autres colonnes
    Dans la barre de formule, remplacer Attribut par Plante
  5. Accueil, Nouvelle Source, Autres Sources, Requête vide : dans la barre de formule taper
    =Donnees
  6. sélectionner la colonne Plante, clic droit, supprimer les autres colonnes
  7. garder la sélection, clic droit, Supprimer les doublons
  8. trier la colonne
  9. Renommer la requête Plantes
  10. Accueil, Nouvelle Source, Autres Sources, Requête vide : dans la barre de formule taper
    =Donnees
  11. sélectionner la colonne Problème, clic droit, supprimer les autres colonnes
  12. garder la sélection, clic droit, Supprimer les doublons
  13. trier la colonne
  14. Renommer la requête Problèmes
  15. Accueil, Nouvelle Source, Autres Sources, Requête vide : dans la barre de formule taper
    =Donnees
  16. 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}
  17. supprimer la colonne Plante
  18. trier par Valeur et Problème
  19. renommer la requête Plante_Problème
  20. Accueil, Nouvelle Source, Autres Sources, Requête vide: dans la barre de formule taper
    =Donnees
  21. 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}
  22. supprimer la colonne Problème
  23. trier par Valeur et Plante
  24. renommer la requête Problème_Plante
  25. sortir par Fermer et charger dans, connexion seulement
  26. 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
  27. faire de même avec la requête Problème_Plante et la placer en I1
  28. Idem pour le srequêtes Plantes et Problèmes à placer sur l'onglet Listes
  29. 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
  30. 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.
J'arrive bien à créer la requête Plante. Par contre, pour créer une nouvelle requête je n'arrive pas à inscrire =Donnees dans la barre de formules. Il me met un message d'erreur.
A la fin de la requête Plante, dois-je fermer et valider et recommencer tout depuis le départ pour la requête Probleme ?
A la création de la 2ème requête je ne trouve plus le tableau données.
Bref, je ne sais pas utiliser power query. Si vous pouvez me détailler au cas où il y aurait des manip évidentes pour vous et inconnues pour moi ?
Merci d'avance
 

Membres actuellement en ligne

Statistiques des forums

Discussions
312 107
Messages
2 085 354
Membres
102 872
dernier inscrit
YvanCB