Vba: conditions pr déterminer plage de cell

Fermé
marie - 21 avril 2009 à 22:15
 Utilisateur anonyme - 22 avril 2009 à 11:53
Bonjour,

Je viens de laisser ce message mais le renvoie car j'avais oublié de préciser qu'il s'agit de VBA.

J'ai une colonne avec de temps en temps des cellules bleues.
Pour chaque cellule bleue, je veux sommer les 14 cellules qui sont à droite de la cellule bleue sur chaque ligne, depuis celle qui contient la cellule bleue jusqu'à celle qui précède la cellule bleue suivante.
La première cellule bleue est en B18.
J'essaie de faire une boucle pour déterminer les plage de cellules à sommer, puis sommer dans la cellule située de l'autre côté de la plage à sélectionnée et sur la même ligne que la cellule bleue.
J'ai fait de mon mieux pr que ça soit clair mais ça n'est pas évident. However, au cas où, voila ce que j'ai fait:

Range("B18").Select
Dim c As Integer
c = ActiveCell.Row

Do
ActiveCell.Offset(1, 0).Select
Loop Until Selection.Interior.ColorIndex = 49
'soit: je descends sur la colonne B jusqu'à tomber sur une cellule bleue (j'ai vérifié, la référence du bleu est bien 49)

Dim l As Integer
l = ActiveCell.Row

Cells(c, 31).Select
'soit: je me place sur la cellule où je veux le résultat de la somme

Dim s As Integer
s = l - c + 1
ActiveCell.FormulaR1C1 = "=SUM(Cells(c, 2), Cells(s, 30))"
'soit: je détermine la plage de cellules à sommer


Le problème est que dans la cellule où je veux obtelir le résultat j'obtiens #NOM, et il semble qu'il n'arrive pas à définir la plage de données.

Est-ce qu'une bonne âme saurait où est la faille???


Merci!

Marie

1 réponse

Utilisateur anonyme
22 avril 2009 à 11:53
Bonjour,
FormulaR1C1 n'accepte que les coordonnées relatives par rapport à la cellule active.
Du style:
ActiveCell.FormulaR1C1 = "=SUM(R[-2]C[-2]:R[5]C[-2])"

Bonne cogitation
0