J'aimerais calculer une somme en fonction d'une date en plus d'une
cat=E9gorie, et selon la date choisie avec toutes cat=E9gories confondues,
mais sans succ=E8s.
Et puis il y'a que La liste de validation de date contient des
doublons et elle n'est pas tri=E9e.
Bonsoir. 1. Définir trois plages : BL = A4:A19 BT = A23:A51 EF = A55:A58 Utiliser la formule : =SI(H8="BL";SOMMEPROD((BL=G8)*DECALER(BL;0;1));SI(H8="BT";SOMMEPROD((BT=G8)*DECALER(BT;0;1));SOMMEPROD((EF=G8)*DECALER(EF;0;1)))) Il faudra une macro pour éliminer les dates en double. Cordialement. Daniel
Bonjour à tous,
J'aimerais calculer une somme en fonction d'une date en plus d'une catégorie, et selon la date choisie avec toutes catégories confondues, mais sans succès.
Et puis il y'a que La liste de validation de date contient des doublons et elle n'est pas triée.
Merci.
http://cjoint.com/?kBxPLMYz5G
Bonsoir.
1. Définir trois plages :
BL = A4:A19
BT = A23:A51
EF = A55:A58
Utiliser la formule :
=SI(H8="BL";SOMMEPROD((BL=G8)*DECALER(BL;0;1));SI(H8="BT";SOMMEPROD((BT=G8)*DECALER(BT;0;1));SOMMEPROD((EF=G8)*DECALER(EF;0;1))))
Il faudra une macro pour éliminer les dates en double.
Cordialement.
Daniel
Bonjour à tous,
J'aimerais calculer une somme en fonction d'une date en plus d'une
catégorie, et selon la date choisie avec toutes catégories confondues,
mais sans succès.
Et puis il y'a que La liste de validation de date contient des
doublons et elle n'est pas triée.
Bonsoir. 1. Définir trois plages : BL = A4:A19 BT = A23:A51 EF = A55:A58 Utiliser la formule : =SI(H8="BL";SOMMEPROD((BL=G8)*DECALER(BL;0;1));SI(H8="BT";SOMMEPROD((BT=G8)*DECALER(BT;0;1));SOMMEPROD((EF=G8)*DECALER(EF;0;1)))) Il faudra une macro pour éliminer les dates en double. Cordialement. Daniel
Bonjour à tous,
J'aimerais calculer une somme en fonction d'une date en plus d'une catégorie, et selon la date choisie avec toutes catégories confondues, mais sans succès.
Et puis il y'a que La liste de validation de date contient des doublons et elle n'est pas triée.
Merci.
http://cjoint.com/?kBxPLMYz5G
Apitos
Bonjour Daniel,
Les tableaux affichés sont le résultat d'un filtre élaboré et il sont triés.
Alors je ne peux pas définir des plages fixes pour chaque catégorie.
Et puis les catégories peuvent aller d'une à plusieurs ...
"Daniel.C" a écrit :
Bonsoir. 1. Définir trois plages : BL = A4:A19 BT = A23:A51 EF = A55:A58 Utiliser la formule : =SI(H8="BL";SOMMEPROD((BL=G8)*DECALER(BL;0;1));SI(H8="BT";SOMMEPROD((BT=G8)*DECALER(BT;0;1));SOMMEPROD((EF=G8)*DECALER(EF;0;1)))) Il faudra une macro pour éliminer les dates en double. Cordialement. Daniel
Bonjour Daniel,
Les tableaux affichés sont le résultat d'un filtre élaboré et il sont triés.
Alors je ne peux pas définir des plages fixes pour chaque catégorie.
Et puis les catégories peuvent aller d'une à plusieurs ...
"Daniel.C" a écrit :
Bonsoir.
1. Définir trois plages :
BL = A4:A19
BT = A23:A51
EF = A55:A58
Utiliser la formule :
=SI(H8="BL";SOMMEPROD((BL=G8)*DECALER(BL;0;1));SI(H8="BT";SOMMEPROD((BT=G8)*DECALER(BT;0;1));SOMMEPROD((EF=G8)*DECALER(EF;0;1))))
Il faudra une macro pour éliminer les dates en double.
Cordialement.
Daniel
Les tableaux affichés sont le résultat d'un filtre élaboré et il sont triés.
Alors je ne peux pas définir des plages fixes pour chaque catégorie.
Et puis les catégories peuvent aller d'une à plusieurs ...
"Daniel.C" a écrit :
Bonsoir. 1. Définir trois plages : BL = A4:A19 BT = A23:A51 EF = A55:A58 Utiliser la formule : =SI(H8="BL";SOMMEPROD((BL=G8)*DECALER(BL;0;1));SI(H8="BT";SOMMEPROD((BT=G8)*DECALER(BT;0;1));SOMMEPROD((EF=G8)*DECALER(EF;0;1)))) Il faudra une macro pour éliminer les dates en double. Cordialement. Daniel
Daniel.C
Bonjour. Il faut alors mettre la catégorie dans une colonne cachée en regard de chaque ligne. D'autre part, comment peux-tu sélectionner plusieurs catégories avec une liste de validation ? Daniel
Bonjour Daniel,
Les tableaux affichés sont le résultat d'un filtre élaboré et il sont triés.
Alors je ne peux pas définir des plages fixes pour chaque catégorie.
Et puis les catégories peuvent aller d'une à plusieurs ...
"Daniel.C" a écrit :
Bonsoir. 1. Définir trois plages : BL = A4:A19 BT = A23:A51 EF = A55:A58 Utiliser la formule : =SI(H8="BL";SOMMEPROD((BL=G8)*DECALER(BL;0;1));SI(H8="BT";SOMMEPROD((BT=G8)*DECALER(BT;0;1));SOMMEPROD((EF=G8)*DECALER(EF;0;1)))) Il faudra une macro pour éliminer les dates en double. Cordialement. Daniel
Bonjour.
Il faut alors mettre la catégorie dans une colonne cachée en regard de
chaque ligne. D'autre part, comment peux-tu sélectionner plusieurs
catégories avec une liste de validation ?
Daniel
Bonjour Daniel,
Les tableaux affichés sont le résultat d'un filtre élaboré et il sont triés.
Alors je ne peux pas définir des plages fixes pour chaque catégorie.
Et puis les catégories peuvent aller d'une à plusieurs ...
"Daniel.C" a écrit :
Bonsoir.
1. Définir trois plages :
BL = A4:A19
BT = A23:A51
EF = A55:A58
Utiliser la formule :
=SI(H8="BL";SOMMEPROD((BL=G8)*DECALER(BL;0;1));SI(H8="BT";SOMMEPROD((BT=G8)*DECALER(BT;0;1));SOMMEPROD((EF=G8)*DECALER(EF;0;1))))
Il faudra une macro pour éliminer les dates en double.
Cordialement.
Daniel
Bonjour. Il faut alors mettre la catégorie dans une colonne cachée en regard de chaque ligne. D'autre part, comment peux-tu sélectionner plusieurs catégories avec une liste de validation ? Daniel
Bonjour Daniel,
Les tableaux affichés sont le résultat d'un filtre élaboré et il sont triés.
Alors je ne peux pas définir des plages fixes pour chaque catégorie.
Et puis les catégories peuvent aller d'une à plusieurs ...
"Daniel.C" a écrit :
Bonsoir. 1. Définir trois plages : BL = A4:A19 BT = A23:A51 EF = A55:A58 Utiliser la formule : =SI(H8="BL";SOMMEPROD((BL=G8)*DECALER(BL;0;1));SI(H8="BT";SOMMEPROD((BT=G8)*DECALER(BT;0;1));SOMMEPROD((EF=G8)*DECALER(EF;0;1)))) Il faudra une macro pour éliminer les dates en double. Cordialement. Daniel
Apitos
Daniel,
Pour les listes de validation ce n'est qu'une tentative de résoudre ce probleme.
Si VBA à une solution, je serais preneur !
Merci d'avance.
Daniel,
Pour les listes de validation ce n'est qu'une tentative de résoudre ce
probleme.
Pour les listes de validation ce n'est qu'une tentative de résoudre ce probleme.
Si VBA à une solution, je serais preneur !
Merci d'avance.
Sam
Bonjour, artisanalement ça donne ceci =SI(H8¢;SOMMEPROD((A4:A19=G8)*(B4:B19));SI(H8¢1;SOMMEPROD((A23:A51=G8)*(B23:B51));SI(H8¥3;SOMMEPROD((A55:A58=G8)*(B55:B58))))) mais ça serait mieux si le résultat du filtre était mis d'une façon plus formatée, par exemple consacrer 99 lignes pour chaque résultat de filtrage ou comme le préconise Daniel, mettre une colonne supplémentaire avec les BL, BT et EF
Cordialement Michel dit "Sam"
"Apitos" a écrit dans le message de news:
Bonjour Daniel,
Les tableaux affichés sont le résultat d'un filtre élaboré et il sont triés.
Alors je ne peux pas définir des plages fixes pour chaque catégorie.
Et puis les catégories peuvent aller d'une à plusieurs ...
"Daniel.C" a écrit :
Bonsoir. 1. Définir trois plages : BL = A4:A19 BT = A23:A51 EF = A55:A58 Utiliser la formule : =SI(H8="BL";SOMMEPROD((BL=G8)*DECALER(BL;0;1));SI(H8="BT";SOMMEPROD((BT=G8)*DECALER(BT;0;1));SOMMEPROD((EF=G8)*DECALER(EF;0;1)))) Il faudra une macro pour éliminer les dates en double. Cordialement. Daniel
Bonjour,
artisanalement ça donne ceci
=SI(H8¢;SOMMEPROD((A4:A19=G8)*(B4:B19));SI(H8¢1;SOMMEPROD((A23:A51=G8)*(B23:B51));SI(H8¥3;SOMMEPROD((A55:A58=G8)*(B55:B58)))))
mais ça serait mieux si le résultat du filtre était mis d'une façon plus
formatée, par exemple consacrer 99 lignes pour chaque
résultat de filtrage ou comme le préconise Daniel, mettre une colonne
supplémentaire avec les BL, BT et EF
Cordialement
Michel dit "Sam"
"Apitos" <Apitos@discussions.microsoft.com> a écrit dans le message de news:
9A51EB9D-0D85-4ABE-934A-50118CF8175E@microsoft.com...
Bonjour Daniel,
Les tableaux affichés sont le résultat d'un filtre élaboré et il sont
triés.
Alors je ne peux pas définir des plages fixes pour chaque catégorie.
Et puis les catégories peuvent aller d'une à plusieurs ...
"Daniel.C" a écrit :
Bonsoir.
1. Définir trois plages :
BL = A4:A19
BT = A23:A51
EF = A55:A58
Utiliser la formule :
=SI(H8="BL";SOMMEPROD((BL=G8)*DECALER(BL;0;1));SI(H8="BT";SOMMEPROD((BT=G8)*DECALER(BT;0;1));SOMMEPROD((EF=G8)*DECALER(EF;0;1))))
Il faudra une macro pour éliminer les dates en double.
Cordialement.
Daniel
Bonjour, artisanalement ça donne ceci =SI(H8¢;SOMMEPROD((A4:A19=G8)*(B4:B19));SI(H8¢1;SOMMEPROD((A23:A51=G8)*(B23:B51));SI(H8¥3;SOMMEPROD((A55:A58=G8)*(B55:B58))))) mais ça serait mieux si le résultat du filtre était mis d'une façon plus formatée, par exemple consacrer 99 lignes pour chaque résultat de filtrage ou comme le préconise Daniel, mettre une colonne supplémentaire avec les BL, BT et EF
Cordialement Michel dit "Sam"
"Apitos" a écrit dans le message de news:
Bonjour Daniel,
Les tableaux affichés sont le résultat d'un filtre élaboré et il sont triés.
Alors je ne peux pas définir des plages fixes pour chaque catégorie.
Et puis les catégories peuvent aller d'une à plusieurs ...
"Daniel.C" a écrit :
Bonsoir. 1. Définir trois plages : BL = A4:A19 BT = A23:A51 EF = A55:A58 Utiliser la formule : =SI(H8="BL";SOMMEPROD((BL=G8)*DECALER(BL;0;1));SI(H8="BT";SOMMEPROD((BT=G8)*DECALER(BT;0;1));SOMMEPROD((EF=G8)*DECALER(EF;0;1)))) Il faudra une macro pour éliminer les dates en double. Cordialement. Daniel
Daniel.C
Regarde le classeur : http://cjoint.com/?kCqbh5O8iG Tu peux choisir plusieurs catégories. Daniel
Daniel,
Pour les listes de validation ce n'est qu'une tentative de résoudre ce probleme.
Si VBA à une solution, je serais preneur !
Merci d'avance.
Regarde le classeur :
http://cjoint.com/?kCqbh5O8iG
Tu peux choisir plusieurs catégories.
Daniel
Daniel,
Pour les listes de validation ce n'est qu'une tentative de résoudre ce
probleme.
Regarde le classeur : http://cjoint.com/?kCqbh5O8iG Tu peux choisir plusieurs catégories. Daniel
Daniel,
Pour les listes de validation ce n'est qu'une tentative de résoudre ce probleme.
Si VBA à une solution, je serais preneur !
Merci d'avance.
Apitos
Bonjour Daniel,
Merci pour l'exemple.
Mais d 'une façon générale, j'aimerais boucler sur toutes les catégories présentes en (J2 :Jn ): '------------------ For Each Cel In Range([J2], [J500].End(xlUp)) Set CatN° =Définir CatN° CatN°.Name = "CatN°" Next Cel '------------------- Et prendre en compte le cas d'un choix d'une date seulement, pour toutes les catégories en (J2:Jn) dans le code suivant : '-------------------- For i = 0 To Me.ListBox2.ListCount - 1 If Me.ListBox2.Selected(i) Then For Each c In Range(Me.ListBox2.List(i)) If c.Value = CDate(Me.ComboBox1.Value) Then Ctr = Ctr + c.Offset(, 1) End If Next End If Next i '------------------------
Merci d 'avance.
Bonjour Daniel,
Merci pour l'exemple.
Mais d 'une façon générale, j'aimerais boucler sur toutes les
catégories présentes en (J2 :Jn ):
'------------------
For Each Cel In Range([J2], [J500].End(xlUp))
Set CatN° =Définir CatN°
CatN°.Name = "CatN°"
Next Cel
'-------------------
Et prendre en compte le cas d'un choix d'une date seulement, pour
toutes les catégories en (J2:Jn) dans le code suivant :
'--------------------
For i = 0 To Me.ListBox2.ListCount - 1
If Me.ListBox2.Selected(i) Then
For Each c In Range(Me.ListBox2.List(i))
If c.Value = CDate(Me.ComboBox1.Value) Then
Ctr = Ctr + c.Offset(, 1)
End If
Next
End If
Next i
'------------------------
Mais d 'une façon générale, j'aimerais boucler sur toutes les catégories présentes en (J2 :Jn ): '------------------ For Each Cel In Range([J2], [J500].End(xlUp)) Set CatN° =Définir CatN° CatN°.Name = "CatN°" Next Cel '------------------- Et prendre en compte le cas d'un choix d'une date seulement, pour toutes les catégories en (J2:Jn) dans le code suivant : '-------------------- For i = 0 To Me.ListBox2.ListCount - 1 If Me.ListBox2.Selected(i) Then For Each c In Range(Me.ListBox2.List(i)) If c.Value = CDate(Me.ComboBox1.Value) Then Ctr = Ctr + c.Offset(, 1) End If Next End If Next i '------------------------
Merci d 'avance.
Apitos
Bonjour Daniel,
Merci pour l'exemple.
Mais d 'une façon générale, j'aimerais boucler sur toutes les catégories présentes en (J2 :Jn ): '------------------ For Each Cel In Range([J2], [J500].End(xlUp)) Set CatN° =Définir CatN° CatN°.Name = "CatN°" Next Cel '------------------- Et prendre en compte de calculer seulement en fonction d'une date choisie, pour toutes les catégories en (J2:Jn) dans le code suivant : '-------------------- For i = 0 To Me.ListBox2.ListCount - 1 If Me.ListBox2.Selected(i) Then For Each c In Range(Me.ListBox2.List(i)) If c.Value = CDate(Me.ComboBox1.Value) Then Ctr = Ctr + c.Offset(, 1) End If Next End If Next i '------------------------
Merci d 'avance.
Bonjour Daniel,
Merci pour l'exemple.
Mais d 'une façon générale, j'aimerais boucler sur toutes les
catégories présentes en (J2 :Jn ):
'------------------
For Each Cel In Range([J2], [J500].End(xlUp))
Set CatN° =Définir CatN°
CatN°.Name = "CatN°"
Next Cel
'-------------------
Et prendre en compte de calculer seulement en fonction d'une date
choisie, pour toutes les catégories en (J2:Jn) dans le code suivant :
'--------------------
For i = 0 To Me.ListBox2.ListCount - 1
If Me.ListBox2.Selected(i) Then
For Each c In Range(Me.ListBox2.List(i))
If c.Value = CDate(Me.ComboBox1.Value) Then
Ctr = Ctr + c.Offset(, 1)
End If
Next
End If
Next i
'------------------------
Mais d 'une façon générale, j'aimerais boucler sur toutes les catégories présentes en (J2 :Jn ): '------------------ For Each Cel In Range([J2], [J500].End(xlUp)) Set CatN° =Définir CatN° CatN°.Name = "CatN°" Next Cel '------------------- Et prendre en compte de calculer seulement en fonction d'une date choisie, pour toutes les catégories en (J2:Jn) dans le code suivant : '-------------------- For i = 0 To Me.ListBox2.ListCount - 1 If Me.ListBox2.Selected(i) Then For Each c In Range(Me.ListBox2.List(i)) If c.Value = CDate(Me.ComboBox1.Value) Then Ctr = Ctr + c.Offset(, 1) End If Next End If Next i '------------------------
Merci d 'avance.
Daniel.C
Bonjour. Le classeur te permet de sélectionner plusieurs catégories. Utilise la touche CTRL ou MAJ dans la listbox, comme pour sélectionner des cellules. Les calculs se font uniquement pour la date choisie dans le combobox. Je reporte dans la feuille en I8, de mémoire, là ou tu avais mis la formule initiale. Tu peux d'ailleurs supprimer les listes en G8 et H8 qui ne me servent pas. Daniel
Bonjour Daniel,
Merci pour l'exemple.
Mais d 'une façon générale, j'aimerais boucler sur toutes les catégories présentes en (J2 :Jn ): '------------------ For Each Cel In Range([J2], [J500].End(xlUp)) Set CatN° =Définir CatN° CatN°.Name = "CatN°" Next Cel '------------------- Et prendre en compte de calculer seulement en fonction d'une date choisie, pour toutes les catégories en (J2:Jn) dans le code suivant : '-------------------- For i = 0 To Me.ListBox2.ListCount - 1 If Me.ListBox2.Selected(i) Then For Each c In Range(Me.ListBox2.List(i)) If c.Value = CDate(Me.ComboBox1.Value) Then Ctr = Ctr + c.Offset(, 1) End If Next End If Next i '------------------------
Merci d 'avance.
Bonjour.
Le classeur te permet de sélectionner plusieurs catégories. Utilise la
touche CTRL ou MAJ dans la listbox, comme pour sélectionner des
cellules. Les calculs se font uniquement pour la date choisie dans le
combobox. Je reporte dans la feuille en I8, de mémoire, là ou tu avais
mis la formule initiale. Tu peux d'ailleurs supprimer les listes en G8
et H8 qui ne me servent pas.
Daniel
Bonjour Daniel,
Merci pour l'exemple.
Mais d 'une façon générale, j'aimerais boucler sur toutes les
catégories présentes en (J2 :Jn ):
'------------------
For Each Cel In Range([J2], [J500].End(xlUp))
Set CatN° =Définir CatN°
CatN°.Name = "CatN°"
Next Cel
'-------------------
Et prendre en compte de calculer seulement en fonction d'une date
choisie, pour toutes les catégories en (J2:Jn) dans le code suivant :
'--------------------
For i = 0 To Me.ListBox2.ListCount - 1
If Me.ListBox2.Selected(i) Then
For Each c In Range(Me.ListBox2.List(i))
If c.Value = CDate(Me.ComboBox1.Value) Then
Ctr = Ctr + c.Offset(, 1)
End If
Next
End If
Next i
'------------------------
Bonjour. Le classeur te permet de sélectionner plusieurs catégories. Utilise la touche CTRL ou MAJ dans la listbox, comme pour sélectionner des cellules. Les calculs se font uniquement pour la date choisie dans le combobox. Je reporte dans la feuille en I8, de mémoire, là ou tu avais mis la formule initiale. Tu peux d'ailleurs supprimer les listes en G8 et H8 qui ne me servent pas. Daniel
Bonjour Daniel,
Merci pour l'exemple.
Mais d 'une façon générale, j'aimerais boucler sur toutes les catégories présentes en (J2 :Jn ): '------------------ For Each Cel In Range([J2], [J500].End(xlUp)) Set CatN° =Définir CatN° CatN°.Name = "CatN°" Next Cel '------------------- Et prendre en compte de calculer seulement en fonction d'une date choisie, pour toutes les catégories en (J2:Jn) dans le code suivant : '-------------------- For i = 0 To Me.ListBox2.ListCount - 1 If Me.ListBox2.Selected(i) Then For Each c In Range(Me.ListBox2.List(i)) If c.Value = CDate(Me.ComboBox1.Value) Then Ctr = Ctr + c.Offset(, 1) End If Next End If Next i '------------------------
Merci d 'avance.
Apitos
Bonjour Daniel,
Pour le calcul global de toutes les categories, j'avais pensé à l'idé e de selectionner une ligne vide dans la ListBox pour faire comprendre au programme qu'il faut faire la somme sur toutes les lignes ayant la même date chosie dans la ComboBox.
Bon, maintenant reste à essayer de trouver l'étendu de chaque catégorie, automatiquement.
Bonjour Daniel,
Pour le calcul global de toutes les categories, j'avais pensé à l'idé e
de selectionner une ligne vide dans la ListBox pour faire comprendre
au programme qu'il faut faire la somme sur toutes les lignes ayant la
même date chosie dans la ComboBox.
Bon, maintenant reste à essayer de trouver l'étendu de chaque
catégorie, automatiquement.
Pour le calcul global de toutes les categories, j'avais pensé à l'idé e de selectionner une ligne vide dans la ListBox pour faire comprendre au programme qu'il faut faire la somme sur toutes les lignes ayant la même date chosie dans la ComboBox.
Bon, maintenant reste à essayer de trouver l'étendu de chaque catégorie, automatiquement.