Autres Somme selon la couleur de caractère

Dimitry

XLDnaute Nouveau
Bonjour,

Je souhaiterais trouver une formule qui tient compte de la couleur de caractère du nombre
J'ai trouvé comment tenir compte d'un texte avec par exemple SI(ESTNUM(CHERCHE("mot" etc.. mais je ne trouve pas avec une couleur de caractère.
J'ai mis un exemple en pièce jointe.

Peut être allez vous me proposer d'utiliser un fonction "sous total" ou de grouper les lignes, le problème c'est que lorsque j'insère ou supprime des lignes les formules ne suivent pas et ça me met "la pagaille". Avec des couleurs rouge, il sera clair de voir ce qui est comptabilisé et ce qu'il ne l'est pas.

Merci d'avance l'équipe!

Excel 2007
 

Pièces jointes

  • exemple.xlsx
    12 KB · Affichages: 7

chris

XLDnaute Barbatruc
Bonjour

Il y a un problème à la base : tu inscris une page à l'intérieur d'un tableau structuré : cela n'a pas de sens et va poser problème.

Un tableau ne sert pas à colorer les lignes : il a un comportement particulier qu'il faut ou accepter et utiliser, ou bien il faut renoncer à utiliser le tableau.

La couleur n'est pas gérable sans passer par du VBA
 

Wayki

XLDnaute Impliqué
Bonjour,
en formules je sais pas mais en VBA c'est assez simple, voyez ci-joint.
Elle tient compte de l'endroit de la cellule active, donc si dans le secteur de sous total 1, compter 4, sous total 2 comptera 3 etc
A +
 

Pièces jointes

  • exemple.xlsm
    21.4 KB · Affichages: 8

Dimitry

XLDnaute Nouveau
Bonjour,
en formules je sais pas mais en VBA c'est assez simple, voyez ci-joint.
Elle tient compte de l'endroit de la cellule active, donc si dans le secteur de sous total 1, compter 4, sous total 2 comptera 3 etc
A +
En fait je souhaite que le total tiennent compte seulement des nombres inscrit en noir,
Dans mon exemple le résultat attendu est = 1803
Hors ta macro, si je ne me trompe pas, "compte nombre de cellule rouge"

@chris : tu parles de l'affichage qui est en "mise en page " au lieu de "normal"? Parce que ça en me dérange pas d'être en "normal"
 

Etoto

XLDnaute Barbatruc
Bonjour,

Fonction trouvée sur ce site :


VB:
Public Function cumul_couleur(plage As Range, col As Range)
Dim elm As Object
Application.Volatile
cumul_couleur = 0
For Each elm In plage
    If elm.Font.ColorIndex = col.Font.ColorIndex Then
        cumul_couleur = cumul_couleur + elm.Value
    End If
Next elm
End Function

Arguments :

cumul_couleur(plage à cumuler, cellule avec la couleur à cumuler)
 

Dimitry

XLDnaute Nouveau
Bonjour,

Fonction trouvée sur ce site :


VB:
Public Function cumul_couleur(plage As Range, col As Range)
Dim elm As Object
Application.Volatile
cumul_couleur = 0
For Each elm In plage
    If elm.Font.ColorIndex = col.Font.ColorIndex Then
        cumul_couleur = cumul_couleur + elm.Value
    End If
Next elm
End Function

Arguments :

cumul_couleur(plage à cumuler, cellule avec la couleur à cumuler)
Merci Etoto,

Ta solution a l'air très intéressante,
Hors la formule ne fonctionne pas dans certains cas.
Regarde par exemple sur le fichier ci-joint, si une cellule contient une formule mais qu'elle renvoi à "vide", cela indique une erreur. Alors que dans ton premier fichier ce n'était pas le cas...?
 

Pièces jointes

  • exemple 3.xlsm
    17.1 KB · Affichages: 5

Etoto

XLDnaute Barbatruc
Merci Etoto,

Ta solution a l'air très intéressante,
Hors la formule ne fonctionne pas dans certains cas.
Regarde par exemple sur le fichier ci-joint, si une cellule contient une formule mais qu'elle renvoi à "vide", cela indique une erreur. Alors que dans ton premier fichier ce n'était pas le cas...?
Surement parce que plusieurs de tes lignes se chevauchent et je ne sais pas comment cela se fait.
 

Dimitry

XLDnaute Nouveau
Je ne vois pas de lignes qui se chevauchent.
Je comprend pas pourquoi ça marche dans le premier fichier et pas le second..

@chris : Je superpose une plage dans un tableau structuré oui, mais je suis bien obligé d'utilisé une plage ne serait-ce que pour faire une somme.
Il y a un autre moyen avec des tableaux?
 

Etoto

XLDnaute Barbatruc
Je ne vois pas de lignes qui se chevauchent.
Je comprend pas pourquoi ça marche dans le premier fichier et pas le second..

@chris : Je superpose une plage dans un tableau structuré oui, mais je suis bien obligé d'utilisé une plage ne serait-ce que pour faire une somme.
Il y a un autre moyen avec des tableaux?
J'ai placés des 0 dans les cellules vides et j'ai appliqué ce format spécialisé :
VB:
0;-0; " "
Ce format cache les 0. Pour que la formule fonctionne, place des 0 dans les trous.
 

chris

XLDnaute Barbatruc
Bonjour
@chris : Je superpose une plage dans un tableau structuré oui, mais je suis bien obligé d'utilisé une plage ne serait-ce que pour faire une somme.
Il y a un autre moyen avec des tableaux?
Si tu utilises un tableau structuré tu dois en respecter l'usage : là tu mélanges tout et tu risques des problèmes inutiles

1635495565437.png


Le bon usage est dans le classeur ci-joint. Tu ne dois pas avoir de lignes vides mais tu peux déplacer le tableau (l'ensemble du tableau) plus bas ou ailleurs...
 

Pièces jointes

  • TableauUsage.xlsm
    18.9 KB · Affichages: 5
Dernière édition:

Dimitry

XLDnaute Nouveau
Bonjour

Si tu utilises un tableau structuré tu dois en respecter l'usage : là tu mélanges tout et tu risques des problèmes inutiles

Regarde la pièce jointe 1119802

Le bon usage est dans le classeur ci-joint. Tu ne dois pas avoir de lignes vides mais tu peux déplacer le tableau (l'ensemble du tableau) plus bas ou ailleurs...
Le fichier envoyé était à titre d'exemple, mais dans les faits, je le présente tel que tu me le décris,

Merci à vous deux et bon week end!
 

Discussions similaires

Statistiques des forums

Discussions
312 198
Messages
2 086 134
Membres
103 129
dernier inscrit
Atruc81500