Somme suivant 2 conditions

Bonsoir,

J'ai actuellement une colonne, constitué de plusieurs lignes. Ensuite, en dernière ligne, dans une cellule le total qui comptabilise les chiffres contenus dans la colonne (donc les cellules du dessus). Pour résumer et pour exemple, j'ai une colonne qui fait de A4:A20 et en A21 le total.

J'ai besoin de comptabiliser les chiffres MAIS uniquement ceux contenus dans une cellule non colorisée (pas de fond). Les cellules colorées (elles seront grisées dans mon projet) ne doivent pas êtres comptabilisés même s'il y a un chiffre dedans.

Auriez-vous une idée du code ?

Je vous remercie d'avance pour votre aide.

Bonjour Elsydeons et

Une petite présentation ICI serait la bienvenue

Il y a un pack de fonctions qu'a développé Sébastien l'administrateur du site

https://www.excel-pratique.com/fr/fonctions-complementaires/

@+

Bonsoir,

Merci pour la réponse.

Je suis tombé sur des pack "somme_si_...." en rapport aux couleurs. C'est déjà un début mais je ne sais pas comment incorporer le facteur "chiffre" qui est l'une des conditions.

ps: j'ai peut-être été trop vite, je crois avoir trouvé quelque chose.

J'ai trouvé un lien dans ce que tu m'as donné mais je ne vois pas vraiment quoi en faire. Je crois comprendre que cela demande une "installation". C'est donc un fichier uniquement utilisable sur le pc en question alors ? Mon tableau ne fonctionnera pas sur un autre pc ?

Merci pour l'aide

Bonjour Elsydeons,

Il s'agit d'un pack de fonction à installer effectivement sur chaque poste ou sur un dossier commun sur un serveur

On peut éventuellement te faire une fonction, mais il nous faudrait ton fichier anonymisé STP

@+

6essai.xlsx (13.41 Ko)

Bonsoir

En pièce jointe j'ai placé un fichier qui reprend l'idée du tableau original mais épuré au max. Ce dernier est bien plus grand et complexe mais c'est pour présenter la forme de base du tableau pour en comprendre l'idée.

Dans l'exemple: un total en bas de tableau qui reprend uniquement la somme des chiffres sans fond, les grisés sont donc décomptés. Autre particularité que j'ai reproduit est que les colonnes sont entre-coupés parfois, elles ne vont pas d'une traite jusqu'au total. Ne me demandait pas pourquoi et l'utilité réel du tableau, je n'en sais pas plus lol. En espérant que le fichier soit plus parlant.

Je vous remercie d'avance pour votre aide.

Bonjour Elsydeons,

Voici le fichier avec fonction intégrée

ATTENTION !
Une fonction personnalisée est toujours plus longue dans les calculs

@+

Bonjour,

Désolé pour le retard.

Le fichier semble fonctionner mais j'ai un peu de mal à comprendre comment le total se met à jour. En colorisant une cellule en gris (le bon gris pourtant) cette dernière reste comptabilisée dans le total. Ou même si j'enlève la couleur grise, le chiffre reste décompté.

C'est peut-être moi qui omet quelque chose.

Je te remercie pour ton aide.

Bonjour,

Je vous ai donné la possibilité de choisir la couleur à décompter

Function SommeSansCouleur(RngCel As Range, CelCouleur As Range)
  Dim Cel As Range
  Dim Total As Single
  Application.Volatile
  Total = 0
  For Each Cel In RngCel
    If Cel.Interior.Color <> CelCouleur.Interior.Color Then
      If IsNumeric(Cel) Then Total = Total + Cel.Value
    End If
  Next Cel
  ' Renvoyer le total
  SommeSansCouleur = Total
End Function

Donc l'utilisation de fonction se fait avec

=SommeSansCouleur(C2:C16;$A17)

C2:C16 = Plage à traiter pour le total

A17 = Couleur de cellule à décompter

J'espère que ce sera plus explicite cette fois

@+

Merci pour la précision mais pourquoi le total ne se met pas à jour au fil des modifications ? Il y a une méthode pour actualiser le total ?

Re,

Normalement cela devrait ce mettre à jour systématiquement, c'est à ça que sert

 Application.Volatile

Mais attention !
Cela n'est pas le cas pour un changement de couleur, car Excel n'a rien à recalculé dans ce cas là

Est-il possible d'avoir le fichier sans données personnelles

@+

Bonjour,

Voici le fichier en question, j'ai enlevé les noms simplement.

Le code doit se faire dans la feuille "étage" uniquement. On y voit à plusieurs reprises une ligne verte qui est le total de la colonne.

Pour le moment il s'agit d'une bête formule Somme mais qui tient forcement compte des cellules grisées.

Un grand merci d'avance

Bonjour Elsydeons

Le fichier donné ne contient pas ma fonction, extension ".xlsx" au lieu d'être ".xlsm"

de plus comme tu as plusieurs nuances de gris apparemment, j'ai modifié la fonction

Function SommeSansGris(RngCel As Range)
  Dim CodeGris As String
  Dim Cel As Range
  Dim Total As Single
  Application.Volatile
  ' Code Interior.color des gris
  CodeGris = "15921906,14277081,12566463,10921638,8421504"
  ' Initialiser le Total à 0
  Total = 0
  ' Pour chaque cellules de la palge données
  For Each Cel In RngCel
    ' Si la cellule n'est pas une nuance de gris
    If InStr(1, CodeGris, Cel.Interior.Color) = 0 Then
      ' on ajoute la valeur au total
      If IsNumeric(Cel) Then Total = Total + Cel.Value
    End If
  Next Cel
  ' Renvoyer le total
  SommeSansGris = Total
End Function

Voici le fichier avec la fonction qui va bien et j'ai également changé la formule du total général

@+

Cela fonctionne impec. !

Un tout grand merci pour ta patience et ton aide.

Rechercher des sujets similaires à "somme suivant conditions"