SOMME_SI_COULEUR par plage de dates

Bonjour,

J'aimerais réussir à effectuer la formule =SOMME_SI_COULEUR sur un tableur afférent à un budget familial par mois

Actuellement j'ai =SOMME_SI_COULEUR($E$2:$E$358;10855845)

A laquelle je souhaite ajouter du 01 au 31/01/2022 par exemple

Merci

PS : en E se trouve mes couleurs et en N mon mois de 01/2022

Bonjour Newg93

On peut le faire avec une fonction personnalisée

A+

Bonjour,

Un grand merci à vous d'avoir pris le temps de me répondre et de plancher sur mon souci.

Je teste rapidement et revbiens vers vous

Belle journée

re Bonjour,

J'ai testé et hélas je rencontre l'erreur suivante #NOM?

Auriez-vous une idée ?

Merci beaucoup d'avance

Re,

Avez-vous bien copié la fonction personnalisée du classeur donné dans le votre !?

A+

Tout à fait, copier puis coller formule

Re,

#Nom? veut dire qu'Excel ne reconnait pas la fonction

Peut-on avoir le fichier ou des copies d'écran SVP

A+

4classeur1.xlsx (13.67 Ko)

Re,

Fichier ".xlsx" non mais sérieux

Comment voulez-vous avoir la fonction personnalisée dedans !?

A+

Le boulet que je fais, navré

Concrètement, comment puis-je faire svp ?

Merci d'avance

Re,

Concrètement :

1) vous enregistrez votre fichier sous le format ".xlsm"

2) vous allez dans l'éditeur VBA (ALT+F11) et dans le fichier vous insérer un module

image

Et vous y collez le code que je vous avais donné précédemment

Function SommeSiSpé(RngDate As Range, RngMt As Range, CritCoul As Range, CritDate As Range)
  Dim Cel As Range, Total As Double, FinMois As Date
  Application.Volatile  ' Exécuter la fonction à tout moment
  FinMois = Application.WorksheetFunction.EoMonth(CritDate, 0)
  If RngDate.Rows.Count <> RngMt.Rows.Count Then
    MsgBox "La plage de date doit être égale à celle des montants", vbCritical, "OUPS..."
    Exit Function
  End If
  ' Faire le total
  Total = 0
  ' Pour chaque cellule de la plage de date
  For Each Cel In RngDate
    ' Vérifier si la date est ok
    If Cel >= CritDate And Cel <= FinMois Then
      ' Vérifier si la couleur du montant est ok
      If RngMt.Cells(Cel.Row - 1, 1).Interior.Color = CritCoul.Interior.Color Then
        ' Faire le total
        Total = Total + RngMt.Cells(Cel.Row - 1, 1)
      End If
    End If
  Next Cel
  ' Retourner la valeur
  SommeSiSpé = Total
End Function

Ensuite seulement vous pourrez utiliser la formule

Est-ce plus clair

A+

Là c'est clair et top

Merci merci merci d'avoir pris le temps de m'aider

Belle soirée

De rien

Mais n'hésitez pas à rappeler que vous êtes débutant en VBA, ça évitera les malentendus

Vous pouvez même l'indiquer dans votre signature
https://www.excel-pratique.com/fr/compte/forum-signature

Belle soirée à vous

Merci

Rechercher des sujets similaires à "somme couleur plage dates"