Fonction si et format date

bonjour

je gère ds réceptions de marchandises (des camions arrivent et déchargent des palettes)

colonne A : heure d'arrivée prévue (=rdv)

colonne B : heure réelle d'arrivée

colonne C : le temps d'immobilisation du camion

colonne D : l'heure théorique de départ du camion

colonne E : l'heure de départ réelle

but du tableau, lister les anomalies, lorsque le camion part plus tard que la date théorique de départ (différence entre D et E)

je souhaite calculer l'heure théorique de départ, ce qui à priori est simple, il suffit de faire B2 + C2

sauf que parfois le camion arrive avant l'heure prévue, et dans ce cas, ce n'est pas B2 + C2 qu'il faut faire mais A2 + C2

là est mon problème : parfois, il n'y a pas d'heure fixée pour le rdv, dans la colonne A, on peut trouver une heure, ou alors "AM" pour signifier que le camion passera en matinée, ou alors "pm" pour signifier qu'il passera l'après midi, ou même juste la date du jour (quand on ne sait pas s'il passe le matin ou l'après midi)

je ne peux donc pas faire ceci : =si( A2 < B2 ; B2 + C2 ; A2 + C2 ) puisque parfois en A2 il y a du texte ou un format date

voici ce que je voudrais faire :

=si( ou(A2 ="am"; A2="pm"; A2= ... ; A2 < B2 ) ; B2 + C2 ; A2 + C2 ))

ce sont les ... que je n'arrive pas à paramétrer : comment faire comprendre à excel 2007 que si la cellule A2 est au format date, il doit accomplir une action ?!

merci à tous ceux qui me mettront sur la voie

Bonjour

Pour Excel, une date est un nombre

=SI(ESTNUM(A2);tes conditions

Cordialement

merci de ce conseil, je vais tester cela rapidement

bonsoir,

je n'ai pas réussi à finaliser ma formule avec ESTNUM, cependant, elle m'a mis sur la voie

j'ai remplacé la date saisie dans la colonne A par un texte : journée (19/06)

et dans ma formule, j'ai utilisé ESTEXTE

mais c'est du bricolage

j'aurai eu besoin de l'équivalent de ESTTEXTE pour une date (ESTDATE), mais ça n'existe pas,

ici : https://www.excel-pratique.com/fr/vba/conditions_suite.php, j'ai trouvé une solution en VBA,

mais je ne sais pas m'en servir (jamais utilisé le VBA)

la voilà : If IsDate(Range("A1")) Then ...

voici ma formule finale qui me satisfait moyennement : =SI(OU(A2="am";A2="pm";ESTTEXTE(A2);A2<B2);B2+C2;A2+C2)

estnum ne me permet pas de distinguer heure et date, or c'est important pour le calcul que je dois faire.

mais il y a du progrès !

Bonjour

Pour différencier Date et Heure, tu peux ruser.

Aujourd'hui 26 juillet 2015, Excel donne 42111

Tu peux, par exemple écrire

=SI(A1>42000; etc

Car les heures sont inférieures à 1 sur un format d'heure en Excel

Cordialement

hum... ok ! pigé !

petite précision, de mémoire, une date correspond à un nombre car on considère que le 01/01/1901 est le jour 1 ("celui qu'on retient..." louane sort de ce corps), le 02/01/1901 le jour 2 ...etc

est-ce que c'est bien ça ?

Bonsoir,

Le jour 1 est le 1er janvier 1900 dans Excel.

Mais 0 est reconnu comme date et renvoie 0 janvier 1900. D'où il convient de veiller sur les 0 en matière de date.

Et Excel fournit aussi un 29 février 1900, qui n'existe pas... Il est donc préférable de n'utiliser les dates qu'à partir du 1er mars 1900.

Bonne soirée

Ferrand

bien noté, merci.

Rechercher des sujets similaires à "fonction format date"