Pb référence de cellules R1Ci
Résolu
Bonjour,
Dans visual basic, j'ai un pb dans une référence de cellule calculée dans l'expression suivante
ActiveSheet.Cells(6, nbred + 1).Select
ActiveCell.Formula = _
"=SUMIF(R3C2:R3C[" & nbred - 3 & "],""<>0"",RC2:RC[" & nbred - 3 & "])"
ou nbred est défini comme "integer"
Si nbred = 17, la formule inscrite dans la cellule (6,18) est
=SOMME.SI($B$3:AF$3;"<>0";$B6:AF6)
et non ce que j'attendais
=somme.si($B$3:N$3;"<>0";$B6:N6 (la colonne N étant la 14è (soit 17 - 3 =14)
AF étant la 32 è colonne, soit en fait 18 + 17 - 3 = 32
Donc en fait VB considère dans la formule un référence relative par rapport à la cellule de départ (6,18) et non une référence depuis la cellule (1,1).
Je suis étonné car cette formule fonctionnait jusqu'à un passé récent ...
merci de votre retour,
Dans visual basic, j'ai un pb dans une référence de cellule calculée dans l'expression suivante
ActiveSheet.Cells(6, nbred + 1).Select
ActiveCell.Formula = _
"=SUMIF(R3C2:R3C[" & nbred - 3 & "],""<>0"",RC2:RC[" & nbred - 3 & "])"
ou nbred est défini comme "integer"
Si nbred = 17, la formule inscrite dans la cellule (6,18) est
=SOMME.SI($B$3:AF$3;"<>0";$B6:AF6)
et non ce que j'attendais
=somme.si($B$3:N$3;"<>0";$B6:N6 (la colonne N étant la 14è (soit 17 - 3 =14)
AF étant la 32 è colonne, soit en fait 18 + 17 - 3 = 32
Donc en fait VB considère dans la formule un référence relative par rapport à la cellule de départ (6,18) et non une référence depuis la cellule (1,1).
Je suis étonné car cette formule fonctionnait jusqu'à un passé récent ...
merci de votre retour,
2 réponses
-
Bonjour,
essai comme ça :
ActiveSheet.Cells(6, nbred + 1).Select
ActiveCell.Formula = _
"=SUMIF(R3C2:R3C[" & -4 & "],""<>0"",RC2:RC[" & -4 & "])"
(inutile de remettre nbred dans la formule puisque la formule prend la case de départ comme référence donc Cells(6, nbred + 1)) -
Super ça marche merci !!!!!