HELP: Compter des cellules selon critères: mots et couleur
Résolu
thatha95
Messages postés
11
Date d'inscription
Statut
Membre
Dernière intervention
-
thatha95 Messages postés 11 Date d'inscription Statut Membre Dernière intervention -
thatha95 Messages postés 11 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je voudrais compter les nombres de cellules et avoir les résultats dans la feuille "Synthese". J'ai plusieurs feuille de calculs. Je voudrais une macro qui compte selon les critères suivant:
Colonne C: Nombre de cellules avec les mots "ABC", "DEF", "IJK" dans la colonne E des autres feuilles
Colonne D: Nombre de cellules "Jaune" dans la colonne C des autres feuilles
Et ceci se répète à chaque fois que je crée une nouvelle macro.
J'ai déjà une macro qui compte et je veux que ces critères s'ajoute à celle-ci.
Voilà le fichier Excel: http://www.cjoint.com/c/FGiiqerpfsz
Merci.
Je voudrais compter les nombres de cellules et avoir les résultats dans la feuille "Synthese". J'ai plusieurs feuille de calculs. Je voudrais une macro qui compte selon les critères suivant:
Colonne C: Nombre de cellules avec les mots "ABC", "DEF", "IJK" dans la colonne E des autres feuilles
Colonne D: Nombre de cellules "Jaune" dans la colonne C des autres feuilles
Et ceci se répète à chaque fois que je crée une nouvelle macro.
J'ai déjà une macro qui compte et je veux que ces critères s'ajoute à celle-ci.
Voilà le fichier Excel: http://www.cjoint.com/c/FGiiqerpfsz
Merci.
1 réponse
Bonjour thatha95,
Je me suis senti invité à répondre, alors ...
A+
Je me suis senti invité à répondre, alors ...
Sub Synthese()
Dim Ws As Worksheet
Dim K As Long
Dim i As Integer
Dim T
Dim Cel As Range
With Worksheets("synthese ODJ")
i = 4
T = Array("ABC", "DEF", "IJK")
Range("A4:D32").ClearContents
For Each Ws In Worksheets
If Ws.Name <> .Name Then
.Range("A" & i) = Ws.Name
.Range("B" & i) = Application.CountA(Ws.Range("C8", Ws.Range("C" & Rows.Count).End(xlUp)))
For j = 0 To UBound(T)
.Range("C" & i) = .Range("C" & i) + Application.CountIf(Ws.Range("E8", Ws.Range("E" & Rows.Count).End(xlUp)), T(j))
Next j
For Each Cel In Ws.Range("C8", Ws.Range("C" & Rows.Count).End(xlUp))
If Cel.Interior.ColorIndex = 6 Then .Range("D" & i) = .Range("D" & i) + 1
Next Cel
i = i + 1
End If
Next Ws
End With
End Sub
A+
Merci.