addition avec conditions

  • Initiateur de la discussion Initiateur de la discussion voldemort
  • 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 !

V

voldemort

Guest
bonjour à tous, bonjour le Forum,

je souhaiterais additionner dans la cellule "C34" de la feuille2 le total des absences portées dans les colonnes "E" et "G" à conditions que la fonction portée dans la colonne "C" soit IDE.

La même chose avec la case" C36" mais pour la fonction "ASC"

je vois bien une formule sommeprod ou quelque chose comme cela, mais j'avoue que j'ai quelques difficultés....

D'avance merci pour votre aide pour résoudre mon problème, et pour le temps que vous me consacrez.

A vous lire.
Cordialement,
 

Pièces jointes

Re : addition avec conditions

Bonjour

Une solution avec une macro évènementielle

Code:
Option Explicit
Dim flag As Boolean
Private Sub Worksheet_Change(ByVal Target As Range)
Dim data1 As String, colonne1a As String
Dim cellule As Range
Dim dl1 As Long ' dernière ligne
Dim val1 As Currency, val2 As Currency
If flag = True Then Exit Sub
If Target.Count > 1 Then Exit Sub

With Sheets(Target.Worksheet.Name)
'colonne1a = "h"
'dl1 = .Range(colonne1a & "65536").End(xlUp).Row
If Not Intersect(Target, Range("c5:g31")) Is Nothing Then
flag = True
    val1 = 0
    val2 = 0
    For Each cellule In .Range("c4:c31")
        If cellule = "IDE" Then val1 = val1 + .Range("h" & cellule.Row)
        If cellule = "ASC" Then val2 = val2 + .Range("h" & cellule.Row)
    Next cellule
    .Range("c34") = val1
    .Range("c36") = val2
End If
If Not Intersect(Target, Range("d40:d68")) Is Nothing Then
flag = True
    val1 = 0
    val2 = 0
    For Each cellule In .Range("c40:c68")
        If cellule = "IDE" Then val1 = val1 + .Cells(cellule.Row, Target.Column)
        If cellule = "ASC" Then val2 = val2 + .Cells(cellule.Row, Target.Column)
    Next cellule
    .Range("c71") = val1
    .Range("c75") = val2
End If


flag = False
End With

End Sub


A tester

JP
 
Re : addition avec conditions

Une fois de plus je vous remercies pour votre aide et pour vos idées.J'ai adopté la solutin de la formule matricielle. Je comprends mieux la fonction sommeprod, qui m'avait laissé perplexe. Merci pour le temps que vous avez passé à la résolution de mon problème.
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
11
Affichages
2 K
N
Réponses
4
Affichages
865
nicoph3
N
X
Réponses
5
Affichages
1 K
Xavlh76
X
A
Réponses
12
Affichages
2 K
AnjyD
A
M
Réponses
5
Affichages
1 K
M
Z
Réponses
3
Affichages
1 K
Z
Réponses
2
Affichages
1 K
Retour