Pb référence de cellules R1Ci

Résolu
OrianeC Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
OrianeC Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -
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,

2 réponses

didibonf Messages postés 419 Date d'inscription   Statut Membre Dernière intervention   96
 
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))
0
OrianeC Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
Super ça marche merci !!!!!
0