NBVAL_si_couleur
Bonjour
Il y a quelque temps, j'avais posté pour savoir comment totaliser le contenu de cellules d'en fonction de leur couleur.
Je souhaiterais aujourd'hui compter le nombre de cellules non vides en fonction de leur couleur.
Comme je ne sais pas décrypter le code de la "somme_si_couleur" ci-dessous, quelqu'un pourrait-il m'indiquer comment l'aménager pour nbval_si_couleur ?
Merci.
Cordialement
Function SOMME_SI_COULEUR(PlageSomme As Range, PlageCouleur As Range) As Variant
'*********************************************************
' Effectuer la somme des cellules en couleur *
'*********************************************************
Dim Cel As Range
Dim Som As Double
' Ne pas oublier l'option de recalcul automatique
Application.Volatile
'
If PlageCouleur.Cells.Count > 1 Then
SOMME_SI_COULEUR = CVErr(xlErrValue)
Exit Function
End If
For Each Cel In PlageSomme
If Cel.Interior.ColorIndex = PlageCouleur.Interior.ColorIndex Then Som = Som + Cel
Next
SOMME_SI_COULEUR = Som
End Function
Bonjour,
une proposition, tout comme la fonction somme_si_couleur, ne fonctionne pas avec les MFC.
Function NBVAL_SI_COULEUR(PlageNBVAL As Range, PlageCouleur As Range) As Variant
'*********************************************************
' Effectuer la NBVAL des cellules en couleur *
'*********************************************************
Dim Cel As Range
Dim Som As Double
' Ne pas oublier l'option de recalcul automatique
Application.Volatile
'
If PlageCouleur.Cells.Count > 1 Then
NBVAL_SI_COULEUR = CVErr(xlErrValue)
Exit Function
End If
For Each Cel In PlageNBVAL
If Cel<>"" Then
If Cel.Interior.ColorIndex = PlageCouleur.Interior.ColorIndex Then Som = Som + 1
end if
Next
NBVAL_SI_COULEUR = Som
End Function
Bonjour,
Si je comprends ta demande ... tu veux simplement ajouter une condition :
que le compteur de ta fonction ne fonctionne que si la cellule contient quelque chose ....
Function SOMME_SI_COULEUR(PlageSomme As Range, PlageCouleur As Range) As Variant
'*********************************************************
' Effectuer la somme des cellules en couleur *
'*********************************************************
Dim Cel As Range
Dim Som As Double
' Ne pas oublier l'option de recalcul automatique
Application.Volatile
'
If PlageCouleur.Cells.Count > 1 Then
SOMME_SI_COULEUR = CVErr(xlErrValue)
Exit Function
End If
For Each Cel In PlageSomme
If Cel.value <>"" Then
If Cel.Interior.ColorIndex = PlageCouleur.Interior.ColorIndex Then Som = Som + Cel
End If
Next Cel
SOMME_SI_COULEUR = Som
End Function
h2so4 a écrit :Bonjour,
une proposition, tout comme la fonction somme_si_couleur, ne fonctionne pas avec les MFC.
Function NBVAL_SI_COULEUR(PlageNBVAL As Range, PlageCouleur As Range) As Variant '********************************************************* ' Effectuer la NBVAL des cellules en couleur * '********************************************************* Dim Cel As Range Dim Som As Double ' Ne pas oublier l'option de recalcul automatique Application.Volatile ' If PlageCouleur.Cells.Count > 1 Then NBVAL_SI_COULEUR = CVErr(xlErrValue) Exit Function End If For Each Cel In PlageNBVAL If Cel<>"" Then If Cel.Interior.ColorIndex = PlageCouleur.Interior.ColorIndex Then Som = Som + 1 end if Next NBVAL_SI_COULEUR = Som End Function
Bonjour h2so4
C'est tout à fait ça... merci !
Cordialement
James007 a écrit :Bonjour,
Si je comprends ta demande ... tu veux simplement ajouter une condition :
que le compteur de ta fonction ne fonctionne que si la cellule contient quelque chose ....
Function SOMME_SI_COULEUR(PlageSomme As Range, PlageCouleur As Range) As Variant '********************************************************* ' Effectuer la somme des cellules en couleur * '********************************************************* Dim Cel As Range Dim Som As Double ' Ne pas oublier l'option de recalcul automatique Application.Volatile ' If PlageCouleur.Cells.Count > 1 Then SOMME_SI_COULEUR = CVErr(xlErrValue) Exit Function End If For Each Cel In PlageSomme If Cel.value <>"" Then If Cel.Interior.ColorIndex = PlageCouleur.Interior.ColorIndex Then Som = Som + Cel End If Next Cel SOMME_SI_COULEUR = Som End Function
Bonjour James007
Mes cellules contiennent du texte et non des chiffres. Je souhaite compter le nombre de cellules non vides. J'ai appliqué le code de H2so4 qui fonctionne.
Merci néanmoins de ta réponse rapide !
Cordialement