Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Formule test sur lignes dans tableau (Chevauchement Dates et heures)

2 réponses
Avatar
DomiTFX
Bonjour =E0 tous,

J'ai un tableau tr=E8s simple me servant a g=E9rer des activit=E9s.
Cela se presente sous une forme basique : une activit=E9, une date, une
heure de debut, une heure de fin.
Une ligne =3D une activit=E9

Je cherche =E0 faire un test sur les lignes via une formule (ou VBA si
pas de solution plus simple !)

J'ai dans la colonne A les activit=E9s (Texte)
J'ai dans la colonne B une plage nomm=E9e (plage_Date) contenant les
dates
J'ai dans la colonne D une plage nomm=E9e (plage_deb) contenant un
nombre entre 8 et 16 (cela correspond =E0 une heure de debut mais c'est
au format nombre)
J'ai dans la colonne E une plage nomm=E9e (plage_fin) contenant un
nombre obtenu par calcul (entre 9 et et 18). La valeur est calcul=E9e et
depends de la nature de l'activit=E9 (1 =E0 2 heures max)



Je voudrais tester chaque ligne pour savoir si la periode d'activit=E9
se chevauche avec une autre d=E9j=E0 saisie dans le tableau. (M=EAme date e=
t
au moins 1 heure de chevauchement)

L'ideal pour moi serait d'obtenir en face de chaque ligne le nombre de
fois ou cette activit=E9 se chevauche avec d'autre...

J'esp=E8re avoir =E9t=E9 clair

Merci par avance pour votre precieuse aide
Domi

2 réponses

Avatar
Charabeuh
Bonjour,

En supposant que les heures ne sont que des nombres entiers :
testez la formule suivantes en E2 (et recopier vers le bas):
'''''''''''''''''''''''''''''''''''''
=SOMMEPROD((Plage_Date²)*(LIGNE(B2)<>LIGNE(Plage_Date))
*NON(((D2<=plage_deb)+(C2>=plage_Fin))) )
''''''''''''''''''''''''''''''''''''''

Si les heures peuvent être démales (9,50 ==> 9h30) et si le chevauchement ne
débute qu'à partir d'au moins 1 heure de recouvrement, alors testez la
formule suivante:
'''''''''''''''''''''''''''''''''''''
=SOMMEPROD((Plage_Date²)*(LIGNE(B2)<>LIGNE(Plage_Date))
*NON(((D2-1<plage_deb)+(C2+1>plage_Fin))) )
''''''''''''''''''''''''''''''''''''''"

Cela aide t il ?



DomiTFX" a écrit dans le message de groupe de
discussion :

Bonjour à tous,

J'ai un tableau très simple me servant a gérer des activités.
Cela se presente sous une forme basique : une activité, une date, une
heure de debut, une heure de fin.
Une ligne = une activité

Je cherche à faire un test sur les lignes via une formule (ou VBA si
pas de solution plus simple !)

J'ai dans la colonne A les activités (Texte)
J'ai dans la colonne B une plage nommée (plage_Date) contenant les
dates
J'ai dans la colonne D une plage nommée (plage_deb) contenant un
nombre entre 8 et 16 (cela correspond à une heure de debut mais c'est
au format nombre)
J'ai dans la colonne E une plage nommée (plage_fin) contenant un
nombre obtenu par calcul (entre 9 et et 18). La valeur est calculée et
depends de la nature de l'activité (1 à 2 heures max)



Je voudrais tester chaque ligne pour savoir si la periode d'activité
se chevauche avec une autre déjà saisie dans le tableau. (Même date et
au moins 1 heure de chevauchement)

L'ideal pour moi serait d'obtenir en face de chaque ligne le nombre de
fois ou cette activité se chevauche avec d'autre...

J'espère avoir été clair

Merci par avance pour votre precieuse aide
Domi
Avatar
DomiTFX
On 10 juin, 07:47, "Charabeuh" wrote:
Bonjour,

En supposant que les heures ne sont que des nombres entiers :
testez la formule suivantes en E2 (et recopier vers le bas):
'''''''''''''''''''''''''''''''''''''
=SOMMEPROD((Plage_Date)*(LIGNE(B2)<>LIGNE(Plage_Date))
*NON(((D2<=plage_deb)+(C2>=plage_Fin)))  )
''''''''''''''''''''''''''''''''''''''

Si les heures peuvent tre d males (9,50 ==> 9h30) et si le chevauchem ent ne
d bute qu' partir d'au moins 1 heure de recouvrement, alors testez la
formule suivante:
'''''''''''''''''''''''''''''''''''''
=SOMMEPROD((Plage_Date)*(LIGNE(B2)<>LIGNE(Plage_Date))
*NON(((D2-1<plage_deb)+(C2+1>plage_Fin)))  )
''''''''''''''''''''''''''''''''''''''"

Cela aide t il ?

DomiTFX" a crit dans le message de groupe de
discussion :




> Bonjour tous,

> J'ai un tableau tr s simple me servant a g rer des activit s.
> Cela se presente sous une forme basique : une activit , une date, une
> heure de debut, une heure de fin.
> Une ligne = une activit

> Je cherche faire un test sur les lignes via une formule (ou VBA si
> pas de solution plus simple !)

> J'ai dans la colonne A les activit s (Texte)
> J'ai dans la colonne B une plage nomm e (plage_Date) contenant les
> dates
> J'ai dans la colonne D une plage nomm e (plage_deb) contenant un
> nombre entre 8 et 16 (cela correspond une heure de debut mais c'est
> au format nombre)
> J'ai dans la colonne E une plage nomm e (plage_fin) contenant un
> nombre obtenu par calcul (entre 9 et et 18). La valeur est calcul e et
> depends de la nature de l'activit (1 2 heures max)

> Je voudrais tester chaque ligne pour savoir si la periode d'activit
> se chevauche avec une autre d j saisie dans le tableau. (M me date et
> au moins 1 heure de chevauchement)

> L'ideal pour moi serait d'obtenir en face de chaque ligne le nombre de
> fois ou cette activit se chevauche avec d'autre...

> J'esp re avoir t clair

> Merci par avance pour votre precieuse aide
> Domi- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -



Après quelques menues corrections cela me convient parfaitement ! bien
vu que coup de LIGNE....;o))))

Merci