Bonjour
D'habitude j'arrive à me débrouiller avec VBA mais là je suis tombé sur un os et je n'arrive pas à trouver des réponses sur le net.
J'ai mis le bout de code qui pose problème dans le fichier joint. Le but est d'avoir la liberté d'exécuter des formules (feuille TEMPLATE) dans une autre feuille (DATA). Chaque ligne de formule est automatiquemnt annotée A1, A2, etc. et vient ainsi compléter le nom de la colonne résultat dans la feuille DATA. Dans mon exemple, la colonne résultat s'appelle toujours 'Total' mais la première formule va créer une colonne A1-Total, la deuxième A2-Total, etc.
Comment ça fonctionne. Je créé dans mon code VBA un tableau dynamique 'ZoneTT' à partir de la feuille DATA et j'applique chaque formule en utilisant la fonction EVALUATE. Dans ma formule, je peux nommer mes colonnes de la feuille DATA [A], et [C]. Quand je lis ma formule, je remplace '[' par 'ZoneTT[' et ensuite j'exécute EVALUATE.
Ainsi par exemple, la formule [A]++[C] se transforme en ZoneTT[A]+ZoneTT+ZoneTT[C].
Mon code fonctionne mais toutes les formules ne passent pas. En fait, vous verrez que je n'ai aucun résultat pour A5 et A6. En fait visiblement c'est le AND qui ne passe pas. J'ai essayé de triturer dans tous les sens mais je n'arrive pas à faire fonctionner une formule avec AND.
Alors s'il y a parmi vous des connaisseurs d'EVALUATE, leur avis m'intéresse fortement.
Merci.
Cordialement
D'habitude j'arrive à me débrouiller avec VBA mais là je suis tombé sur un os et je n'arrive pas à trouver des réponses sur le net.
J'ai mis le bout de code qui pose problème dans le fichier joint. Le but est d'avoir la liberté d'exécuter des formules (feuille TEMPLATE) dans une autre feuille (DATA). Chaque ligne de formule est automatiquemnt annotée A1, A2, etc. et vient ainsi compléter le nom de la colonne résultat dans la feuille DATA. Dans mon exemple, la colonne résultat s'appelle toujours 'Total' mais la première formule va créer une colonne A1-Total, la deuxième A2-Total, etc.
Comment ça fonctionne. Je créé dans mon code VBA un tableau dynamique 'ZoneTT' à partir de la feuille DATA et j'applique chaque formule en utilisant la fonction EVALUATE. Dans ma formule, je peux nommer mes colonnes de la feuille DATA [A], et [C]. Quand je lis ma formule, je remplace '[' par 'ZoneTT[' et ensuite j'exécute EVALUATE.
Ainsi par exemple, la formule [A]++[C] se transforme en ZoneTT[A]+ZoneTT+ZoneTT[C].
Mon code fonctionne mais toutes les formules ne passent pas. En fait, vous verrez que je n'ai aucun résultat pour A5 et A6. En fait visiblement c'est le AND qui ne passe pas. J'ai essayé de triturer dans tous les sens mais je n'arrive pas à faire fonctionner une formule avec AND.
Alors s'il y a parmi vous des connaisseurs d'EVALUATE, leur avis m'intéresse fortement.
Merci.
Cordialement