Chevauchement de périodes (dates)

andré

XLDnaute Barbatruc
Salut,

Petit problème de formule matricielle.

En A2 :B4 des périodes d’indisponiblité d’un engin de chantier.
Colonne A : date de début.
Colonne B : date de fin

25.03.06 03.04.06
11.04.06 18.04.06
25.04.06 06.05.06

En A11 :B11 une période de chantier
03.04.06 29.04.06

Je cherche à calculer le nombre de jours que cet engin n’est pas disponible sur ce chantier durant la période stipulée en A11 :B11, dimanche non compris.

Pour la première période d’indisponibilté, pas de problème :
SI(MOD(NB(A2:B4);2)>0;0;MAX(0;MIN(B11;B2)-MAX(A11;A2)+1-ENT((MIN(B11;B2)-1)/7)+ENT((MAX(A11;A2)-2)/7)))

Pour ne pas devoir additionner trois fois cette formule (une par période d’indisponibilité), je souhaite la transformer en matricielle.

Quelqu’un a-t-il une idée ?
Merci d’avance.

Â+

Message édité par: andré, à: 26/06/2006 08:55
 

Monique

Nous a quitté
Repose en paix
Bonjour,

=LIGNE(INDIRECT(De&':'&Fi))
fait croire à Excel qu'il s'agit d'une plage verticale de cellules,
plage dont la 1ère cellule a la valeur de De et la dernière la valeur de Fi

Pour voir cette plage 'fictive',
la formule =LIGNE(INDIRECT(De&':'&Fi))
est à valider par ctrl, maj et entrée
après avoir sélectionné autant de cellules qu'il y a de jours de De à Fi

=De renvoie seulement la date de début, nommée 'De'
=E5 renvoie 0, tant que E5 est vide

Si tu as d'autres dates de chantier,
il faudrait remplacer, dans la formule, 'De' par E4 et 'Fi' par F4
Je viens de le faire et ça marche.
 

andré

XLDnaute Barbatruc
Re,

Merci pour l'explication, j'ai appris quelque chose de plus.

Pour pouvoir étirer la formule, j'avais modifié la cellule nommée 'De' de =Feuil1!$E$4 en =Feuil1!$E4, idem pour Fi.
Cela marche aussi (évidemment)

Par contre nommer LIGNE(INDIRECT(De&':'&Fi)) et remplacer cette partie de formule (3 *) par son nom ne semble pas fonctionner.

Je me disais que si tu avais choisi la cuisine au lieu d'XL comme hobby, Michelin aurait du ajouter quelques ***** à sa classification (lol).

Â+

Message édité par: andré, à: 28/06/2006 14:23
 

andré

XLDnaute Barbatruc
Re,

Et encore des remerciements !

Dans ton exemple, en lignes 5 et 6 de l''indisponibilté engins', il y a des délais qui se chevauchent (sam 15 avr 06, lun 17 avr 06 et mar 18 avr 06).

Le résultat de la formule n'est donc pas exact (14 devrait être 11).

C'est une contrainte que je n'avais pas même remarquée, et il me semble qu'il ne soit pas possible de la solutionner par la formule (mais sait-on jamais).

Donc j'ai essayé de mettre sur ce tableau des messages d'erreurs (menu Données / Validation) ainsi que des MFC.
Cela fonctionne parfaitement.

Â+

EDITION :
C'était 3 jours de chevauchement de délai et non 2.

Message édité par: andré, à: 28/06/2006 17:06
 

Statistiques des forums

Discussions
312 396
Messages
2 088 038
Membres
103 705
dernier inscrit
mytek