Je souhaite exécuter une formule Excel via evaluate afin d'en avoir le
résultat.
J'utilise pour cela la formule Excel NB.SI.ENS. J'ai tapé une formule
dans une cellule, elle fonctionne. J'ai :
=NB.SI.ENS($A$4:$A$2687;"=701*";$B$4:$B$2687;$C$2)
Cette formule fonctionne bien et me retourne 5 ce qui correspond bien au
nombre d'éléments correspondant à mes 2 critères.
lorsque j'enregistre une macro et que je clique dans la cellule
j'obtiens la formule:
ActiveCell.FormulaR1C1 =
"=COUNTIFS(R4C1:R2687C1,""=701*"",R4C2:R2687C2,R2C3)"
Mon souci est que si je lance :
Formule = "=COUNTIFS(R4C1:R2687C1,""=701*"",R4C2:R2687C2,R2C3)"
MsgBox Evaluate(Formule)
Je n'ai alors rien du tout... La fonction Evaluate n'accepte pas du tout
cette formule qui provient pourtant d'Excel puisque retranscrite par
Excel lors d'un enregistrement de macro. Je n'ai même pas un message
d'erreur alors que dans ma macro je n'ai pas de On error resume next...
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jacquouille
Bonjour NB.SI.ENS est déjà trop moderne pour mon PC... Cependant, pour te dépanner, tu peux employer NB.SI ou Sommeprod et voir s'il y a erreur ou pas.
Jacquouille
" Le vin est au repas ce que le parfum est à la femme." "HD" a écrit dans le message de groupe de discussion : lp39g9$g6m$
Bonjour,
Je souhaite exécuter une formule Excel via evaluate afin d'en avoir le résultat.
J'utilise pour cela la formule Excel NB.SI.ENS. J'ai tapé une formule dans une cellule, elle fonctionne. J'ai : =NB.SI.ENS($A$4:$A$2687;"p1*";$B$4:$B$2687;$C$2) Cette formule fonctionne bien et me retourne 5 ce qui correspond bien au nombre d'éléments correspondant à mes 2 critères.
lorsque j'enregistre une macro et que je clique dans la cellule j'obtiens la formule: ActiveCell.FormulaR1C1 "=COUNTIFS(R4C1:R2687C1,""p1*"",R4C2:R2687C2,R2C3)"
Mon souci est que si je lance : Formule = "=COUNTIFS(R4C1:R2687C1,""p1*"",R4C2:R2687C2,R2C3)" MsgBox Evaluate(Formule)
Je n'ai alors rien du tout... La fonction Evaluate n'accepte pas du tout cette formule qui provient pourtant d'Excel puisque retranscrite par Excel lors d'un enregistrement de macro. Je n'ai même pas un message d'erreur alors que dans ma macro je n'ai pas de On error resume next...
Avez vous une idée de où provient le problème ?
Merci d'avance pour votre aide,
Cordialement,
HD
--- Ce courrier électronique ne contient aucun virus ou logiciel malveillant parce que la protection avast! Antivirus est active. http://www.avast.com
Bonjour
NB.SI.ENS est déjà trop moderne pour mon PC...
Cependant, pour te dépanner, tu peux employer NB.SI ou Sommeprod et voir
s'il y a erreur ou pas.
Jacquouille
" Le vin est au repas ce que le parfum est à la femme."
"HD" a écrit dans le message de groupe de discussion :
lp39g9$g6m$1@usenet.pasdenom.info...
Bonjour,
Je souhaite exécuter une formule Excel via evaluate afin d'en avoir le
résultat.
J'utilise pour cela la formule Excel NB.SI.ENS. J'ai tapé une formule
dans une cellule, elle fonctionne. J'ai :
=NB.SI.ENS($A$4:$A$2687;"p1*";$B$4:$B$2687;$C$2)
Cette formule fonctionne bien et me retourne 5 ce qui correspond bien au
nombre d'éléments correspondant à mes 2 critères.
lorsque j'enregistre une macro et que je clique dans la cellule
j'obtiens la formule:
ActiveCell.FormulaR1C1 "=COUNTIFS(R4C1:R2687C1,""p1*"",R4C2:R2687C2,R2C3)"
Mon souci est que si je lance :
Formule = "=COUNTIFS(R4C1:R2687C1,""p1*"",R4C2:R2687C2,R2C3)"
MsgBox Evaluate(Formule)
Je n'ai alors rien du tout... La fonction Evaluate n'accepte pas du tout
cette formule qui provient pourtant d'Excel puisque retranscrite par
Excel lors d'un enregistrement de macro. Je n'ai même pas un message
d'erreur alors que dans ma macro je n'ai pas de On error resume next...
Avez vous une idée de où provient le problème ?
Merci d'avance pour votre aide,
Cordialement,
HD
---
Ce courrier électronique ne contient aucun virus ou logiciel malveillant parce que la protection avast! Antivirus est active.
http://www.avast.com
Bonjour NB.SI.ENS est déjà trop moderne pour mon PC... Cependant, pour te dépanner, tu peux employer NB.SI ou Sommeprod et voir s'il y a erreur ou pas.
Jacquouille
" Le vin est au repas ce que le parfum est à la femme." "HD" a écrit dans le message de groupe de discussion : lp39g9$g6m$
Bonjour,
Je souhaite exécuter une formule Excel via evaluate afin d'en avoir le résultat.
J'utilise pour cela la formule Excel NB.SI.ENS. J'ai tapé une formule dans une cellule, elle fonctionne. J'ai : =NB.SI.ENS($A$4:$A$2687;"p1*";$B$4:$B$2687;$C$2) Cette formule fonctionne bien et me retourne 5 ce qui correspond bien au nombre d'éléments correspondant à mes 2 critères.
lorsque j'enregistre une macro et que je clique dans la cellule j'obtiens la formule: ActiveCell.FormulaR1C1 "=COUNTIFS(R4C1:R2687C1,""p1*"",R4C2:R2687C2,R2C3)"
Mon souci est que si je lance : Formule = "=COUNTIFS(R4C1:R2687C1,""p1*"",R4C2:R2687C2,R2C3)" MsgBox Evaluate(Formule)
Je n'ai alors rien du tout... La fonction Evaluate n'accepte pas du tout cette formule qui provient pourtant d'Excel puisque retranscrite par Excel lors d'un enregistrement de macro. Je n'ai même pas un message d'erreur alors que dans ma macro je n'ai pas de On error resume next...
Avez vous une idée de où provient le problème ?
Merci d'avance pour votre aide,
Cordialement,
HD
--- Ce courrier électronique ne contient aucun virus ou logiciel malveillant parce que la protection avast! Antivirus est active. http://www.avast.com
MichD
Bonjour,
Tu as essayé comme ceci :
x = Evaluate("COUNTIFS($A$4:$A$2687,""p1*"",$B$4:$B$2687,$C$2)")
Bonjour,
Tu as essayé comme ceci :
x = Evaluate("COUNTIFS($A$4:$A$2687,""p1*"",$B$4:$B$2687,$C$2)")
x = Evaluate("COUNTIFS($A$4:$A$2687,""p1*"",$B$4:$B$2687,$C$2)")
MichD
Si tu places le code ailleurs que dans le module de la feuille, il est plus prudent d'ajouter le nom de la feuille de calcul dans l'adressage des plages de cellules
x = Evaluate("COUNTIFS(Feuil1!$A$4:$A$2687,""p1*"",Feuil1!$B$4:$B$2687,Feuil1!$C$2)")
Si tu places le code ailleurs que dans le module de la feuille, il est plus prudent d'ajouter le nom de la feuille de calcul
dans l'adressage des plages de cellules
x = Evaluate("COUNTIFS(Feuil1!$A$4:$A$2687,""p1*"",Feuil1!$B$4:$B$2687,Feuil1!$C$2)")
Si tu places le code ailleurs que dans le module de la feuille, il est plus prudent d'ajouter le nom de la feuille de calcul dans l'adressage des plages de cellules
x = Evaluate("COUNTIFS(Feuil1!$A$4:$A$2687,""p1*"",Feuil1!$B$4:$B$2687,Feuil1!$C$2)")
HD
Si tu places le code ailleurs que dans le module de la feuille, il est plus prudent d'ajouter le nom de la feuille de calcul dans l'adressage des plages de cellules x = Evaluate("COUNTIFS(Feuil1!$A$4:$A$2687,""p1*"",Feuil1!$B$4:$B$2687,Feuil1!$C$2)")
Un grand MERCI à vous. Cela fonctionne bien.
@+ HD
Si tu places le code ailleurs que dans le module de la feuille, il est
plus prudent d'ajouter le nom de la feuille de calcul dans l'adressage
des plages de cellules
x =
Evaluate("COUNTIFS(Feuil1!$A$4:$A$2687,""p1*"",Feuil1!$B$4:$B$2687,Feuil1!$C$2)")
Si tu places le code ailleurs que dans le module de la feuille, il est plus prudent d'ajouter le nom de la feuille de calcul dans l'adressage des plages de cellules x = Evaluate("COUNTIFS(Feuil1!$A$4:$A$2687,""p1*"",Feuil1!$B$4:$B$2687,Feuil1!$C$2)")