Somme d'une colonne selon période
Résolu
pajude
Messages postés
77
Date d'inscription
Statut
Membre
Dernière intervention
-
Le Pingou Messages postés 12249 Date d'inscription Statut Contributeur Dernière intervention -
Le Pingou Messages postés 12249 Date d'inscription Statut Contributeur Dernière intervention -
A voir également:
- Somme d'une colonne selon période
- Formule somme excel colonne - Guide
- Déplacer une colonne excel - Guide
- Trier une colonne excel - Guide
- Colonne word - Guide
- Somme si couleur - Guide
55 réponses
On y arrivera bien un jour ! Qui sait...
Dites-moi s'il y a encore des cas défectueux ;)
Le doc :
https://www.cjoint.com/?DGpqFKcAtTr
La formule matricielle :
=SI(J2<C6;"Date en J2 hors données";SI(J3>MAX(C6:D100);"Date en J3 hors données";SI(MAX(SI((C6:C100<J3)*(D6:D100=J3);C6:C100))=MAX(SI((C6:C100<=J2)*(D6:D100>J2);C6:C100));J4*(12/365)*INDEX(B6:B100;EQUIV(MIN(SI((C6:C100<=J2)*(D6:D100>=J2);D6:D100));C6:C100));SI(J3=MAX(C6:C100);(1+MIN(SI((C6:C100<=J2)*(D6:D100>=J2);D6:D100))-J2)*(12/365)*INDEX(B6:B100;EQUIV(MIN(SI((C6:C100<=J2)*(D6:D100>=J2);D6:D100));D6:D100))+SOMME.SI.ENS(F6:F100;C6:C100;">"&J2;C6:C100;"<"&J3;D6:D100;">"&J2;D6:D100;"<"&J3)+(12/365)*INDEX(B6:B100;EQUIV(MAX(SI((C6:C100<=J3)*(D6:D100>=J3);C6:C100));C6:C100));(1+MIN(SI((C6:C100<=J2)*(D6:D100>=J2);D6:D100))-J2)*(12/365)*INDEX(B6:B100;EQUIV(MIN(SI((C6:C100<=J2)*(D6:D100>=J2);D6:D100));D6:D100))+SOMME.SI.ENS(F6:F100;C6:C100;">"&J2;C6:C100;"<"&J3;D6:D100;">"&J2;D6:D100;"<"&J3)+(1+J3-MAX(SI((C6:C100<=J3)*(D6:D100>=J3);C6:C100)))*(12/365)*INDEX(B6:B100;EQUIV(MAX(SI((C6:C100<=J3)*(D6:D100>=J3);C6:C100));C6:C100))))))
Dites-moi s'il y a encore des cas défectueux ;)
Le doc :
https://www.cjoint.com/?DGpqFKcAtTr
La formule matricielle :
=SI(J2<C6;"Date en J2 hors données";SI(J3>MAX(C6:D100);"Date en J3 hors données";SI(MAX(SI((C6:C100<J3)*(D6:D100=J3);C6:C100))=MAX(SI((C6:C100<=J2)*(D6:D100>J2);C6:C100));J4*(12/365)*INDEX(B6:B100;EQUIV(MIN(SI((C6:C100<=J2)*(D6:D100>=J2);D6:D100));C6:C100));SI(J3=MAX(C6:C100);(1+MIN(SI((C6:C100<=J2)*(D6:D100>=J2);D6:D100))-J2)*(12/365)*INDEX(B6:B100;EQUIV(MIN(SI((C6:C100<=J2)*(D6:D100>=J2);D6:D100));D6:D100))+SOMME.SI.ENS(F6:F100;C6:C100;">"&J2;C6:C100;"<"&J3;D6:D100;">"&J2;D6:D100;"<"&J3)+(12/365)*INDEX(B6:B100;EQUIV(MAX(SI((C6:C100<=J3)*(D6:D100>=J3);C6:C100));C6:C100));(1+MIN(SI((C6:C100<=J2)*(D6:D100>=J2);D6:D100))-J2)*(12/365)*INDEX(B6:B100;EQUIV(MIN(SI((C6:C100<=J2)*(D6:D100>=J2);D6:D100));D6:D100))+SOMME.SI.ENS(F6:F100;C6:C100;">"&J2;C6:C100;"<"&J3;D6:D100;">"&J2;D6:D100;"<"&J3)+(1+J3-MAX(SI((C6:C100<=J3)*(D6:D100>=J3);C6:C100)))*(12/365)*INDEX(B6:B100;EQUIV(MAX(SI((C6:C100<=J3)*(D6:D100>=J3);C6:C100));C6:C100))))))
Bonjour pafude,
Ma condition de départ n'était pas correcte.
J'ai modifié cette ligne :
Merci de bien contrôler... !
Votre fichier :
Ma condition de départ n'était pas correcte.
J'ai modifié cette ligne :
If val >= datdebblo And datdebblo <= val.Offset(0, 1) ThenCela semble correct suite à quelques tests rapides...
Merci de bien contrôler... !
Votre fichier :
Bonjour,
Ce serait quand même mieux si je mettais le lien...... https://www.cjoint.com/?3Gpu0H3xeY3
Salutations.
Le Pingou
Ce serait quand même mieux si je mettais le lien...... https://www.cjoint.com/?3Gpu0H3xeY3
Salutations.
Le Pingou
Bonjour Le Pingou,
Et encore merci pour ce travail et votre patience.
Je détecte une anomalie sur le montant, à priori quand la date de départ n'est pas dans la colonne C.
Ex du 29/04/00 au 30/04/00, donne 0,1486 au lieu de 0,1413
De même du 29/10/00 au 30/10/00, 0,1677 au lieu de 0,1486
Par contre (date déb compris dans colonne C) du 01/05/00 au 02/05/00 = 0,1486 (OK)
Merci
Et encore merci pour ce travail et votre patience.
Je détecte une anomalie sur le montant, à priori quand la date de départ n'est pas dans la colonne C.
Ex du 29/04/00 au 30/04/00, donne 0,1486 au lieu de 0,1413
De même du 29/10/00 au 30/10/00, 0,1677 au lieu de 0,1486
Par contre (date déb compris dans colonne C) du 01/05/00 au 02/05/00 = 0,1486 (OK)
Merci
Bonjour,
Merci pour l'information.
Cette petite anomalie est normale car j'ai admis que vous introduisez une date adéquate.
Je vais ajouter un contrôle dans la procédure et ce sera OK, dans la journée.
Avez-vous découvert des autres erreurs dans les résultats.... ?
Merci pour l'information.
Cette petite anomalie est normale car j'ai admis que vous introduisez une date adéquate.
Je vais ajouter un contrôle dans la procédure et ce sera OK, dans la journée.
Avez-vous découvert des autres erreurs dans les résultats.... ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
J'ai fait le tour, pour le moment je n'ai pas trouvé d'autres erreurs que si la date de début ne correspond exacetemnt à une date de la colonne C.
Cdt
Cdt
Je les avais déjà postées :
"On y arrivera bien un jour ! Qui sait...
Dites-moi s'il y a encore des cas défectueux ;)
Le doc :
https://www.cjoint.com/?DGpqFKcAtTr
La formule matricielle :
=SI(J2<C6;"Date en J2 hors données";SI(J3>MAX(C6:D100);"Date en J3 hors données";SI(MAX(SI((C6:C100<J3)*(D6:D100=J3);C6:C100))=MAX(SI((C6:C100<=J2)*(D6:D100>J2);C6:C100));J4*(12/365)*INDEX(B6:B100;EQUIV(MIN(SI((C6:C100<=J2)*(D6:D100>=J2);D6:D100));C6:C100));SI(J3=MAX(C6:C100);(1+MIN(SI((C6:C100<=J2)*(D6:D100>=J2);D6:D100))-J2)*(12/365)*INDEX(B6:B100;EQUIV(MIN(SI((C6:C100<=J2)*(D6:D100>=J2);D6:D100));D6:D100))+SOMME.SI.ENS(F6:F100;C6:C100;">"&J2;C6:C100;"<"&J3;D6:D100;">"&J2;D6:D100;"<"&J3)+(12/365)*INDEX(B6:B100;EQUIV(MAX(SI((C6:C100<=J3)*(D6:D100>=J3);C6:C100));C6:C100));(1+MIN(SI((C6:C100<=J2)*(D6:D100>=J2);D6:D100))-J2)*(12/365)*INDEX(B6:B100;EQUIV(MIN(SI((C6:C100<=J2)*(D6:D100>=J2);D6:D100));D6:D100))+SOMME.SI.ENS(F6:F100;C6:C100;">"&J2;C6:C100;"<"&J3;D6:D100;">"&J2;D6:D100;"<"&J3)+(1+J3-MAX(SI((C6:C100<=J3)*(D6:D100>=J3);C6:C100)))*(12/365)*INDEX(B6:B100;EQUIV(MAX(SI((C6:C100<=J3)*(D6:D100>=J3);C6:C100));C6:C100))))))
"On y arrivera bien un jour ! Qui sait...
Dites-moi s'il y a encore des cas défectueux ;)
Le doc :
https://www.cjoint.com/?DGpqFKcAtTr
La formule matricielle :
=SI(J2<C6;"Date en J2 hors données";SI(J3>MAX(C6:D100);"Date en J3 hors données";SI(MAX(SI((C6:C100<J3)*(D6:D100=J3);C6:C100))=MAX(SI((C6:C100<=J2)*(D6:D100>J2);C6:C100));J4*(12/365)*INDEX(B6:B100;EQUIV(MIN(SI((C6:C100<=J2)*(D6:D100>=J2);D6:D100));C6:C100));SI(J3=MAX(C6:C100);(1+MIN(SI((C6:C100<=J2)*(D6:D100>=J2);D6:D100))-J2)*(12/365)*INDEX(B6:B100;EQUIV(MIN(SI((C6:C100<=J2)*(D6:D100>=J2);D6:D100));D6:D100))+SOMME.SI.ENS(F6:F100;C6:C100;">"&J2;C6:C100;"<"&J3;D6:D100;">"&J2;D6:D100;"<"&J3)+(12/365)*INDEX(B6:B100;EQUIV(MAX(SI((C6:C100<=J3)*(D6:D100>=J3);C6:C100));C6:C100));(1+MIN(SI((C6:C100<=J2)*(D6:D100>=J2);D6:D100))-J2)*(12/365)*INDEX(B6:B100;EQUIV(MIN(SI((C6:C100<=J2)*(D6:D100>=J2);D6:D100));D6:D100))+SOMME.SI.ENS(F6:F100;C6:C100;">"&J2;C6:C100;"<"&J3;D6:D100;">"&J2;D6:D100;"<"&J3)+(1+J3-MAX(SI((C6:C100<=J3)*(D6:D100>=J3);C6:C100)))*(12/365)*INDEX(B6:B100;EQUIV(MAX(SI((C6:C100<=J3)*(D6:D100>=J3);C6:C100));C6:C100))))))
En réponse,
il y a encore un petit bug.
A priori c'est quand les périodes ne sont pas comprises en C et D
Ex : 01/05/99 au 29/04/00 = 51,67 au lieu de 25,80 (la période dans les données sont C6 : 01/05/99 et D6 : 30/04/00
Merci
il y a encore un petit bug.
A priori c'est quand les périodes ne sont pas comprises en C et D
Ex : 01/05/99 au 29/04/00 = 51,67 au lieu de 25,80 (la période dans les données sont C6 : 01/05/99 et D6 : 30/04/00
Merci
En effet c'est le même pb qu'avant mais sur l'autre borne, il manquait un "inférieur ou égal" au lieu d'un égal strict.
Le doc corrigé :
ttp://cjoint.com/?DGqnYjMh1qd
La formule matricielle :
=SI(J2<C6;"Date en J2 hors données";SI(J3>MAX(C6:D100);"Date en J3 hors données";SI(MAX(SI((C6:C100<J3)*(D6:D100>=J3);C6:C100))=MAX(SI((C6:C100<=J2)*(D6:D100>J2);C6:C100));J4*(12/365)*INDEX(B6:B100;EQUIV(MIN(SI((C6:C100<=J2)*(D6:D100>=J2);D6:D100));C6:C100));SI(J3=MAX(C6:C100);(1+MIN(SI((C6:C100<=J2)*(D6:D100>=J2);D6:D100))-J2)*(12/365)*INDEX(B6:B100;EQUIV(MIN(SI((C6:C100<=J2)*(D6:D100>=J2);D6:D100));D6:D100))+SOMME.SI.ENS(F6:F100;C6:C100;">"&J2;C6:C100;"<"&J3;D6:D100;">"&J2;D6:D100;"<"&J3)+(12/365)*INDEX(B6:B100;EQUIV(MAX(SI((C6:C100<=J3)*(D6:D100>=J3);C6:C100));C6:C100));(1+MIN(SI((C6:C100<=J2)*(D6:D100>=J2);D6:D100))-J2)*(12/365)*INDEX(B6:B100;EQUIV(MIN(SI((C6:C100<=J2)*(D6:D100>=J2);D6:D100));D6:D100))+SOMME.SI.ENS(F6:F100;C6:C100;">"&J2;C6:C100;"<"&J3;D6:D100;">"&J2;D6:D100;"<"&J3)+(1+J3-MAX(SI((C6:C100<=J3)*(D6:D100>=J3);C6:C100)))*(12/365)*INDEX(B6:B100;EQUIV(MAX(SI((C6:C100<=J3)*(D6:D100>=J3);C6:C100));C6:C100))))))
Le doc corrigé :
ttp://cjoint.com/?DGqnYjMh1qd
La formule matricielle :
=SI(J2<C6;"Date en J2 hors données";SI(J3>MAX(C6:D100);"Date en J3 hors données";SI(MAX(SI((C6:C100<J3)*(D6:D100>=J3);C6:C100))=MAX(SI((C6:C100<=J2)*(D6:D100>J2);C6:C100));J4*(12/365)*INDEX(B6:B100;EQUIV(MIN(SI((C6:C100<=J2)*(D6:D100>=J2);D6:D100));C6:C100));SI(J3=MAX(C6:C100);(1+MIN(SI((C6:C100<=J2)*(D6:D100>=J2);D6:D100))-J2)*(12/365)*INDEX(B6:B100;EQUIV(MIN(SI((C6:C100<=J2)*(D6:D100>=J2);D6:D100));D6:D100))+SOMME.SI.ENS(F6:F100;C6:C100;">"&J2;C6:C100;"<"&J3;D6:D100;">"&J2;D6:D100;"<"&J3)+(12/365)*INDEX(B6:B100;EQUIV(MAX(SI((C6:C100<=J3)*(D6:D100>=J3);C6:C100));C6:C100));(1+MIN(SI((C6:C100<=J2)*(D6:D100>=J2);D6:D100))-J2)*(12/365)*INDEX(B6:B100;EQUIV(MIN(SI((C6:C100<=J2)*(D6:D100>=J2);D6:D100));D6:D100))+SOMME.SI.ENS(F6:F100;C6:C100;">"&J2;C6:C100;"<"&J3;D6:D100;">"&J2;D6:D100;"<"&J3)+(1+J3-MAX(SI((C6:C100<=J3)*(D6:D100>=J3);C6:C100)))*(12/365)*INDEX(B6:B100;EQUIV(MAX(SI((C6:C100<=J3)*(D6:D100>=J3);C6:C100));C6:C100))))))
Re,
C'est OK, je ne vois pas d'autres erreurs, ormis que le montant calculé sur 1 jour est erroné (01/05/99 au 01/05/99=25,94), mais cete période ne sera en principe pas à calculer.
Par contre votre formule, c'est un vrai casse tête, je ne crois pas que je pourrai m'y repérer :)
Je ne passe pas la demande en résolue tout de suite, j'attends aussi la correction de Le Pingou.
Merci
A suivre
C'est OK, je ne vois pas d'autres erreurs, ormis que le montant calculé sur 1 jour est erroné (01/05/99 au 01/05/99=25,94), mais cete période ne sera en principe pas à calculer.
Par contre votre formule, c'est un vrai casse tête, je ne crois pas que je pourrai m'y repérer :)
Je ne passe pas la demande en résolue tout de suite, j'attends aussi la correction de Le Pingou.
Merci
A suivre
Oui il faut la prendre avec des pincettes pour la comprendre et donc pouvoir la modifer :/
Allez pour ne pas abandonner avant la fin :
Le doc corrigé :
https://www.cjoint.com/?DGqpCRn8GpJ
La formule matricielle :
=SI(J2<C6;"Date en J2 hors données";SI(J3>MAX(C6:D100);"Date en J3 hors données";SI(OU(MAX(SI((C6:C100<J3)*(D6:D100>=J3);C6:C100))=MAX(SI((C6:C100<=J2)*(D6:D100>J2);C6:C100));J2=J3);J4*(12/365)*INDEX(B6:B100;EQUIV(MIN(SI((C6:C100<=J2)*(D6:D100>=J2);D6:D100));C6:C100));SI(J3=MAX(C6:C100);(1+MIN(SI((C6:C100<=J2)*(D6:D100>=J2);D6:D100))-J2)*(12/365)*INDEX(B6:B100;EQUIV(MIN(SI((C6:C100<=J2)*(D6:D100>=J2);D6:D100));D6:D100))+SOMME.SI.ENS(F6:F100;C6:C100;">"&J2;C6:C100;"<"&J3;D6:D100;">"&J2;D6:D100;"<"&J3)+(12/365)*INDEX(B6:B100;EQUIV(MAX(SI((C6:C100<=J3)*(D6:D100>=J3);C6:C100));C6:C100));(1+MIN(SI((C6:C100<=J2)*(D6:D100>=J2);D6:D100))-J2)*(12/365)*INDEX(B6:B100;EQUIV(MIN(SI((C6:C100<=J2)*(D6:D100>=J2);D6:D100));D6:D100))+SOMME.SI.ENS(F6:F100;C6:C100;">"&J2;C6:C100;"<"&J3;D6:D100;">"&J2;D6:D100;"<"&J3)+(1+J3-MAX(SI((C6:C100<=J3)*(D6:D100>=J3);C6:C100)))*(12/365)*INDEX(B6:B100;EQUIV(MAX(SI((C6:C100<=J3)*(D6:D100>=J3);C6:C100));C6:C100))))))
Bonne continuation,
Allez pour ne pas abandonner avant la fin :
Le doc corrigé :
https://www.cjoint.com/?DGqpCRn8GpJ
La formule matricielle :
=SI(J2<C6;"Date en J2 hors données";SI(J3>MAX(C6:D100);"Date en J3 hors données";SI(OU(MAX(SI((C6:C100<J3)*(D6:D100>=J3);C6:C100))=MAX(SI((C6:C100<=J2)*(D6:D100>J2);C6:C100));J2=J3);J4*(12/365)*INDEX(B6:B100;EQUIV(MIN(SI((C6:C100<=J2)*(D6:D100>=J2);D6:D100));C6:C100));SI(J3=MAX(C6:C100);(1+MIN(SI((C6:C100<=J2)*(D6:D100>=J2);D6:D100))-J2)*(12/365)*INDEX(B6:B100;EQUIV(MIN(SI((C6:C100<=J2)*(D6:D100>=J2);D6:D100));D6:D100))+SOMME.SI.ENS(F6:F100;C6:C100;">"&J2;C6:C100;"<"&J3;D6:D100;">"&J2;D6:D100;"<"&J3)+(12/365)*INDEX(B6:B100;EQUIV(MAX(SI((C6:C100<=J3)*(D6:D100>=J3);C6:C100));C6:C100));(1+MIN(SI((C6:C100<=J2)*(D6:D100>=J2);D6:D100))-J2)*(12/365)*INDEX(B6:B100;EQUIV(MIN(SI((C6:C100<=J2)*(D6:D100>=J2);D6:D100));D6:D100))+SOMME.SI.ENS(F6:F100;C6:C100;">"&J2;C6:C100;"<"&J3;D6:D100;">"&J2;D6:D100;"<"&J3)+(1+J3-MAX(SI((C6:C100<=J3)*(D6:D100>=J3);C6:C100)))*(12/365)*INDEX(B6:B100;EQUIV(MAX(SI((C6:C100<=J3)*(D6:D100>=J3);C6:C100));C6:C100))))))
Bonne continuation,
SUPER,
Ce sont quelques boîtes d'aspirine qu'il me faudrait :) mais je ne crois pas que je tenterai de comprendre.
Merci pour ce travail et votre patience.
pajude
Ce sont quelques boîtes d'aspirine qu'il me faudrait :) mais je ne crois pas que je tenterai de comprendre.
Merci pour ce travail et votre patience.
pajude
Si l'envie vous prend (ou le besoin surtout!), il faut décortiquer la formule avec les SI(...), ils servent à délimiter des cas spécifiques !
En détail, hormis les deux premiers SI(...), il y a 3 cas spécifiques :
- SI(OU(MAX(SI((C6:C100<J3)*(D6:D100>=J3);C6:C100))=MAX(SI((C6:C100<=J2)*(D6:D100>J2);C6:C100));J2=J3); [résultat si vrai] ; [résultat si faux] )
- SI(J3=MAX(C6:C100); ....)
- et le dernier cas qui arrive si les deux premiers ne se produisent pas !
Pour le contenu des résultats selon les cas, j'ai simplement utilisé les fonctions MIN(SI(..., MAX(SI(.., INDEX(...;EQUIV(...)) et SOMME.SI.ENS
Dernier conseil pour s'y retrouver : tracer un axe du temps et en indiquant les positions relatives de J2, J3, la période borne inférieure, la période borne supérieure, les périodes comprises entre J2 et J3.
Tous les cas particuliers se visualisent bien sur cette axe et les calculs en découlent directement en procédant par étape comme je l'avais annoncé au tout début :
Les jours de la borne inférieure après J2 (période qui commence AVANT J2 et finit APRES)
+les périodes comprises entre J2 et J3 strictement
+ les jours de la borne supérieure avant J3 (commence AVANT J3 et finit APRES)
En espérant que tout cela ne serve jamais ;)
En détail, hormis les deux premiers SI(...), il y a 3 cas spécifiques :
- SI(OU(MAX(SI((C6:C100<J3)*(D6:D100>=J3);C6:C100))=MAX(SI((C6:C100<=J2)*(D6:D100>J2);C6:C100));J2=J3); [résultat si vrai] ; [résultat si faux] )
- SI(J3=MAX(C6:C100); ....)
- et le dernier cas qui arrive si les deux premiers ne se produisent pas !
Pour le contenu des résultats selon les cas, j'ai simplement utilisé les fonctions MIN(SI(..., MAX(SI(.., INDEX(...;EQUIV(...)) et SOMME.SI.ENS
Dernier conseil pour s'y retrouver : tracer un axe du temps et en indiquant les positions relatives de J2, J3, la période borne inférieure, la période borne supérieure, les périodes comprises entre J2 et J3.
Tous les cas particuliers se visualisent bien sur cette axe et les calculs en découlent directement en procédant par étape comme je l'avais annoncé au tout début :
Les jours de la borne inférieure après J2 (période qui commence AVANT J2 et finit APRES)
+les périodes comprises entre J2 et J3 strictement
+ les jours de la borne supérieure avant J3 (commence AVANT J3 et finit APRES)
En espérant que tout cela ne serve jamais ;)
Merci encore, c'est génial je vais prpablement m'y pencher !
Et merci pour le service rendu sur ce forum.
pajude
Et merci pour le service rendu sur ce forum.
pajude
Bonjour,
Oui c'est super génial et surtout si vous l'appliquez à votre demande d'avoir ce calcul sur une autre feuille... !
Maintenant je réalise des tests selon les erreurs cités dans les divers postes et je mais le tout en comparaison avec la formule marathon... et je le répète ; qui ne fonctionne pas depuis une autre feuille !
Oui c'est super génial et surtout si vous l'appliquez à votre demande d'avoir ce calcul sur une autre feuille... !
Maintenant je réalise des tests selon les erreurs cités dans les divers postes et je mais le tout en comparaison avec la formule marathon... et je le répète ; qui ne fonctionne pas depuis une autre feuille !
Comment ça "qui ne fonctionne pas depuis une autre feuille" ?
Il suffit de changer les références des cellules avec un petit coup de rechercher/remplacer et voilà le résultat :
https://www.cjoint.com/?DGqxUu18r9d
J'ai mis ça en feuille 2 mais ça reste utilisable de n'importe où, enfin je pense ;)
Bonne soirée,
Il suffit de changer les références des cellules avec un petit coup de rechercher/remplacer et voilà le résultat :
https://www.cjoint.com/?DGqxUu18r9d
J'ai mis ça en feuille 2 mais ça reste utilisable de n'importe où, enfin je pense ;)
Bonne soirée,
Bonjour pajude,
Le fichier avec contrôle si date en dehors des dates du tableau prix : https://www.cjoint.com/?3GqxNqBiAhk
Note : la proposition de Theo.R est un très bon exercice .... Courage... !
Le fichier avec contrôle si date en dehors des dates du tableau prix : https://www.cjoint.com/?3GqxNqBiAhk
Note : la proposition de Theo.R est un très bon exercice .... Courage... !
Bonjour Le Pingou et Theo,
Vous avez fait un excelent travail et surtout quelle patience.
Mes tests de ce matin :
Pour la version macro, je ne n'ai plus trouvé d'erreur
Pour la version formule, Theo, tu as bien corrigé l'erreur détectée par Le Pingou (du 14/08/08 au 15/08/08 qui donnait 0,21435 zu lieu de 0,22488 ), mais cela a crée une autre erreur du 14/05/08 au 15/05/08 = 0,20614 au lieu de 0,21436 (dans le tableau précédent sur cette ériode c'était bon)
Merci
Vous avez fait un excelent travail et surtout quelle patience.
Mes tests de ce matin :
Pour la version macro, je ne n'ai plus trouvé d'erreur
Pour la version formule, Theo, tu as bien corrigé l'erreur détectée par Le Pingou (du 14/08/08 au 15/08/08 qui donnait 0,21435 zu lieu de 0,22488 ), mais cela a crée une autre erreur du 14/05/08 au 15/05/08 = 0,20614 au lieu de 0,21436 (dans le tableau précédent sur cette ériode c'était bon)
Merci
Bonjour Le Pingou et Theo,
Je vous remercie tous les deux pour ce travail et le temps que vous avez consacré à ce casse tête.
Merci également pour votre participation au forum de CCM.
J'ai à nouveau testé et cela fonctionne, ormis pour Theo, une erreur quand la période est sur 2 jour (ex 01/05/99 au 02/05/99 = #N/A), ça n'empêche pas d'utiliser le tableau.
Je marque donc la question comme résolue.
PS : est ce qu'il faut conserver toutes nos échanges, ou bien demander à CCM de les supprimer pour ne garder que la solution.
@ bientôt
pajude
Je vous remercie tous les deux pour ce travail et le temps que vous avez consacré à ce casse tête.
Merci également pour votre participation au forum de CCM.
J'ai à nouveau testé et cela fonctionne, ormis pour Theo, une erreur quand la période est sur 2 jour (ex 01/05/99 au 02/05/99 = #N/A), ça n'empêche pas d'utiliser le tableau.
Je marque donc la question comme résolue.
PS : est ce qu'il faut conserver toutes nos échanges, ou bien demander à CCM de les supprimer pour ne garder que la solution.
@ bientôt
pajude