Vba: conditions pr déterminer plage de cell
marie
-
Utilisateur anonyme -
Utilisateur anonyme -
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
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
A voir également:
- Vba: conditions pr déterminer plage de cell
- Excel compter cellule couleur sans vba - Guide
- Incompatibilité de type vba ✓ - Forum VB / VBA
- Erreur 13 incompatibilité de type VBA excel ✓ - Forum Excel
- Mkdir vba ✓ - Forum VB / VBA
- Dépassement de capacité vba ✓ - Forum Excel