Addition d'heures négatives ENTRE ELLES

Résolu
Bonjour,
en appliquant la formule =SI(E3>B3;E3-B3;" - "&TEXTE(ABS(E3-B3);"[h]:mm")) j'obtient le résultat attendu (négatif ou positif) en G1... jusque là pas de problème.
Je voudrais additionner en G3 le résultat de G1 avec des heures positives d'une cellule G2.
Si G1 est négatif, j'ai un résultat d'erreur, si G1 est positif, tout marche à merveille.
Ma formule en G3 est : G1 +G2
D'avance merci...
Configuration: Windows XP

13 réponses

Résumé de la discussion

Plusieurs utilisateurs cherchent à additionner le résultat de G1, calculé par une condition Excel entre E3 et B3, avec des heures positives de G2, afin d'obtenir un solde correct dans G3. Des propositions opérationnelles utilisent une formule conditionnelle dans G3, par exemple G3 = SI(E3>=B3;G1+G2;G2-G1), afin que l'opération tienne compte du signe du solde et de l'ordre des opérations. Des problèmes apparaissent lorsque G1 est négatif ou lorsque le format calendrier 1904 perturbe l'affichage, conduisant à des erreurs d'affichage comme ####, ce qui complique le calcul dans G3. Une nuance utile: certaines recommandations insistent sur le maintien de formats cohérents, l'évitement du calendrier 1904 lorsque possible, et l'ajustement des formats d'heures [h]:mm pour éviter les incompatibilités.

