Bonjour
comment puis-je mettre en VBA
=SOMMEPROD((A6:A5000="Truc")*1)
ActiveCell.FormulaR1C1 = "=SUMPRODUCT((R[1]C[1]:R[5000]C[1]=""Truc"")*1)"
ne me convient pas si je me déplace dans le page
Merci
Bonjour
comment puis-je mettre en VBA
=SOMMEPROD((A6:A5000="Truc")*1)
ActiveCell.FormulaR1C1 = "=SUMPRODUCT((R[1]C[1]:R[5000]C[1]=""Truc"")*1)"
ne me convient pas si je me déplace dans le page
Merci
Bonjour
comment puis-je mettre en VBA
=SOMMEPROD((A6:A5000="Truc")*1)
ActiveCell.FormulaR1C1 = "=SUMPRODUCT((R[1]C[1]:R[5000]C[1]=""Truc"")*1)"
ne me convient pas si je me déplace dans le page
Merci
Bonjour
comment puis-je mettre en VBA
=SOMMEPROD((A6:A5000="Truc")*1)
ActiveCell.FormulaR1C1 = "=SUMPRODUCT((R[1]C[1]:R[5000]C[1]=""Truc"")*1)"
ne me convient pas si je me déplace dans le page
Merci
Bonjour
comment puis-je mettre en VBA
=SOMMEPROD((A6:A5000="Truc")*1)
ActiveCell.FormulaR1C1 = "=SUMPRODUCT((R[1]C[1]:R[5000]C[1]=""Truc"")*1)"
ne me convient pas si je me déplace dans le page
Merci
Bonjour
comment puis-je mettre en VBA
=SOMMEPROD((A6:A5000="Truc")*1)
ActiveCell.FormulaR1C1 = "=SUMPRODUCT((R[1]C[1]:R[5000]C[1]=""Truc"")*1)"
ne me convient pas si je me déplace dans le page
Merci
Bonjour
comment puis-je mettre en VBA
=SOMMEPROD((A6:A1760="Truc")*1)
ActiveCell.FormulaR1C1 = "=SUMPRODUCT((R[1]C[1]:R[5000]C[1]=""Truc"")*1)"
ne me convient pas si je me déplace dans le page
Merci
Bonjour
comment puis-je mettre en VBA
=SOMMEPROD((A6:A1760="Truc")*1)
ActiveCell.FormulaR1C1 = "=SUMPRODUCT((R[1]C[1]:R[5000]C[1]=""Truc"")*1)"
ne me convient pas si je me déplace dans le page
Merci
Bonjour
comment puis-je mettre en VBA
=SOMMEPROD((A6:A1760="Truc")*1)
ActiveCell.FormulaR1C1 = "=SUMPRODUCT((R[1]C[1]:R[5000]C[1]=""Truc"")*1)"
ne me convient pas si je me déplace dans le page
Merci
Bonjour,
Tu as presque bon. Il me semble que R[x] est un référence relative
alors que Rx est une référence absolue.
Teste avec R1C1:R5000C1
@+
FxMBonjour
comment puis-je mettre en VBA
=SOMMEPROD((A6:A1760="Truc")*1)
ActiveCell.FormulaR1C1 =
"=SUMPRODUCT((R[1]C[1]:R[5000]C[1]=""Truc"")*1)"
ne me convient pas si je me déplace dans le page
Merci
Bonjour,
Tu as presque bon. Il me semble que R[x] est un référence relative
alors que Rx est une référence absolue.
Teste avec R1C1:R5000C1
@+
FxM
Bonjour
comment puis-je mettre en VBA
=SOMMEPROD((A6:A1760="Truc")*1)
ActiveCell.FormulaR1C1 =
"=SUMPRODUCT((R[1]C[1]:R[5000]C[1]=""Truc"")*1)"
ne me convient pas si je me déplace dans le page
Merci
Bonjour,
Tu as presque bon. Il me semble que R[x] est un référence relative
alors que Rx est une référence absolue.
Teste avec R1C1:R5000C1
@+
FxMBonjour
comment puis-je mettre en VBA
=SOMMEPROD((A6:A1760="Truc")*1)
ActiveCell.FormulaR1C1 =
"=SUMPRODUCT((R[1]C[1]:R[5000]C[1]=""Truc"")*1)"
ne me convient pas si je me déplace dans le page
Merci
merci
j'ai fait ça mais c'est du bricolage
a = -ActiveCell.Column + 1
ActiveCell.FormulaR1C1 = "=SUMPRODUCT((R[1]C[" & a & "]:R[5000]C[" & a &
"]=""Truc"")*1)"Bonjour,
Tu as presque bon. Il me semble que R[x] est un référence relative
alors que Rx est une référence absolue.
Teste avec R1C1:R5000C1
@+
FxMBonjour
comment puis-je mettre en VBA
=SOMMEPROD((A6:A1760="Truc")*1)
ActiveCell.FormulaR1C1 =
"=SUMPRODUCT((R[1]C[1]:R[5000]C[1]=""Truc"")*1)"
ne me convient pas si je me déplace dans le page
Merci
merci
j'ai fait ça mais c'est du bricolage
a = -ActiveCell.Column + 1
ActiveCell.FormulaR1C1 = "=SUMPRODUCT((R[1]C[" & a & "]:R[5000]C[" & a &
"]=""Truc"")*1)"
Bonjour,
Tu as presque bon. Il me semble que R[x] est un référence relative
alors que Rx est une référence absolue.
Teste avec R1C1:R5000C1
@+
FxM
Bonjour
comment puis-je mettre en VBA
=SOMMEPROD((A6:A1760="Truc")*1)
ActiveCell.FormulaR1C1 =
"=SUMPRODUCT((R[1]C[1]:R[5000]C[1]=""Truc"")*1)"
ne me convient pas si je me déplace dans le page
Merci
merci
j'ai fait ça mais c'est du bricolage
a = -ActiveCell.Column + 1
ActiveCell.FormulaR1C1 = "=SUMPRODUCT((R[1]C[" & a & "]:R[5000]C[" & a &
"]=""Truc"")*1)"Bonjour,
Tu as presque bon. Il me semble que R[x] est un référence relative
alors que Rx est une référence absolue.
Teste avec R1C1:R5000C1
@+
FxMBonjour
comment puis-je mettre en VBA
=SOMMEPROD((A6:A1760="Truc")*1)
ActiveCell.FormulaR1C1 =
"=SUMPRODUCT((R[1]C[1]:R[5000]C[1]=""Truc"")*1)"
ne me convient pas si je me déplace dans le page
Merci
Que cherches-tu à faire exactement ?
J'avais cru comprendre que tu souhaitais passer en références
absolues. Si oui, il faut que tu enlèves les crochets.
Si le n° de colonne est variable, ton principe est OK.
Apparemment, tu fais sommeprod avec un seul membre. nb.si(...) devrait
aussi convenir. En VBA -> count.if(...)
@+
FxMmerci
j'ai fait ça mais c'est du bricolage
a = -ActiveCell.Column + 1
ActiveCell.FormulaR1C1 = "=SUMPRODUCT((R[1]C[" & a & "]:R[5000]C[" &
a & "]=""Truc"")*1)"Bonjour,
Tu as presque bon. Il me semble que R[x] est un référence relative
alors que Rx est une référence absolue.
Teste avec R1C1:R5000C1
@+
FxMBonjour
comment puis-je mettre en VBA
=SOMMEPROD((A6:A1760="Truc")*1)
ActiveCell.FormulaR1C1 =
"=SUMPRODUCT((R[1]C[1]:R[5000]C[1]=""Truc"")*1)"
ne me convient pas si je me déplace dans le page
Merci
Que cherches-tu à faire exactement ?
J'avais cru comprendre que tu souhaitais passer en références
absolues. Si oui, il faut que tu enlèves les crochets.
Si le n° de colonne est variable, ton principe est OK.
Apparemment, tu fais sommeprod avec un seul membre. nb.si(...) devrait
aussi convenir. En VBA -> count.if(...)
@+
FxM
merci
j'ai fait ça mais c'est du bricolage
a = -ActiveCell.Column + 1
ActiveCell.FormulaR1C1 = "=SUMPRODUCT((R[1]C[" & a & "]:R[5000]C[" &
a & "]=""Truc"")*1)"
Bonjour,
Tu as presque bon. Il me semble que R[x] est un référence relative
alors que Rx est une référence absolue.
Teste avec R1C1:R5000C1
@+
FxM
Bonjour
comment puis-je mettre en VBA
=SOMMEPROD((A6:A1760="Truc")*1)
ActiveCell.FormulaR1C1 =
"=SUMPRODUCT((R[1]C[1]:R[5000]C[1]=""Truc"")*1)"
ne me convient pas si je me déplace dans le page
Merci
Que cherches-tu à faire exactement ?
J'avais cru comprendre que tu souhaitais passer en références
absolues. Si oui, il faut que tu enlèves les crochets.
Si le n° de colonne est variable, ton principe est OK.
Apparemment, tu fais sommeprod avec un seul membre. nb.si(...) devrait
aussi convenir. En VBA -> count.if(...)
@+
FxMmerci
j'ai fait ça mais c'est du bricolage
a = -ActiveCell.Column + 1
ActiveCell.FormulaR1C1 = "=SUMPRODUCT((R[1]C[" & a & "]:R[5000]C[" &
a & "]=""Truc"")*1)"Bonjour,
Tu as presque bon. Il me semble que R[x] est un référence relative
alors que Rx est une référence absolue.
Teste avec R1C1:R5000C1
@+
FxMBonjour
comment puis-je mettre en VBA
=SOMMEPROD((A6:A1760="Truc")*1)
ActiveCell.FormulaR1C1 =
"=SUMPRODUCT((R[1]C[1]:R[5000]C[1]=""Truc"")*1)"
ne me convient pas si je me déplace dans le page
Merci
Que cherches-tu à faire exactement ?
J'avais cru comprendre que tu souhaitais passer en références
absolues. Si oui, il faut que tu enlèves les crochets.
Si le n° de colonne est variable, ton principe est OK.
Apparemment, tu fais sommeprod avec un seul membre. nb.si(...) devrait
aussi convenir. En VBA -> count.if(...)
@+
FxMmerci
j'ai fait ça mais c'est du bricolage
a = -ActiveCell.Column + 1
ActiveCell.FormulaR1C1 = "=SUMPRODUCT((R[1]C[" & a & "]:R[5000]C[" &
a & "]=""Truc"")*1)"Bonjour,
Tu as presque bon. Il me semble que R[x] est un référence relative
alors que Rx est une référence absolue.
Teste avec R1C1:R5000C1
@+
FxMBonjour
comment puis-je mettre en VBA
=SOMMEPROD((A6:A1760="Truc")*1)
ActiveCell.FormulaR1C1 >>>> "=SUMPRODUCT((R[1]C[1]:R[5000]C[1]=""Truc"")*1)"
ne me convient pas si je me déplace dans le page
Merci
Que cherches-tu à faire exactement ?
J'avais cru comprendre que tu souhaitais passer en références
absolues. Si oui, il faut que tu enlèves les crochets.
Si le n° de colonne est variable, ton principe est OK.
Apparemment, tu fais sommeprod avec un seul membre. nb.si(...) devrait
aussi convenir. En VBA -> count.if(...)
@+
FxM
merci
j'ai fait ça mais c'est du bricolage
a = -ActiveCell.Column + 1
ActiveCell.FormulaR1C1 = "=SUMPRODUCT((R[1]C[" & a & "]:R[5000]C[" &
a & "]=""Truc"")*1)"
Bonjour,
Tu as presque bon. Il me semble que R[x] est un référence relative
alors que Rx est une référence absolue.
Teste avec R1C1:R5000C1
@+
FxM
Bonjour
comment puis-je mettre en VBA
=SOMMEPROD((A6:A1760="Truc")*1)
ActiveCell.FormulaR1C1 >>>> "=SUMPRODUCT((R[1]C[1]:R[5000]C[1]=""Truc"")*1)"
ne me convient pas si je me déplace dans le page
Merci
Que cherches-tu à faire exactement ?
J'avais cru comprendre que tu souhaitais passer en références
absolues. Si oui, il faut que tu enlèves les crochets.
Si le n° de colonne est variable, ton principe est OK.
Apparemment, tu fais sommeprod avec un seul membre. nb.si(...) devrait
aussi convenir. En VBA -> count.if(...)
@+
FxMmerci
j'ai fait ça mais c'est du bricolage
a = -ActiveCell.Column + 1
ActiveCell.FormulaR1C1 = "=SUMPRODUCT((R[1]C[" & a & "]:R[5000]C[" &
a & "]=""Truc"")*1)"Bonjour,
Tu as presque bon. Il me semble que R[x] est un référence relative
alors que Rx est une référence absolue.
Teste avec R1C1:R5000C1
@+
FxMBonjour
comment puis-je mettre en VBA
=SOMMEPROD((A6:A1760="Truc")*1)
ActiveCell.FormulaR1C1 >>>> "=SUMPRODUCT((R[1]C[1]:R[5000]C[1]=""Truc"")*1)"
ne me convient pas si je me déplace dans le page
Merci
Que cherches-tu à faire exactement ?
J'avais cru comprendre que tu souhaitais passer en références
absolues. Si oui, il faut que tu enlèves les crochets.
Si le n° de colonne est variable, ton principe est OK.
Apparemment, tu fais sommeprod avec un seul membre. nb.si(...) devrait
aussi convenir. En VBA -> count.if(...)
@+
FxMmerci
j'ai fait ça mais c'est du bricolage
a = -ActiveCell.Column + 1
ActiveCell.FormulaR1C1 = "=SUMPRODUCT((R[1]C[" & a & "]:R[5000]C[" &
a & "]=""Truc"")*1)"Bonjour,
Tu as presque bon. Il me semble que R[x] est un référence relative
alors que Rx est une référence absolue.
Teste avec R1C1:R5000C1
@+
FxMBonjour
comment puis-je mettre en VBA
=SOMMEPROD((A6:A1760="Truc")*1)
ActiveCell.FormulaR1C1 >>>> "=SUMPRODUCT((R[1]C[1]:R[5000]C[1]=""Truc"")*1)"
ne me convient pas si je me déplace dans le page
Merci
Que cherches-tu à faire exactement ?
J'avais cru comprendre que tu souhaitais passer en références
absolues. Si oui, il faut que tu enlèves les crochets.
Si le n° de colonne est variable, ton principe est OK.
Apparemment, tu fais sommeprod avec un seul membre. nb.si(...) devrait
aussi convenir. En VBA -> count.if(...)
@+
FxM
merci
j'ai fait ça mais c'est du bricolage
a = -ActiveCell.Column + 1
ActiveCell.FormulaR1C1 = "=SUMPRODUCT((R[1]C[" & a & "]:R[5000]C[" &
a & "]=""Truc"")*1)"
Bonjour,
Tu as presque bon. Il me semble que R[x] est un référence relative
alors que Rx est une référence absolue.
Teste avec R1C1:R5000C1
@+
FxM
Bonjour
comment puis-je mettre en VBA
=SOMMEPROD((A6:A1760="Truc")*1)
ActiveCell.FormulaR1C1 >>>> "=SUMPRODUCT((R[1]C[1]:R[5000]C[1]=""Truc"")*1)"
ne me convient pas si je me déplace dans le page
Merci
Que cherches-tu à faire exactement ?
J'avais cru comprendre que tu souhaitais passer en références
absolues. Si oui, il faut que tu enlèves les crochets.
Si le n° de colonne est variable, ton principe est OK.
Apparemment, tu fais sommeprod avec un seul membre. nb.si(...) devrait
aussi convenir. En VBA -> count.if(...)
@+
FxMmerci
j'ai fait ça mais c'est du bricolage
a = -ActiveCell.Column + 1
ActiveCell.FormulaR1C1 = "=SUMPRODUCT((R[1]C[" & a & "]:R[5000]C[" &
a & "]=""Truc"")*1)"Bonjour,
Tu as presque bon. Il me semble que R[x] est un référence relative
alors que Rx est une référence absolue.
Teste avec R1C1:R5000C1
@+
FxMBonjour
comment puis-je mettre en VBA
=SOMMEPROD((A6:A1760="Truc")*1)
ActiveCell.FormulaR1C1 >>>> "=SUMPRODUCT((R[1]C[1]:R[5000]C[1]=""Truc"")*1)"
ne me convient pas si je me déplace dans le page
Merci
Il y a eu erreur de frappe, il faudrait remplacer
la virgule par les : dans cette expression
$A$1,$A$5000
"MichDenis" a écrit dans le message de news:
%
Peut être une façon plus facile de s'en sortir:
Suppose que ta formule est écrite dans la cellule E1
En utilisant ceci , VBA va traduire en anglais la formule...
que tu écris dans la cellule de ton choix afin de récupérer le texte
Range("A1") = "'" & Range("E1").Formula
Maintenant, il ne te reste plus qu'à modifier le texte très légèrement
A ) changer le séparateur d'argument ";" pour la virgule
B ) Dédoubler les "" au critère "Truc"
Range("A2").Formula = "=SUMPRODUCT(($A$1,$A$5000=""Truc"")*1)"
Et si tu veux utiliser une variable à la place de truc :
Crit = "Truc"
Range("A2").Formula = "=SUMPRODUCT(($A$1,$A$5000=" & Crit & ")*1)"
Et si tu utilises FormulaLocal
Range("B2").FormulaLocal = "=SOMMEPROD(($A$1:$A$5000=""Truc"")*1)"
"RGI" a écrit dans le message de news:
%
je veux c'est mettre dans la cellules active la formule
=SOMMEPROD(($A$1:$A$5000="Truc")*1)
après ton intervention ça donne
ActiveCell.FormulaR1C1 = "=SUMPRODUCT((R1C1:R5000C1=""Truc"")*1)"
et ça marche ;)) je persistais à mettre entre crochets ou passer par un
range (cells,cells)
Merci encoreQue cherches-tu à faire exactement ?
J'avais cru comprendre que tu souhaitais passer en références
absolues. Si oui, il faut que tu enlèves les crochets.
Si le n° de colonne est variable, ton principe est OK.
Apparemment, tu fais sommeprod avec un seul membre. nb.si(...) devrait
aussi convenir. En VBA -> count.if(...)
@+
FxMmerci
j'ai fait ça mais c'est du bricolage
a = -ActiveCell.Column + 1
ActiveCell.FormulaR1C1 = "=SUMPRODUCT((R[1]C[" & a & "]:R[5000]C[" &
a & "]=""Truc"")*1)"Bonjour,
Tu as presque bon. Il me semble que R[x] est un référence relative
alors que Rx est une référence absolue.
Teste avec R1C1:R5000C1
@+
FxMBonjour
comment puis-je mettre en VBA
=SOMMEPROD((A6:A1760="Truc")*1)
ActiveCell.FormulaR1C1 >>>>> "=SUMPRODUCT((R[1]C[1]:R[5000]C[1]=""Truc"")*1)"
ne me convient pas si je me déplace dans le page
Merci
Il y a eu erreur de frappe, il faudrait remplacer
la virgule par les : dans cette expression
$A$1,$A$5000
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de news:
%237ZGk2T6GHA.1256@TK2MSFTNGP04.phx.gbl...
Peut être une façon plus facile de s'en sortir:
Suppose que ta formule est écrite dans la cellule E1
En utilisant ceci , VBA va traduire en anglais la formule...
que tu écris dans la cellule de ton choix afin de récupérer le texte
Range("A1") = "'" & Range("E1").Formula
Maintenant, il ne te reste plus qu'à modifier le texte très légèrement
A ) changer le séparateur d'argument ";" pour la virgule
B ) Dédoubler les "" au critère "Truc"
Range("A2").Formula = "=SUMPRODUCT(($A$1,$A$5000=""Truc"")*1)"
Et si tu veux utiliser une variable à la place de truc :
Crit = "Truc"
Range("A2").Formula = "=SUMPRODUCT(($A$1,$A$5000=" & Crit & ")*1)"
Et si tu utilises FormulaLocal
Range("B2").FormulaLocal = "=SOMMEPROD(($A$1:$A$5000=""Truc"")*1)"
"RGI" <nospam.gilbert@discussions.microsoft.com> a écrit dans le message de news:
%23K03vqT6GHA.1252@TK2MSFTNGP04.phx.gbl...
je veux c'est mettre dans la cellules active la formule
=SOMMEPROD(($A$1:$A$5000="Truc")*1)
après ton intervention ça donne
ActiveCell.FormulaR1C1 = "=SUMPRODUCT((R1C1:R5000C1=""Truc"")*1)"
et ça marche ;)) je persistais à mettre entre crochets ou passer par un
range (cells,cells)
Merci encore
Que cherches-tu à faire exactement ?
J'avais cru comprendre que tu souhaitais passer en références
absolues. Si oui, il faut que tu enlèves les crochets.
Si le n° de colonne est variable, ton principe est OK.
Apparemment, tu fais sommeprod avec un seul membre. nb.si(...) devrait
aussi convenir. En VBA -> count.if(...)
@+
FxM
merci
j'ai fait ça mais c'est du bricolage
a = -ActiveCell.Column + 1
ActiveCell.FormulaR1C1 = "=SUMPRODUCT((R[1]C[" & a & "]:R[5000]C[" &
a & "]=""Truc"")*1)"
Bonjour,
Tu as presque bon. Il me semble que R[x] est un référence relative
alors que Rx est une référence absolue.
Teste avec R1C1:R5000C1
@+
FxM
Bonjour
comment puis-je mettre en VBA
=SOMMEPROD((A6:A1760="Truc")*1)
ActiveCell.FormulaR1C1 >>>>> "=SUMPRODUCT((R[1]C[1]:R[5000]C[1]=""Truc"")*1)"
ne me convient pas si je me déplace dans le page
Merci
Il y a eu erreur de frappe, il faudrait remplacer
la virgule par les : dans cette expression
$A$1,$A$5000
"MichDenis" a écrit dans le message de news:
%
Peut être une façon plus facile de s'en sortir:
Suppose que ta formule est écrite dans la cellule E1
En utilisant ceci , VBA va traduire en anglais la formule...
que tu écris dans la cellule de ton choix afin de récupérer le texte
Range("A1") = "'" & Range("E1").Formula
Maintenant, il ne te reste plus qu'à modifier le texte très légèrement
A ) changer le séparateur d'argument ";" pour la virgule
B ) Dédoubler les "" au critère "Truc"
Range("A2").Formula = "=SUMPRODUCT(($A$1,$A$5000=""Truc"")*1)"
Et si tu veux utiliser une variable à la place de truc :
Crit = "Truc"
Range("A2").Formula = "=SUMPRODUCT(($A$1,$A$5000=" & Crit & ")*1)"
Et si tu utilises FormulaLocal
Range("B2").FormulaLocal = "=SOMMEPROD(($A$1:$A$5000=""Truc"")*1)"
"RGI" a écrit dans le message de news:
%
je veux c'est mettre dans la cellules active la formule
=SOMMEPROD(($A$1:$A$5000="Truc")*1)
après ton intervention ça donne
ActiveCell.FormulaR1C1 = "=SUMPRODUCT((R1C1:R5000C1=""Truc"")*1)"
et ça marche ;)) je persistais à mettre entre crochets ou passer par un
range (cells,cells)
Merci encoreQue cherches-tu à faire exactement ?
J'avais cru comprendre que tu souhaitais passer en références
absolues. Si oui, il faut que tu enlèves les crochets.
Si le n° de colonne est variable, ton principe est OK.
Apparemment, tu fais sommeprod avec un seul membre. nb.si(...) devrait
aussi convenir. En VBA -> count.if(...)
@+
FxMmerci
j'ai fait ça mais c'est du bricolage
a = -ActiveCell.Column + 1
ActiveCell.FormulaR1C1 = "=SUMPRODUCT((R[1]C[" & a & "]:R[5000]C[" &
a & "]=""Truc"")*1)"Bonjour,
Tu as presque bon. Il me semble que R[x] est un référence relative
alors que Rx est une référence absolue.
Teste avec R1C1:R5000C1
@+
FxMBonjour
comment puis-je mettre en VBA
=SOMMEPROD((A6:A1760="Truc")*1)
ActiveCell.FormulaR1C1 >>>>> "=SUMPRODUCT((R[1]C[1]:R[5000]C[1]=""Truc"")*1)"
ne me convient pas si je me déplace dans le page
Merci
Il y a eu erreur de frappe, il faudrait remplacer
la virgule par les : dans cette expression
$A$1,$A$5000
"MichDenis" a écrit dans le message de news:
%
Peut être une façon plus facile de s'en sortir:
Suppose que ta formule est écrite dans la cellule E1
En utilisant ceci , VBA va traduire en anglais la formule...
que tu écris dans la cellule de ton choix afin de récupérer le texte
Range("A1") = "'" & Range("E1").Formula
Maintenant, il ne te reste plus qu'à modifier le texte très légèrement
A ) changer le séparateur d'argument ";" pour la virgule
B ) Dédoubler les "" au critère "Truc"
Range("A2").Formula = "=SUMPRODUCT(($A$1,$A$5000=""Truc"")*1)"
Et si tu veux utiliser une variable à la place de truc :
Crit = "Truc"
Range("A2").Formula = "=SUMPRODUCT(($A$1,$A$5000=" & Crit & ")*1)"
Et si tu utilises FormulaLocal
Range("B2").FormulaLocal = "=SOMMEPROD(($A$1:$A$5000=""Truc"")*1)"
"RGI" a écrit dans le message de news:
%
je veux c'est mettre dans la cellules active la formule
=SOMMEPROD(($A$1:$A$5000="Truc")*1)
après ton intervention ça donne
ActiveCell.FormulaR1C1 = "=SUMPRODUCT((R1C1:R5000C1=""Truc"")*1)"
et ça marche ;)) je persistais à mettre entre crochets ou passer par un
range (cells,cells)
Merci encoreQue cherches-tu à faire exactement ?
J'avais cru comprendre que tu souhaitais passer en références
absolues. Si oui, il faut que tu enlèves les crochets.
Si le n° de colonne est variable, ton principe est OK.
Apparemment, tu fais sommeprod avec un seul membre. nb.si(...) devrait
aussi convenir. En VBA -> count.if(...)
@+
FxMmerci
j'ai fait ça mais c'est du bricolage
a = -ActiveCell.Column + 1
ActiveCell.FormulaR1C1 = "=SUMPRODUCT((R[1]C[" & a & "]:R[5000]C[" &
a & "]=""Truc"")*1)"Bonjour,
Tu as presque bon. Il me semble que R[x] est un référence relative
alors que Rx est une référence absolue.
Teste avec R1C1:R5000C1
@+
FxMBonjour
comment puis-je mettre en VBA
=SOMMEPROD((A6:A1760="Truc")*1)
ActiveCell.FormulaR1C1 >>>>> "=SUMPRODUCT((R[1]C[1]:R[5000]C[1]=""Truc"")*1)"
ne me convient pas si je me déplace dans le page
Merci
Il y a eu erreur de frappe, il faudrait remplacer
la virgule par les : dans cette expression
$A$1,$A$5000
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de news:
%237ZGk2T6GHA.1256@TK2MSFTNGP04.phx.gbl...
Peut être une façon plus facile de s'en sortir:
Suppose que ta formule est écrite dans la cellule E1
En utilisant ceci , VBA va traduire en anglais la formule...
que tu écris dans la cellule de ton choix afin de récupérer le texte
Range("A1") = "'" & Range("E1").Formula
Maintenant, il ne te reste plus qu'à modifier le texte très légèrement
A ) changer le séparateur d'argument ";" pour la virgule
B ) Dédoubler les "" au critère "Truc"
Range("A2").Formula = "=SUMPRODUCT(($A$1,$A$5000=""Truc"")*1)"
Et si tu veux utiliser une variable à la place de truc :
Crit = "Truc"
Range("A2").Formula = "=SUMPRODUCT(($A$1,$A$5000=" & Crit & ")*1)"
Et si tu utilises FormulaLocal
Range("B2").FormulaLocal = "=SOMMEPROD(($A$1:$A$5000=""Truc"")*1)"
"RGI" <nospam.gilbert@discussions.microsoft.com> a écrit dans le message de news:
%23K03vqT6GHA.1252@TK2MSFTNGP04.phx.gbl...
je veux c'est mettre dans la cellules active la formule
=SOMMEPROD(($A$1:$A$5000="Truc")*1)
après ton intervention ça donne
ActiveCell.FormulaR1C1 = "=SUMPRODUCT((R1C1:R5000C1=""Truc"")*1)"
et ça marche ;)) je persistais à mettre entre crochets ou passer par un
range (cells,cells)
Merci encore
Que cherches-tu à faire exactement ?
J'avais cru comprendre que tu souhaitais passer en références
absolues. Si oui, il faut que tu enlèves les crochets.
Si le n° de colonne est variable, ton principe est OK.
Apparemment, tu fais sommeprod avec un seul membre. nb.si(...) devrait
aussi convenir. En VBA -> count.if(...)
@+
FxM
merci
j'ai fait ça mais c'est du bricolage
a = -ActiveCell.Column + 1
ActiveCell.FormulaR1C1 = "=SUMPRODUCT((R[1]C[" & a & "]:R[5000]C[" &
a & "]=""Truc"")*1)"
Bonjour,
Tu as presque bon. Il me semble que R[x] est un référence relative
alors que Rx est une référence absolue.
Teste avec R1C1:R5000C1
@+
FxM
Bonjour
comment puis-je mettre en VBA
=SOMMEPROD((A6:A1760="Truc")*1)
ActiveCell.FormulaR1C1 >>>>> "=SUMPRODUCT((R[1]C[1]:R[5000]C[1]=""Truc"")*1)"
ne me convient pas si je me déplace dans le page
Merci
Il y a eu erreur de frappe, il faudrait remplacer
la virgule par les : dans cette expression
$A$1,$A$5000
"MichDenis" a écrit dans le message de news:
%
Peut être une façon plus facile de s'en sortir:
Suppose que ta formule est écrite dans la cellule E1
En utilisant ceci , VBA va traduire en anglais la formule...
que tu écris dans la cellule de ton choix afin de récupérer le texte
Range("A1") = "'" & Range("E1").Formula
Maintenant, il ne te reste plus qu'à modifier le texte très légèrement
A ) changer le séparateur d'argument ";" pour la virgule
B ) Dédoubler les "" au critère "Truc"
Range("A2").Formula = "=SUMPRODUCT(($A$1,$A$5000=""Truc"")*1)"
Et si tu veux utiliser une variable à la place de truc :
Crit = "Truc"
Range("A2").Formula = "=SUMPRODUCT(($A$1,$A$5000=" & Crit & ")*1)"
Et si tu utilises FormulaLocal
Range("B2").FormulaLocal = "=SOMMEPROD(($A$1:$A$5000=""Truc"")*1)"
"RGI" a écrit dans le message de news:
%
je veux c'est mettre dans la cellules active la formule
=SOMMEPROD(($A$1:$A$5000="Truc")*1)
après ton intervention ça donne
ActiveCell.FormulaR1C1 = "=SUMPRODUCT((R1C1:R5000C1=""Truc"")*1)"
et ça marche ;)) je persistais à mettre entre crochets ou passer par un
range (cells,cells)
Merci encoreQue cherches-tu à faire exactement ?
J'avais cru comprendre que tu souhaitais passer en références
absolues. Si oui, il faut que tu enlèves les crochets.
Si le n° de colonne est variable, ton principe est OK.
Apparemment, tu fais sommeprod avec un seul membre. nb.si(...) devrait
aussi convenir. En VBA -> count.if(...)
@+
FxMmerci
j'ai fait ça mais c'est du bricolage
a = -ActiveCell.Column + 1
ActiveCell.FormulaR1C1 = "=SUMPRODUCT((R[1]C[" & a & "]:R[5000]C[" &
a & "]=""Truc"")*1)"Bonjour,
Tu as presque bon. Il me semble que R[x] est un référence relative
alors que Rx est une référence absolue.
Teste avec R1C1:R5000C1
@+
FxMBonjour
comment puis-je mettre en VBA
=SOMMEPROD((A6:A1760="Truc")*1)
ActiveCell.FormulaR1C1 >>>>> "=SUMPRODUCT((R[1]C[1]:R[5000]C[1]=""Truc"")*1)"
ne me convient pas si je me déplace dans le page
Merci