> Tous les forums > Forum Bureautique
 compter lignes d'un tableau dont toutes les cellules sont en couleurSujet résolu
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
Boogie Palace
  Posté le 17/06/2015 @ 12:28 
Aller en bas de la page 
Petit astucien

bonjour le forum,

sur la plage [A1:C12], j'ai besoin de compter (en utilisant une formule) les lignes dont les trois cellules sont rouges (je vous épargne le comptage, il y en a 3).




j'ai d'abord écrit cette fonction perso qui détermine si une cellule est rouge :

Function EST_ROUGE(CELL As Range)
__Application.Volatile True
__EST_ROUGE = IIf(CELL.Interior.Color = vbRed, True, False)
End Function

EST_ROUGE(A1) a pour résultat VRAI.
maintenant, pour compter les lignes entièrement rouge, j'ai utilisé SOMMEPROD ainsi :

=SOMMEPROD((EST_ROUGE(A1:A12)=VRAI)*(EST_ROUGE(B1:B12)=VRAI)*(EST_ROUGE(C1:C12)=VRAI))

mais le résultat est zéro.
aidez-moi svp.

(suis sur XL 2010)

edit : je précise que le rouge n'est PAS issu d'une MFC, mais d'une application de couleur tout à fait classique.



Modifié par Boogie Palace le 17/06/2015 12:49
Publicité
ferrand
 Posté le 17/06/2015 à 13:56 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Salut Boogie,

Il semble en effet que sous cette forme elle soit réfractaire à une utilisation matricielle !

Essaie cette version :

Function EST_ROUGE(CELL As Range)
Dim i%, n%, k%, temp()
Application.Volatile
With CELL
n = .Rows.Count - 1
k = .Columns.Count
ReDim temp(n)
For i = 0 To n
temp(i) = IIf(Range(.Cells(i + 1, 1), .Cells(i + 1, k)).Interior.Color = vbRed, 1, 0)
Next i
End With
EST_ROUGE = temp
End Function

Et la formule : =SOMMEPROD(EST_ROUGE(A1:C12)) devrait te donner 3 dans ton exemple.

La fonction renvoie une matrice (et teste par ligne de la plage fournie en argument [tant qu'à faire ça permettait de simplifier la formule] en renvoyant 1 si la ligne est rouge).

Attention : l'instruction Volatile lance le recalcul mais en cas de changement de valeur qui le provoque, un changement de couleur ne le provoque pas. Le cas échéant il faudra donc forcer le recalcul manuellement, ou si tu le juge nécessaire, par une évènementielle sur Selection_Change sur la plage impliquée (ou méthode semblable).

Boogie Palace
 Posté le 17/06/2015 à 15:28 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

merci ferrand pour ta rapidité et l'efficacité de ta solution, comme toujours.
je suis encore en train de décortiquer ton script pour bien en comprendre la logique.

je me permets de te solliciter à nouveau en modifiant le contexte de départ : et si les trois colonnes n'étaient pas contigües ? (ce qui correspond plus à mon besoin ; désolé, je n'avais pas imaginé que cette différence serait importante), comme ceci :



il s'agit de compter les lignes avec les colonnes A, C, E en rouge (les 3 à la fois bien sûr).

ferrand
 Posté le 17/06/2015 à 15:48 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Ah ! changement de présentation ! Pas mal mais manque des traits pour séparer les posts !

Pas de changement pour la fonction. Mais pour la formule tu reviens à :

=SOMMEPROD(EST_ROUGE(A1:A12)*EST_ROUGE(C1:C12)*EST_ROUGE(E1:E12))

[ou : =SOMMEPROD(EST_ROUGE(A1:A12);EST_ROUGE(C1:C12);EST_ROUGE(E1:E12)) , équivalent]

Boogie Palace
 Posté le 17/06/2015 à 16:02 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

impeccable.

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour participer à la discussion.
Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !
Recevoir PC Astuces par e-mail


La Lettre quotidienne +226 000 inscrits
Avec l'actu, des logiciels, des applis, des astuces, des bons plans, ...

Les bonnes affaires
Une fois par semaine, un récap des meilleurs offres.

Les fonds d'écran
De jolies photos pour personnaliser votre bureau. Une fois par semaine.

Les nouveaux Bons Plans
Des notifications pour ne pas rater les bons plans publiés sur le site.

Les bons plans du moment PC Astuces

Tous les Bons Plans
183,93 €Imprimante 3D Creality Ender 3 v2 à 183,93 € (stock Europe) avec le code NNNGKBCR2
Valable jusqu'au 18 Mai

GeekBuying fait une belle promotion sur l'imprimante 3D Creality Ender 3 v2 à 183,93 € avec le code NNNGKBCR2 On la trouve ailleurs autour de 220 €. L'imprimante est expédiée depuis un stock Europe (en Pologne). Elle sera donc rapide et vous êtes sûr de ne pas avoir de douane. 

La Creality Ender 3 v2 est l'une des machines les plus populaires actuellement sur le marché. Et pour cause. Elle dispose d'un volume d’impression de 220 x 220 x 250 mm, est équipée d'un plateau chauffant inspiré du BuildTak, d'un nouvel écran LCD 4.3 pouces et offre des fonctionnalités pratiques comme la reprise de l'impression après une coupure de courant ou le conduit pour le filament étroit. L'imprimante 3D est facile à assembler et le calibrage est aisé grâce aux gros boutons. 


> Voir l'offre
259,00 €PC Ankermann (Intel Pentium Dual Core, 8Go RAM, SSD 480Go, Win 10 Pro + Office 365) à 259 € livré
Valable jusqu'au 20 Mai

Amazon fait une promotion sur l'ordinateur de bureau Ankermann Silent PC Work à 259 € livré. Le PC est équipé d'un processeur Intel Pentium dual core à 2.7 GHz, de 8 Go de RAM, d'un SSD de 480 Go, d'un disque dur de 500 Go, d'un lecteur DVD, d'un lecteur de carte mémoires et tourne sous Windows 10 Pro 64 bits FR. Un abonnement d'un an à Microsoft Office 365 est également fourni.

Ajoutez un écran et un pack clavier souris et vous avez un PC complet à l'aise en bureautique et Internet. Garantie 2 ans.


> Voir l'offre
333,00 €Tablette 11 pouces Xiaomi Mi Pad 5 (120 Hz, Snapdragon 860, 6Go/128 Go, Android 11) à 333 €
Valable jusqu'au 19 Mai

Amazon propose actuellement l'excellente tablette 11 pouces Xiaomi Mi Pad 5 à 333 € au lieu de 399,99 €. Cette superbe tablette possède un écran 11 pouces IPS WQHD+ (2560x1600 pixels) 120 Hz, un processeur Snapdragon 860 à 8 coeurs, 6 Go de RAM, 128 Go de stockage et tourne sous Android 11. Elle est compatible avec les stylets Xiaomi Smart Pen. 


> Voir l'offre

Sujets relatifs
selection plage cellules dont nombre lignes variab
compter cellules de même couleur
Faire un tableau sur Excel avec des sauts de lignes
Supprimer lignes d'un Tableau à l'impression
macro afficher masquer lignes tableau dans word 2010
EXCEL 2007 : les textes des cellules sont surlignés
Imprimer ses enveloppes oui, mais toutes les lignes !
macro pour trier un tableau et effacer les lignes sans saisie
Imprimer toutes les colonnes d'un tableau
Excels 2010 Figer 3 premières lignes d'un tableau SVP.
Plus de sujets relatifs à compter lignes d''un tableau dont toutes les cellules sont en couleur
 > Tous les forums > Forum Bureautique