comptage cellules avec "option verification erreurs" (cochée vertes)

  • Initiateur de la discussion Initiateur de la discussion rafi93
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

rafi93

XLDnaute Occasionnel
bonjour à tous

je souhaite afficher en haut de colonne si des cellules sont cochées "vert" à cause d'une erreur détectée (j'ai une liste de validation sur cette colonne);
existe t il une formule qui pourrait compter ces cellules ?
je n'ai rien trouvé sur le forum

merci !
 
Re : comptage cellules avec "option verification erreurs" (cochée vertes)

Bonjour,

Essayez
Code:
Sub aa()
Dim R As Range
Set R = ActiveSheet.Cells.SpecialCells(xlCellTypeFormulas, xlErrors)
MsgBox "Nombre = " & R.Cells.Count ' & "   " & R.Address
End Sub
 
Re : comptage cellules avec "option verification erreurs" (cochée vertes)

merci PMO2

le code me donne "zero" sur le fichier exemple ci joint, alors qu'il y a bien des cellules "erronées", càd le tableau "valeurs" contient des valeurs qui ne sont pas dans le tableau "liste".

pourquoi ?
 

Pièces jointes

Re : comptage cellules avec "option verification erreurs" (cochée vertes)

Bonjour,

essaye ceci :
Code:
Option Explicit
Sub test()
Dim c As Range, x
For Each c In Range("C6:C11")
    If c.Errors.Item(8).Value Then x = x + 1
Next c
MsgBox x
End Sub

bon après midi
@+
 
Re : comptage cellules avec "option verification erreurs" (cochée vertes)

merci fourezizou

cette solution fonctionne bien, mais mon souci c'est que j'ai un tableau déjà structuré, 3000 lignes x 40 colonnes, et plusieurs de ces colonnes avec des controles de validité de ce type.
Rajouter des colonnes de controles et aller rechercher les listes de controles me compliquerait pas mal le système.

y aurait il une alternative en comptant "simplement" le nombre de cellules non conformes, comme PMO2 le suggérait (mais qui donne systematiquement zero chez moi) ?
 
Re : comptage cellules avec "option verification erreurs" (cochée vertes)

merci Pierrot !

c'est exactement ça, ça marche

question complémentaire (je suis débutant en VB), est il possible de faire que ce résultat se calcule "automatiquement" (càd comme une fonction) dans une cellule en tête de la colonne à controler ?
p.ex dans le fichier test3.xls, afficher le résultat dans la cellule C4
 
Re : comptage cellules avec "option verification erreurs" (cochée vertes)

merci
mais je crois que je me suis mal expliqué :
je voudrais (à l'inverse d'une certaine manière) écrire un appel de cette fonction dans C4 (comme si j'y écrivais une formule), et que ça m'y inscrive le résultat
un comme comme si j'écrivais =SOMME(...)
donc sans passer par un bouton macro
je ne sais pas si c'est possible...
 
Re : comptage cellules avec "option verification erreurs" (cochée vertes)

Au temps pour moi, j'ai mal lu l'énoncé.
Essayez plutôt ce code
Code:
Sub aa()
Dim R As Range
Dim C As Range
Dim R2 As Range
Dim cpt&
'--- Cellules contenant une validation ---
On Error Resume Next
Set R = ActiveSheet.Cells.SpecialCells(xlCellTypeAllValidation)
If R Is Nothing Then Exit Sub
On Error GoTo 0
'--- Cellules contenant une validation non avérée ---
For Each C In R
  With C.Validation
    If Not .Value Then
      cpt& = cpt& + 1
      If R2 Is Nothing Then
        Set R2 = C
      Else
        Set R2 = Application.Union(R2, C)
      End If
    End If
  End With
Next C
'--- Affichage du résutat ---
If cpt& > 0 Then
  MsgBox "Nombre de cellules contenant une validation non avérée = " & cpt&
  R2.Select
  MsgBox R2.Address(False, False)
End If
End Sub
 

Pièces jointes

Re : comptage cellules avec "option verification erreurs" (cochée vertes)

merci PMO2

ça fonctionne aussi bien que la solution de Pierrot, mais c'est bcp plus rapide !
sur mon "gros" tableau celle de Pierrot met environ 30 secondes, alors que la tienne est quasi instantanée;
1329 avérées pour un tableau de 3000x40
pourquoi dans la mesure où les 2 solutions passent d'une cellule à l'autre ?

maintenant, est ce que je peux utiliser ce code VB comme une formule que je mettrais dans une cellule ?
 
Re : comptage cellules avec "option verification erreurs" (cochée vertes)

maintenant, est ce que je peux utiliser ce code VB comme une formule que je mettrais dans une cellule ?
Il faut fabriquer une fonction personnalisée.

1) copiez le code suivant dans un module Standard
Code:
Function NB_ERREUR_VALIDATION(Plage As Range) As Long
Dim C As Range
Dim cpt&
'---
For Each C In Plage
  With C.Validation
    If Not .Value Then
      cpt& = cpt& + 1
    End If
  End With
Next C
'---
NB_ERREUR_VALIDATION = cpt&
End Function

2) Dans une celulle ("G5" par exemple) tapez la formule =NB_ERREUR_VALIDATION(A1:E34) (où A1:E34 est la plage concernée)
 

Pièces jointes

Re : comptage cellules avec "option verification erreurs" (cochée vertes)

j'essaie de modifier le code pour compter les cellules avec "tout type d'erreur", càd pas seulement "validation"

j'ai modifié ainsi :

Set R = ActiveSheet.Cells.SpecialCells(xlCellTypeAllFormatConditions)

mais je ne comprends pas la ligne

With C.Validation

d'où sort le "validation" ?
comment modifier ?

merci encore !
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
12
Affichages
1 K
M
Réponses
6
Affichages
2 K
Maryloo2005
M
K
Réponses
19
Affichages
5 K
K
Retour