Microsoft 365 Croiser toutes les associations possibles de cultures positives

Dranreb

XLDnaute Barbatruc
Sans tout refaire, je ne sais pas ce que vous voulez dire par là. En récupérant une partie des informations de l'existant c'est peut être possible. La Function VersusJA, la Sub CalcJAVersus et le Dictionary pourraient jouer un rôle important là dedans.
 

Dranreb

XLDnaute Barbatruc
Enfin, allez y vous quoi …
Je n'ai rien sous la main actuellement, ni ne sais ce que vous voulez récupérer.
Faites déjà le tableau avec 3 paires mises manuellement en m'expliquant d'où auront été tirées les informations, je verrais peut être à garnir tout le tableau à partir de ça, si c'est cohérent.

Remarque: pour cette manoeuvre ponctuelle, j'accepterai de m'appyer sur les couleurs de remplissage en écrivant une procédure préalable qui ajouterais un antislash à la fin des noms de plantes dans les cellules dont la couleur de fond est plus chaude que gaie.
J'utiliserai le module de classe Couleur de de cette ressource pour extraire l'information :
1598182650094.png
 

Pièces jointes

  • 1598179991293.png
    1598179991293.png
    11 KB · Affichages: 8
Dernière édition:

Dranreb

XLDnaute Barbatruc
Oui, c'est cela, première colonne "Ail", seconde colonne "Tomate" et dans les colonnes suivantes tout ce qui caractérise cette association. C'est bien ça sur quoi vous étiez d'accord, et que vous vouliez que je garnisse selon des données initialement sous une autre forme ?
Mettez le sous forme de tableau. Ou sinon je le ferais, peu importe. On appelera ce ListObject "TabCouples" par exemple. Il serait bon d'avoir toujours aussi la liste exhaustive des espèces dans un autre tableau. Et si le tableau des couples pouvaient être déduits de la liste des espèces grâce à suffisamment de caractéristiques à mettre en regard ce serait encore mieux, mais on n'en est vraiment pas encore là …
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Si ce n'est finalement pas ça que vous vouliez et si en fait la seule information dont vous disposez c'est si l'association est néfaste, neutre ou bénéfique, sans pouvoir quantifier jusqu'à quel point elle est bénéfique, il y a deux autre manières possible d'éviter de coder l'information dans la couleur de la cellule :
1) — Vos liste de plantes dans des textes, séparées par des slash avec une colonne pour les néfastes et une colonne pour les bénéfiques
2) — Un tableau carré avec autant de colonnes que de lignes et représentant chaque plante. Une coche à l'intersection de deux plantes différentes indique, au dessus de la diagonale, une association bénéfique, en dessous une néfaste.
 

Dranreb

XLDnaute Barbatruc
Ces procédures dans un module standard devraient facilité les codages et décodages pour ma 1ère solution :
VB:
Option Explicit
Property Let TexteLBx(ByVal LBx As MSForms.ListBox, Texte As String)
   LBx.List = TJnTexte(Texte)
   End Property
Property Get TexteLBx(ByVal LBx As MSForms.ListBox) As String
   TexteLBx = Join(TJnLBx(LBx), " / ")
   End Property
Function TJnLBx(ByVal LBx As MSForms.ListBox) As String()
   GarnirTJnLBx TJnLBx, LBx
   End Function
Function TJnTexte(ByVal Texte As String) As String()
   GarnirTJnTexte TJnTexte, Texte
   End Function
Sub GarnirTJnLBx(TJn() As String, ByVal LBx As MSForms.ListBox)
   Dim N As Long
   If LBx.ListCount = 0 Then Erase TJn: Exit Sub
   ReDim TJn(0 To LBx.ListCount - 1)
   For N = 0 To UBound(TJn): TJn(N) = Trim$(LBx.List(N)): Next N
   End Sub
Sub GarnirTJnTexte(TJn() As String, ByVal Texte As String)
   Dim N As Long
   TJn = Split(Texte, "/")
   For N = 0 To UBound(TJn): TJn(N) = Trim$(TJn(N)): Next N
   End Sub
 

carlos

XLDnaute Impliqué
Supporter XLD
Bonjour Dranreb
Désolé de ne pas vous avoir répondu plus vite mais j'ai été occupé et je réfléchissais aussi avec beaucoup d’intérêt à votre modèle basé sur 2 plantes. Je commence à comprendre l’étendue.
Je dois réfléchir aux champs utiles :
Association Deteste/Aime de 1 à 5 ou -1 à 5
Exposition Soleil
Date de semis ou plantation
Les rotations d'années en années
ETC...
Voici en PJ mes sources que je dois mettre à jour dans mon fichier .
Il y a beaucoup de sources sur le net (Parfois contradictoires) et il faut faire le tri.
A bientôt
 

Pièces jointes

  • Tableaux sources associations plantes.xlsx
    333.3 KB · Affichages: 4

Dranreb

XLDnaute Barbatruc
Bonjour
Ma seconde proposition, la représentation par tableaux carré vous intéresserait davantage on dirait.
C'est un double tableau triangulaire, en fait.
Ma fonction VersusJA(Joureur, Adversaire), déjà utilisée dans la programmation que je vous avais donnée, est justement conçue pour calculer un indice vers un tableau à une dimension simulant ainsi un tableau triangulaire.
Le calcul inverse des 2 numéros correspondant à un numéro de versus est aussi possible.
Comme l'image symétrique par rapport à la diagonale est inutile, on peut attribuer un sens différent aux intersections situées soit au dessus soit en dessous de la diagonale.
J'ai eu par exemple à traiter ainsi une représentation de paires de cartes pour le poker: en ligne et en colonne la valeur des cartes, aux intersections un numéro de décision à prendre. Mais une intersection au dessus de la diagonale concernait deux cartes de la même couleur.
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 321
Messages
2 087 263
Membres
103 498
dernier inscrit
FAHDE