Bobot (l’IA à votre service)
  1. Contributeur
    Avec un .. Truc !!
    En F1 : =SI(E3>=B3;"Solde + ";"Solde - ") 'alignement à droite.
    En G1 : =SI(E3>=B3;E3-B3; B3-E3)
    En G3 : =SI(E3>=B3;G2+G1;G2-G1)

    Faut employer le même truc pour F3 et G3.
    Boof, c'est qu'une idée faute de mieux peut être !!
    A+
    1
    1. bon alors la chapeau et mes profonds respects... ! dommage qu'il s'agisse d'un "truc" et je sens bien que la gestion de heures négatives ds xls est loin d'être une science exacte
      0
    2. si le nouveau solde est négatif en G3 je me retrouve avec ##### !
      0
    3. Contributeur
      @DédéOui, c'est pour cela que je disais..
      Faut employer le même truc pour F3 et G3.

      C'est à dire mettre une condition supplémentaire et tester lequel est le plus grand..
      0
  2. bonjour
    le calcul des heures négatives s 'effectue via le calendrier 1904
    Sélectionnez le Menu Outils, Options
    Sélectionnez l'onglet Calcul
    Cochez l'option Calendrier depuis 1904
    0
    1. j'ai oublié de préciser que j'ai déjà coché cette option (j'ai fait toutes les recherches possible avant de poser ma question...
      0
  3. Si dans des cellules avoisinantes, tu fais une addition d'heures devant aboutir à un résultat négatif, puis que tu l'ajoutes à une durée positive, tu obtiens le même genre de résultat d'erreur ?
    En d'autres termes, est-ce lié à ta formule, ou pas ?
    0
    1. Contributeur
      Tu essayes de soustraire un texte d'un nombre !
      0
      1. Tu as raison, Raymond !

        Mais pourquoi as-tu recours à ce genre de formule, puisque tu es au format "Calendrier 1904" ? Le recours à ce format t'évite justement de passer par ce genre de formule. Fais tes comptes normalement, sous ce format, et tu n'auras plus ce souci.

        Bonne soirée à vous
        0
        1. Contributeur
          Je m'explique :

          =SI(E3>B3;E3-B3; " - "&TEXTE(ABS(E3-B3);"[h]:mm") )
          en italique c'est du numérique ; en gras tu colles des textes.

          Essaie (je n'ai pas testé) avec CNUM pour le convertir en numérique
          =SI(E3>B3;E3-B3; CNUM(" - "&TEXTE(ABS(E3-B3);"[h]:mm")) )
          0
          1. merci d'avoir essayé j'ai testé et cela ne fonctionne pas...
            0
        2. Modérateur
          Bonsoir,

          Attention vraiment au calendrier depuis 1904 ! C'est un vrai piège ce truc ! Tout le monde va vieillir de 4 ans... On n'avait pas besoin de ça ! ;)) Ben oui, toutes les dates vont prendre 4 ans... Pour s'y retrouver, c'est cool !
          et par ailleurs, attention aux échanges avec d'autres personnes qui n'utilisent pas cette fonction.

          Pour tout savoir et tout comprendre sur ces fichues dates négatives, voir le site de Laurent Longre :
          http://xcell05.free.fr/pages/form/dateheure.htm

          m@rina
          0
          1. remarque très pertinante merci ! j'ai pas encore réglé mon problème mais je n'utiliserai plus jamais le calendrier 1904 !
            0
          2. est-il possible de joindre mon fichier à mon message pour que ma demande soit plus explicite ?
            0
        3. bonjour
          entendu
          joins ton fichier si les données ne sont pas confidentiels
          0
          1. bien bien mais comment joindre un fichier à ce message ???
            0
        4. Contributeur
          Bonjour,
          Tu met ton classeur sur Cjoint.com et ensuite tu colle le lien sur un poste suivant.
          A+
          0
          1. voilà : http://cjoint.com/data/ewdirIYFST.htm
            0
        5. Contributeur
          Bonjour à tous.

          Une solution pour les calculs, qui n'est qu'une demi-solution pour l'affichage :

          Pour les cellules G1 à G3, adopter un format personnalisé en minutes pouvant excéder 60 ;
          pour cela saisir [mm]" min";-[mm]" min" dans la fenêtre "Type"
          et se contenter des formules =E3-B3 en G1 et =G1+G2 en G3 ...

          NB ► Ne vaudrait-il pas mieux mettre
          =SI(C5+D5+E5=0;"";SI(D5>C5+E5;D5-C5-E5;"erreur"))
          au lieu de =SI(D5>0;D5-C5-E5;" ") en F5 (et pareil en -dessous) ?
          https://www.cjoint.com/?ewoDHLEapR
          0
          1. merci Raymond pour le NB, une erreur évitée en plus dans l'encodage de mes collègues. Par contre j'y ai passé la nuit et c'est impossible à régler si le solde en G3 est négatif. En effet si G1 est négatif, on le sait en le voyant en F3 mais dans le calcul en G3, G1 sera toujours positif même si il est négatif.... j'ai même essayé de réintroduire ma formule en G3 (utilisant Texte et abs mais on ne sait toujours pas si G1 est positif ou négatif). bon d'accord les minutes forcées cela fonctionne mais c'est impossible à gérer... héhé j'ai encore 372 minutes à récupérer !
            0
        6. Contributeur
          Pour continuer avec le "truc"..
          en F3 : =SI(G2>=G1;"nouv. Solde +";"nouv. Solde -")
          en G3 : =SI(G2>=G1;G2+G1;G1-G2)

          A+
          0
          1. bonjour Lermite, cela ne focntionne pas et c'est normal puisque ta formule =SI(G2>=G1;G2+G1;G1-G2) compare G1 et G2 mais qu'elle ne tient pas compte que G1 peut être positif ou négatif en F1. Autrement dit -6 en G1 et +10 en G2 donne en G3: 16 alors qu'il devrait être 4. Pour arriver à faire le calcul, il faudrait que la valeur en G1 soit relativisée par la zone F1...
            0
        7. Bonjour Dédé

          Beaucoup de personnes (et pas des moindres) t'apportent des réponses... pour tenter de faire... ce qui n'est pas le fait d'excel, hors format calendrier 1904 (que ce soit dommage est un fait, mais c'est ainsi).

          Les problèmatiques d'excel sont particulières à chacun, selon ce qu'il fait : en jetant un oeil à ton fichier, on constate qu'aucune date n'est entrée par formule... tant que tu utiliseras ton fichier avec des dates statiques, le format 1904 ne peut rien y perturber...

          Pour ma part, j'utilise le format 1904, (avec des dates issues de formules, des macros, et des échanges avec d'autres fichiers qui ne sont pas au format 1904), le tout sans renconter de problème aussi long à résoudre que les tiens depuis 8 jours...

          Une fois de plus, à toi de voir !

          Bon courage...
          0
          1. merci à tous pour votre disponibilité
            je vais suivre ton conseil...
            0
          2. @DédéSi tu avais un souci, n'hésite pas à poster sur le même fil.
            Si tout va bien (ce dont je suis persuadée), n'oublie pas de mettre résolu en haut !

            Bref, tiens nous au courant !
            0
          3. @koba lyelyeje voudrais bien mettre que c'est résolu mais je ne vois pas ou le cocher ....
            0
          4. Contributeur
            @DédéTu ne peux pas : tu ne t'es pas encore inscrit comme membre !
            Alors quelqu'un l'a fait à ta place ...
            0