none
Comment faire une formule pour valider une plage horaire RRS feed

  • Question

  • Bonjour,

                    j'ai créé un formulaire custom pour l'ajout d'un évènement dans un calendrier de réservation de stationnement pour véhicule électrique.

    Le formulaire fonctionne très bien et ajoute l'évènement dans mon calendrier sans faire aucune validation.

    Maintenant, j'aimerais pouvoir valider que le temps entre la date et l'heure de début et de fin de la réservation est de 4h et moins.

    J'ai regardé sur internet et je trouve des exemples de formule pour des champs calculé, mais je ne sais pas si c'est formule fonctionne aussi dans la fonction de validation du calendrier ? 

    J'ai essayer de faire une formule de type SI, mais Sharepoint mentionne que des erreurs ont été trouvé ou que la fonction n'est pas disponible.

    Voici la formule que j'ai essayé.

    =SI(([Heure de fin]-[Heure de début])*24 < 4, "Plage de 4 h Maximum", " ") 

    Si je clique sur enregistrer j'ai l'erreur ci-dessous:

    La formule contient une erreur de syntaxe ou n'est pas prise en charge.

    Est-ce-que je peux utiliser des SI dans la section de validation que l'on trouve dans la section des paramètres de liste du calendrier??

    Avez-vous des sites web intéressant qui explique le fonctionnement des formules de validation ?

    Le but est de ne pas permettre l'enregistrement d'un évènement si il dure plus de 4h.

    J'aimerais aussi trouvé une manière d'éviter les doublons, car l'option Vérifier double réservation ne fonctionne pas.

    Elle bloque l'enregistrement des nouveaux évènements en tout temps.

    Merci !

    Marc-Etienne


    vendredi 24 janvier 2020 21:44

Toutes les réponses

  • Bonjour,

                   le formulaire est celui d'un calendrier standard qui a été modifié.

    J'ai donc pour les 2 champs, une liste qui affiche un calendrier et l'heure.

    Merci pour le lien j'avais déjà consulté ce site, mais dans les exemples il ne semble pas y avoir de possibilité de faire des SI comme dans Excel. 

    Je me suis basé sur ce site web pour faire une formule dans une autre liste ou j'ai ajouté un champs calculé. 

    Pour que ça fonctionne j'ai du faire un champs date et un champs indépendant pour avoir l'heure séparé.

    Ici comme c'est le formulaire pour l'ajout d'un événement dans un calendrier je ne veux pas autant que possible avoir a essayer de scinder les champs heure début et heure fin qui sont par défaut dans le formulaire.

    lundi 27 janvier 2020 13:53
  • Dans le lien fourni, il y a bien des exemples avec la formule de calcul SI.

    Par contre, si on veux manipuler des champs dates, il faut utiliser les fonctions date adéquates.

    https://support.office.com/fr-fr/article/date-fonction-b91bef00-4b5b-4ee0-b80e-06e68b1dff29

    lundi 27 janvier 2020 14:41
  • Bonjour,

                     j'ai fais des tests de formule et je n'ai maintenant plus les erreurs de structure.

    Par contre, sa semble seulement fonctionner dans des champs calculé.

    Si je crée un champs calculé dans la liste calendrier et que j'y assigne la formule =TEXTE([Heure de fin]-[Heure de début];"h") j'obtiens le bon résultat.

    C'est a dire que si je créer un nouvel élément de calendrier et que j'entre une date de début et une date de fin avec des heures pour chacune puis que j'enregistre l'élément celui-ci contient mon champs calculé avec la bonne valeur lorsque je fais afficher les propriétés.

    Ex: 4 fev 2020 13h00 -> heure de début

          4 fev 2020 16h00 -> heure de fin

    Le champs calculé me donne bien 3h comme résultat.

    Le seul hic c'est que rien n'est valider avant l'enregistrement de l'élément.

    L'idéal serait que je puisse le faire lorsque je clique sur enregistrer, mais lorsque je place cette formule dans la section validation de la liste SharePoint refuse de l'enregistrer et affiche le message en rouge Entrer une plage de 4h.


    mardi 4 février 2020 21:21
  • Ce matin j'ai testé de reprendre ma formule d'hier qui fonctionne pour le calcule. 

    TEXTE([Heure de fin]-[Heure de début];"h") 

    J'ai essayé de la mettre dans un formule SI afin de valider que la valeur calculé est plus grande que 4.

    =SI(TEXTE([Heure de fin]-[Heure de début];"h")>4;"Plage de 4h max";"ok")

    SharePoint ne me donne pas d'erreur de syntaxe pour la formule, mais lorsque je vais dans un enregistrement existant dans mon calendrier, seul le message Plage de 4h max s'affiche peu importe la différence entre l'heure de début et l'heure de fin. 

    Si je vais en édition sur un rendez-vous et que je change l'heure de fin ou de début pour rester dans une plage de 4 heures, ou pour la dépasser, le formulaire refuse de réenregistrer la modification et affiche le message ci-dessous. 

    La formule de validation a donné lieu à une erreur.


    J'utilise ce champs temporairement pour tester mes formules et voir le résultat final. 

    Mais pour le moment je semble reproduire le même problème sur le champs calculé que j'ai dans la section validation des propriétés de la liste calendrier. 

    Est-ce-que les champs calculé sont en mesure de faire des comparaisons ? 

     

    mercredi 5 février 2020 14:50