VALUE message d'erreur

Bonjour,

J'essaie de creer un tableau qui recapituleras les problèmes de pointage éventuels. Voici ma formule :=IF(B2="TiempoCompleto";IF(AND(ISBLANK(E2);ISBLANK(F2);ISBLANK(G2);ISBLANK(I2));"Ausenciatotal";IF(OR(ISBLANK(E2);ISBLANK(F2);ISBLANK(G2);ISBLANK(I2));"Faltanpuntos";IF(E2>D2+TIME(0;5;0);"Retrasoentrada";IF(I2<H2-TIME(0;5;0);"Salidaanticipada";IF(AND(NOT(ISBLANK(F2));NOT(ISBLANK(G2));VALUE(G2)>VALUE(F2);VALUE(G2)-VALUE(F2)>TIME(1;0;0));"Tiempo comida excessivo";"Correcto"))))));IF(B2="TiempoParcial";IF(AND(ISBLANK(E2);ISBLANK(I2));"Ausenciatotal";IF(OR(ISBLANK(E2);ISBLANK(I2));"FaltanPuntos";IF(E2>D2+TIME(0;5;0);"Retrasoentrada";IF(I2<H2-TIME(0;5;0);"SalidaAnticipada";"Correcto"))));"Correcto")

Le mot VALUE apparait pour me montrer une erreur que je n'qrrive pqs a identifier... Pourriez vous m'aider svp ? L'erreur ne vient pas des points virgules et mon excel est en anglais...

10pointages.xlsx (11.08 Ko)

Bonjour & bienvenue sur le forum,

Votre formule a une petite erreur de parenthèse/point virgule. Est-ce ceci le résultat attendu ?

=IF(
    B2 = "TiempoCompleto";
    IF(
        AND(ISBLANK(E2); ISBLANK(F2); ISBLANK(G2); ISBLANK(I2));
        "Ausenciatotal";
        IF(
            OR(ISBLANK(E2); ISBLANK(F2); ISBLANK(G2); ISBLANK(I2));
            "Faltanpuntos";
            IF(
                E2 > D2 + TIME(0; 5; 0);
                "Retrasoentrada";
                IF(
                    I2 < H2 - TIME(0; 5; 0);
                    "Salidaanticipada";
                    IF(
                        AND(
                            NOT(ISBLANK(F2));
                            NOT(ISBLANK(G2));
                            VALUE(G2) > VALUE(F2);
                            VALUE(G2) - VALUE(F2) > TIME(1; 0; 0)
                        );
                        "Tiempo comida excessivo";
                        "Correcto"
                    )
                )
            )
        )
    );
  IF(
      B2 = "TiempoParcial";
      IF(
          AND(ISBLANK(E2); ISBLANK(I2));
          "Ausenciatotal";
          IF(
              OR(ISBLANK(E2); ISBLANK(I2));
              "FaltanPuntos";
              IF(
                  E2 > D2 + TIME(0; 5; 0);
                  "Retrasoentrada";
                  IF(I2 < H2 - TIME(0; 5; 0); "SalidaAnticipada"; "Correcto")
              )
          )
      );
      "Correcto"
  )
)

Je n'ai pas trop regardé la "logique" derrière tout ça, mais je suis sur qu'il y a moyen de faire beaucoup plus simple comme formule. Si vous etes intéressé...

En conservant votre logique, on peut/devrait utiliser IFS. Pas vraiment beaucoup plus court mais selon moi un peu plus lisible et facilement adaptable :

=SWITCH(
    B2;
    "TiempoCompleto"; IFS(
        AND(ISBLANK(VSTACK(E2; F2; G2; I2)));
        "AT";
        OR(ISBLANK(VSTACK(E2; F2; G2; I2)));
        "FP";
        E2 > D2 + TIME(0; 5; 0);
        "RE";
        I2 < H2 - TIME(0; 5; 0);
        "SA";
        AND(ISBLANK(VSTACK(F2; G2)); G2 - F2 > TIME(1; 0; 0));
        "TCE";
        TRUE;
        "C"
    );
    ; "TiempoParcial"; IFS(
        AND(ISBLANK(VSTACK(E2; I2)));
        "AT";
        OR(ISBLANK(VSTACK(E2; I2)));
        "FP";
        E2 > D2 + TIME(0; 5; 0);
        "RE";
        I2 < H2 - TIME(0; 5; 0);
        "SA";
        TRUE;
        "C"
    ); 
)

(Remplacez les abréviations par le mot complet)

Rechercher des sujets similaires à "value message erreur"