Comptage de cellules Grisées

hbb

XLDnaute Occasionnel
Bonsoir à tous,

Pour finaliser mon projet en VBA sur lequel je travaille depuis longtemps, il me manque une partie du code qui consiste à faire un comptage(en VBA Excel) des cellules grisées entre les deux cellules X.
(fichier exemple en pièce jointe)

Je n'arrive pas à utiliser le code ci-dessous.
ActiveCell.Interior.Pattern = xlLightUp

Quelqu'un a-t-il une idée ?
Merci d'avance,

Hbb
 

Pièces jointes

  • Cellules.xls
    13.5 KB · Affichages: 44
  • Cellules.xls
    13.5 KB · Affichages: 49
  • Cellules.xls
    13.5 KB · Affichages: 48

Robert

XLDnaute Barbatruc
Repose en paix
Re : Comptage de cellules Grisées

Bonsoir Hbb, bonsoir le forum,

Je ne sais pas si tu as le code pour repérer la plage concernée mais j'ai ignoré cette partie puisque tu disais que ton problème était dans l'utilisation de ActiveCell.Interior.Pattern = xlLightUp.

Je te propose le code suivant que tu adapteras s'il te convient :

Code:
Sub Macro1()
Dim cel As Range 'déclare la variable cel
Dim cc As Integer 'déclare la variable cc
 
cc = 0 'définit la variable cc
 
'boucle sur toutes les cellules de la plage concernée
For Each cel In Range("C4:J4")
    'condition : si la cellule est hachurée alors cc s'incrémente de 1
    If cel.Interior.Pattern = xlLightUp Then cc = cc + 1
Next cel 'prochaine cellule de la plage
 
MsgBox cc 'message affichant le total
 
End Sub
 

hbb

XLDnaute Occasionnel
Re : Comptage de cellules Grisées

Merci Robert pour ta réponse,

ça marche en effet quand la plage de cellules est fixe ("C4:J4") dans ton exemple.

J'ai essayé de l'adapter à mon code et ça ne marche pas au niveau de la partie en gras.
Les variables col et coldepart ne sont pas reconnues !!!!

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Dim qpremi As Integer
Dim temp As Integer
Dim cel As Range
Dim col As Byte
Dim coldepart As Byte

etc...

Range("BP21").Activate
ActiveCell.End(xlToLeft).Select
qpremi = ActiveCell.Value
coldepart = ActiveCell.Column

v = Range("C6").Value
w = ActiveCell.Offset(-4, 0).Value
x = v + w

ActiveCell.Offset(1, -x).Activate

col = coldepart - x

Range("Cells(22,col):Cells(22,coldepart)").Select


temp = 0
For Each cel In Range("Cells(22,col):Cells(22,coldepart)")
If cel.Interior.Pattern = xlLightUp Then
temp = temp + 1
End If
Next

etc...


''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''


Merci pour votre aide.
A+
Hbb
 

hbb

XLDnaute Occasionnel
Re : Comptage de cellules Grisées

Désolé pour cette question précédente à laquelle j'ai trouvé la réponse en appuyant sur "envoyer" !!!!!!!!!
La prochaine fois je réfléchirai un peu plus longtemps.

Range(Cells(22, col), Cells(22, coldepart)).Select


A+
Hbb
 

Discussions similaires

Réponses
2
Affichages
153

Statistiques des forums

Discussions
312 609
Messages
2 090 197
Membres
104 449
dernier inscrit
Miguel937