IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Permaculture - Exploiter un tableau d'associations entre les différentes espèces végétales [Toutes versions]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 90
    Par défaut Permaculture - Exploiter un tableau d'associations entre les différentes espèces végétales
    Bonjour,

    J'ai un tableau de permaculture (que l'on peut retrouver facilement en image sur google avec les mots-clés "potager associations"), qui permet de montrer quelle plante va avec quelles autres, et lesquelles chacune doit éviter.

    Mais visuellement, ce tableau ne permet de voir que des paires d'associations (c'est positif d'associer betteraves et ail, et c'est négatif d'associer echalottes et choux). Mais si je veux voir quelles sont les associations de groupe possibles, là ça devient vite compliqué voir impossible. Par exemple je peux voir que les betteraves vont bien avec ail celeri choux echalottes epinards laitue (et bien d'autres) mais si je veux associer tout ça, je dois verifier que chaque membre va bien avec tous les autres membre... et sur ce genre de tableau c'est pas du tout pratique.

    J'ai donc recopié le tableau en mettant un + à chaque association bénéfique, un - à chaque association nefaste, et un vide à chaque association neutre.
    Et je me creuse la tête pour trouver un code qui permettrait de mettre en forme des listes de groupes d'associations, des plus nombreuses aux moins nombreuses, avec ou sans les associations neutres, etc.

    Si l'un de vous a une idée lumineuse je suis preneur car je ne vois que la recherche "manuelle" de mon côté

    Merci à tous!

  2. #2
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 680
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 680
    Par défaut
    Bonjour,

    Si l'un de vous a une idée lumineuse je suis preneur car je ne vois que la recherche "manuelle" de mon côté
    Tout simplement un algo qui fasse toutes les recherches "manuelles" à ta place et te récapitule l'information dans une seule cellule

    Une proposition ci-jointe
    Avec une feuille data qui reprend en colonne A la concaténation de deux plante, et en B le résultat de l'association (positif, négatif, ou neutre)
    Et une feuille asso avec en colonne A le résultat des associations (calculé par la macro) et dans les colonnes suivantes (autant que nécessaire) la liste des plantes

    Attention toute les associations possibles doivent être renseignées dans la feuille data, sans quoi la macro risque de renvoyer une erreur sur la ligne avec le vlookup
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    Sub asso()
    Dim linge As Long, col1 As Long, col2 As Long, res As String
    With Sheets("asso")
    For ligne = 2 To .Range("B" & Rows.Count).End(xlUp).Row
        res = ""
        For col1 = 2 To .Cells(ligne, 2).End(xlToRight).Column - 1
            For col2 = col1 + 1 To .Cells(ligne, 2).End(xlToRight).Column
        Debug.Print .Cells(ligne, col1).Value & .Cells(ligne, col2).Value
            res = res & WorksheetFunction.VLookup(.Cells(ligne, col1).Value & .Cells(ligne, col2).Value, Sheets("data").Range("A:B"), 2, 0)
            Next col2
        Next col1
    .Cells(ligne, 1) = res
    Next ligne
    End With
    End Sub
    Fichiers attachés Fichiers attachés

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 90
    Par défaut
    Bonjour,
    Merci de la réponse...
    Par contre peut-être que je n'ai pas bien saisi l'idée mais de mon côté ça ne marche pas.
    J'ai saisi "manuellement" une partie des concatenations dans data colonne A, en mettant manuellement le resultat colonne B. Mis la liste des plantes dans asso ligne 1. Mais quand je lance la macro rien ne se passe...

    Mais dans tous les cas ça me paraît assez "manuel" cette méthode, et surtout ça ne donne pas les différents groupes possibles. Par exemple si j'ai bien compris ça mettrait +-+ +- quand je voudrais qu'il n'affiche que + ++ (et encore, je voudrais en réalité qu'il mette "plante A plante C plante F")

    ...j'espère que mes explications ne sont pas trop floues...

  4. #4
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 680
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 680
    Par défaut
    Citation Envoyé par mosar3 Voir le message
    Mais quand je lance la macro rien ne se passe...
    Normalement (en tous cas c'est comme ça que ça se passe chez moi) la macro affecte les valeurs +,-,vide aux association de plante que tu lui met, et donc modifie le résultat de la première colonne

    et surtout ça ne donne pas les différents groupes possibles. Par exemple si j'ai bien compris ça mettrait +-+ +- quand je voudrais qu'il n'affiche que + ++ (et encore, je voudrais en réalité qu'il mette "plante A plante C plante F")
    Je pense que j'ai mal compris ton problème, pour moi c'était toi qui proposait des associations de plantes et tu voulais savoir si elles étaient bonnes, alors qu'en fait c'est l'inverse tu voudrais avoir toutes les associations possibles de plantes où il n'y aurait que des +

    Combien as-tu de plante différente en tout ? Il est peut être possible d'envisager un dénombrement de tout les cas possible, puis de trier en fonction du nombre de +

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 90
    Par défaut
    Il y a 35 plantes en tout. Je mets le fichier en PJ ce sera plus simple: L'idée c'est que le tableau présente déjà toutes les associations potentielles, mais seulement par paires.

    Et j'aimerais un algorithme qui fasse des listes d'associations de groupes, plus ou moins nombreuses, et plus ou moins vertueuse (par ex que des +, puis des + et des vides).

    Ca donnerait par ex 10 groupes à 3 membres, 7 groupe à 4 membres, 3 groupes à 5 membres, 1 groupe à 6 membres. (avec et sans les vides)
    Comme ça on verrait tout de suite les meilleures associations possibles.

    Association permaculture.xlsx

    J'espère que c'est moins flou
    Merciii

  6. #6
    Membre Expert
    Inscrit en
    Septembre 2007
    Messages
    1 142
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 142
    Par défaut
    Bonjour,
    Citation Envoyé par mosar3 Voir le message
    Comme ça on verrait tout de suite les meilleures associations possibles.
    Pas sûr d'avoir compris tout à fait ce que tu veux mais je te propose ton tableau avec les bonnes et mauvaises associations regroupées avec une fonction personnalisée.

    à toi de nous dire si cela te convient.
    Fichiers attachés Fichiers attachés

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MCD] Héritage, association entre les sous-types
    Par Sandro Munda dans le forum Schéma
    Réponses: 31
    Dernier message: 26/01/2011, 15h35
  2. les methodes et les associations entre les classes
    Par zin_rbt dans le forum Diagrammes de Classes
    Réponses: 1
    Dernier message: 24/05/2010, 14h41
  3. [Turbo Pascal] Tableau de distances entre les villes
    Par amina815 dans le forum Turbo Pascal
    Réponses: 1
    Dernier message: 27/04/2009, 20h47
  4. Réponses: 2
    Dernier message: 17/06/2008, 12h14
  5. Association entre les table (débute)
    Par dydy77 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 14/06/2008, 15h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo