Soustractions de dates et heures

Résolu/Fermé
Mabelle60 Messages postés 469 Date d'inscription mercredi 4 avril 2007 Statut Membre Dernière intervention 21 juin 2017 - 5 juil. 2012 à 17:22
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 - 6 juil. 2012 à 07:45
Bonjour la communauté.
Là! je sèche un peu...

Pour la construction d'un planning et analyse des données de respect de RDV, j'ai besoin de rentrer des dates et heures sous différents formats.

Différents formats parce que différents intervenants dans la saisie (fichier excel partagé), différents besoins et pas pratique de saisir la date et l'heure dans une même cellule sous le format jj/mm/aa h:mm (automatisé via une macro)

Donc soit en :
A1, la date au format jj/mm/aa
B1, l'heure au format hh:mm
C1, l'heure au format jj/mm/aa h:mm;@

Ce que souhaite faire, c'est concaténer les données A1 et B1 afin de pouvoir en soustraire C1.

Quelqu'un pourrait-il me mettre sur la voie?

Merci

3 réponses

Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
Modifié par Vaucluse le 5/07/2012 à 17:40
Bonjour

Date en A1
Heure en B1
Jour + heure en C1
essayez en D1:
=A1+B1-(GAUCHE(C1;10)*1+DROITE(C1;NBCAR(C1)-10)*1)
et formatez selon vos souhaits la cellule résultat
.. suppose qu'il n'y a pas de blanc entre le jour et l'heure en C1, sinon ajuster le -10 car le format que vous annoncez donne un nombre de caractères fixe pour la date et variable pour l'heure. (selon h + ou - 10)
et si ça ne fonctionne pas, revenez avec un exemple sur modèle à déposer sur:
http://www/cjoint.fr
en revenant ici déposer le lien donné par le site.
Crdlmnt

crdlmnt
0
Mabelle60 Messages postés 469 Date d'inscription mercredi 4 avril 2007 Statut Membre Dernière intervention 21 juin 2017 130
5 juil. 2012 à 21:22
Bonjour Vaucluse et un grand merci, je n'aurais pas pensé chercher par là.
J'ai du modifier un peu la formule puisqu'elle me donnait un résultat négatif.
Bon en même temps, vous avez donné la formule correspondant à ma demande initiale ;-)
J'ai également du ajouter une dernière addition puisque le résultat me donnait un résultat -6 secondes (pourquoi???)
Voici la formule
=(GAUCHE(C1;10)*1+DROITE(C1;NBCAR(C1)-10)*1)-SOMME(A1+B1)+0,0000694

Pas grave pour 6 secondes, mais le format réduit à hh:mm me met -1 minutes systématiquement, même si j'ai 54 en secondes. Et 1 minute peut influer sur le résultat de mes analyses.

Ensuite, cela fonctionne lorsque mes dates en A1 et C1 sont identiques. Mais lorsque la date en C1 est supérieure à A1, j'ai un résulta incohérent.
J'ai donc testé quelque chose de beauuuuuucoup plus simple qui répond exactement à ce que je cherchais (je me doutais bien que je cherchais trop loin).
=C1-SOMME(A1+B1)
Mais sans vous, je n'y aurais pas pensé.
Ce qui m'a mit sur la voie c'est que vous additionnez un jour et des heures.
Je n'ai pas exploré cette piste persuadé que cela ne donnerait rien de cohérent.

Un exemple valant mieux que de longs discours... voici le lien du fichier avec les différents tests effectués
https://www.cjoint.com/?BGfvlHRIcfo

Cordialement
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
6 juil. 2012 à 07:45
Bonjour

Ma proposition ne correspond pas à votre fichier

Je ne suis basé que le fait que ce que vous annonciez comme format n'était pas un format numérique, vu le @ final dont je ne vois pas l'utilité.

Mais dans votre fichier la valeur en C étant parfaitement numérique, il n'y a aucune raison d'appliquer cette complication, qui de surcroît ne fonctionne pas, car excel ne travaille que sur la valeur numérique de l'horaire, pas sur ce qui est affiché.

C1-(A1+B1) fonctionne donc effectivement directement et la colonne D n'affiche que des erreurs!!

pour comprendre, formatez la colonne C de votre fichier en Standard et voyez ce qui s'affiche: la date est le nombre entier et l'horaire les décimales puisque l'unité de temps est le jour

pour traiter une date en C1 inférieure à A1+B1, excel n'affiche pas les horaires négatifs, et la cellule passe en #############mais conserve sa valeur num

mais vous pouvez obtenir le résultat en affichage sans valeur numérique:
=SI(C1<A1+B1)"-"&(A1+B1)-C1;C1-(A1+B1)
tout simplement.

et pour finir si vous devez utiliser le résultat obtenu en E dans d'autre calcul avec cette formule, placer l'adrese de la cellule avec:
E1*1 pour le renumériser

bonne route
crdlmnt




0