Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Somme dans vba

4 réponses
Avatar
Eric Tremblay
Bonjour,

comment puis-je ins=E9rer des variables dans la formule=20
suivante? :

ActiveCell.FormulaR1C1 =3D _
"=3DIF(AND(R[-10]C=3D"""",R[-8]C=3D""""),"""",IF(SUM((R[-7]C[-
1]:R[-5]C[-1]))-R[-10]C<0,Calculs!R[-11]C,Calculs!R[-8]
C+Calculs!R[-5]C))"

Merci beaucoup de votre aide!
Eric

4 réponses

Avatar
AV
Un truc dans ce genre :

x1 = 10
x2 = 20
ActiveCell.FormulaR1C1 = "=IF(AND(R[-" & x1 & "]C="""",R[-" & x2 &
"]C=""""),"""",IF(SUM((R[-7]C[-1]:R[-5]C[-1]))-R[-10]C<0,Calculs!R[-11]C,Calculs
!R[-8]C+Calculs!R[-5]C))"

Avis perso : si tu passes en références de type A1, ça sera bcp plus clair !

AV
Avatar
Eric Tremblay
Merci!
Je tente d'insérer le type A1, mais j'obtiens des
erreurs. D'après moi je ne place pas les " " aux bonnes
places... As-tu une idée avec le type A1?

Merci milles fois!


-----Message d'origine-----
Un truc dans ce genre :

x1 = 10
x2 = 20
ActiveCell.FormulaR1C1 = "=IF(AND(R[-" & x1 & "]C="""",R
[-" & x2 &

"]C=""""),"""",IF(SUM((R[-7]C[-1]:R[-5]C[-1]))-R[-10]
C<0,Calculs!R[-11]C,Calculs

!R[-8]C+Calculs!R[-5]C))"

Avis perso : si tu passes en références de type A1, ça
sera bcp plus clair !


AV


.



Avatar
ru-th
Salut

au lieu de .FormulaR1C1
utilise Activecell.formula (de type a1 mais en british langage)
activecell.formulalocal (de type A1 mais local langage donc en bon fançois
!)

a+
rural thierry
"Eric Tremblay" a écrit dans le
message de news: 053401c4d3c1$9648d180$
Merci!
Je tente d'insérer le type A1, mais j'obtiens des
erreurs. D'après moi je ne place pas les " " aux bonnes
places... As-tu une idée avec le type A1?

Merci milles fois!


-----Message d'origine-----
Un truc dans ce genre :

x1 = 10
x2 = 20
ActiveCell= "=IF(AND(R[-" & x1 & "]C="""",R
[-" & x2 &

"]C=""""),"""",IF(SUM((R[-7]C[-1]:R[-5]C[-1]))-R[-10]
C<0,Calculs!R[-11]C,Calculs

!R[-8]C+Calculs!R[-5]C))"

Avis perso : si tu passes en références de type A1, ça
sera bcp plus clair !


AV


.



Avatar
docm
Bonjour Eric.

Il faut avoir une technique. En voici une:
Disons qu'on veut remplacer 10 par une variable dans la ligne suivante:
ActiveCell.FormulaLocal = "=SOMME(A10:A20)"

Il suffit de sortir le 10 des parenthèses en utilisant 2 fois l'opérateur &
(concaténation)
ActiveCell.FormulaLocal = "=SOMME(A" & 10 & ":A20)"

Ensuite on remplace simplement 10 par la variable.
v = 10
ActiveCell.FormulaLocal = "=SOMME(A" & v & ":A20)"

docm

"Eric Tremblay" wrote in message
news:053401c4d3c1$9648d180$
Merci!
Je tente d'insérer le type A1, mais j'obtiens des
erreurs. D'après moi je ne place pas les " " aux bonnes
places... As-tu une idée avec le type A1?

Merci milles fois!


-----Message d'origine-----
Un truc dans ce genre :

x1 = 10
x2 = 20
ActiveCell.FormulaR1C1 = "=IF(AND(R[-" & x1 & "]C="""",R
[-" & x2 &

"]C=""""),"""",IF(SUM((R[-7]C[-1]:R[-5]C[-1]))-R[-10]
C<0,Calculs!R[-11]C,Calculs

!R[-8]C+Calculs!R[-5]C))"

Avis perso : si tu passes en références de type A1, ça
sera bcp plus clair !


AV


.