Lorsque vous scénarisez des chemins comprenant des champs de valeur ou lorsque vous "maquillez" des champs de valeur, il est possible d'utiliser des formules afin de contrôler ou afficher des valeurs dynamiques.
Vous pouvez rendre une date dynamique en utilisant la formule :
=FORMAT("format d'affichage de la date";valeur de la date)
Le format d’affichage d’une date est à définir en combinant les éléments suivants :
| EE | Jour de la semaine en toutes lettres (français) |
| E | Jour de la semaine en 3 premières lettres (français) |
| D | Jour sur 1 chiffre si inférieur à 10. Sinon, affichage sur 2 chiffres |
| DD | Jour sur 2 chiffres |
| M | Mois sur 1 chiffre si inférieur à 10. Sinon, affichage sur 2 chiffres |
| MM | Mois sur 2 chiffres |
| MMM | Mois en lettres, en anglais |
| MMMM | Mois en lettres, en français |
| YY | Année sur 2 chiffres |
| YYYY | Année sur 4 chiffres |
Par exemple :
| DD/MM/YYYY | Date de type 07/09/2018 |
| DD-MM-YY | Date de type 02-11-18 |
| EE D MMMM | Date de type lundi 6 mai |
| DD MMMM YYYY | Date de type 02 juin 2018 |
=FORMAT("DD.MM.YYYY";AUJOURDHUI())
=FORMAT("DD.MM.YY hh:mm:ss";MAINTENANT())
Basé sur la formule AUJOURDHUI. Indiquez un nombre de jours en + ou en - après AUJOURDHUI(). Par exemple :
| Le lendemain | =FORMAT(“DD.MM.YYYY”;AUJOURDHUI()+1) |
| La veille | =FORMAT(“DD.MM.YYYY”;AUJOURDHUI()-1) |
| Il y a 2 jours | =FORMAT(“DD.MM.YYYY”;AUJOURDHUI()-2) |
| Il y a une semaine | =FORMAT(“DD.MM.YYYY”;AUJOURDHUI()-7) |
| Dans une semaine | =FORMAT(“DD.MM.YYYY”;AUJOURDHUI()+7) |
La formule SERIE.JOUR.OUVRE() est utilisée avec 2 paramètres; la date de début et le nombre de jours en plus ou en moins. Elle renvoie la date correspondant au nombre de jours spécifiés en plus ou en moins, en ignorant les jours fermés (samedi et dimanche). En cas de jours ouvrés dans le passé, faire précéder le nombre de jours en moins, de 0.
Par exemple :
| Dans 1 jour ouvré | =FORMAT(“DD.MM.YYYY”;SERIE.JOUR.OUVRE(AUJOURDHUI();1)) |
| 5 jours ouvrés à partir de demain | =FORMAT(“DD.MM.YYYY”;SERIE.JOUR.OUVRE(AUJOURDHUI()+1;5)) |
| Il y a 2 jours ouvrés | =FORMAT(“DD.MM.YYYY”;SERIE.JOUR.OUVRE(AUJOURDHUI();0-2)) |
| 3 jours ouvrés avant demain | =FORMAT(“DD.MM.YY”;SERIE.JOUR.OUVRE(AUJOURDHUI()+1;0-3)) |
=FORMAT("DD.MM.YY";FIN.MOIS(AUJOURDHUI()))
Une formule plus complète pour afficher une date est utilisée :
=FORMAT("DD.MM.YYYY";DATE(JOUR(AUJOURDHUI());MOIS(AUJOURDHUI());ANNEE(AUJOURDHUI()))
Dans cette formule, indiquez un nombre de jours en + ou en - après JOUR(AUJOURDHUI()), un nombre de mois en + ou en - après MOIS(AUJOURDHUI()) ou un nombre d’années en + ou en - après ANNEE(AUJOURDHUI()).
Par exemple :
Dans 8 mois
=FORMAT("DD.MM.YYYY";DATE(JOUR(AUJOURDHUI());MOIS(AUJOURDHUI())+8;ANNEE(AUJOURDHUI())))
Il y a un an
=FORMAT("DD.MM.YYYY";DATE(JOUR(AUJOURDHUI());MOIS(AUJOURDHUI());ANNEE(AUJOURDHUI())-1))
Dans 1 an et 6 mois
=FORMAT("DD.MM.YYYY";DATE(JOUR(AUJOURDHUI());MOIS(AUJOURDHUI())+6;ANNEE(AUJOURDHUI())+1))|
Pour afficher une date correspondant à une prochaine occurrence d’un jour ou une occurrence passée, la fonction SI et le numéro du jour vont être introduits dans la formule DATE complète.
Par exemple :
Le prochain 5 du mois (Si la date du jour est strictement inférieure à 5, la date affichée sera le 5 du mois en cours. Sinon, la date sera le 5 du mois suivant.)
=FORMAT("DD.MM.YYYY";DATE(05;SI(JOUR(AUJOURDHUI())<5;0;1)+MOIS(AUJOURDHUI());ANNEE(AUJOURDHUI())))
Le 15 du mois, 6 occurrences en arrière (Si la date du jour est strictement inférieure à 15, la date affichée sera le 15 de 6 mois auparavant. Sinon, la date sera le 15 de 5 mois auparavant.)
=FORMAT("DD.MM.YYYY";DATE(15;SI(JOUR(AUJOURDHUI())<15;0;1)+MOIS(AUJOURDHUI())-6;ANNEE(AUJOURDHUI())))
Dans 2 ans, le prochain 10 du mois
=FORMAT("DD.MM.YYYY";DATE(10;SI(JOUR(AUJOURDHUI())<10;0;1)+MOIS(AUJOURDHUI());ANNEE(AUJOURDHUI())+2))
La formule VALEURPREC permet de répéter une valeur rencontrée ou saisie précédemment. Elle est construite sur le modèle suivant :
=VALEURPREC("id scene";"chemin du cadre";"id champ";"valeur par défaut")
id scene : identifiant de la scène, qui contient la valeur à récupérer. Pour connaître l'identifiant d'une scène, survoler son nom dans la partie “Scènes” à gauche de K-Méléon Editor.
chemin du cadre associé au champ qui contient la valeur à récupérer. Le chemin du cadre est indiqué dans les propriétés d'un champ.
identifiant du champ, qui contient la valeur à récupérer. L'identifiant est indiqué dans les propriétés d'un champ.
valeur par défaut, affichée si la scène renseignée n’est pas visitée.
=VALEURPREC("scene1";"appFrame";"nom")
Cette formule affichera le contenu du champ « nom » de « scène1 ».
=VALEURPREC("scene1";"appFrame";"nom";"Durand")
Cette formule affichera le contenu du champ « nom » de « scène1 ». Si la scène 1 n’est pas visitée, alors « Durand » sera affiché.
Une formule SI permet de spécifier les conditions d'affichage d'une valeur ou d'une autre. Elle est construite sur le modèle suivant :
=SI(Condition;"Valeur OK";"Valeur KO facultative")
=SI(JOUR(AUJOURDHUI())<15;"A";"B")
Cette formule affichera A si le jour renseigné est inférieur à 15, sinon B.
=SI(JOUR(AUJOURDHUI())>15;"Retard")
Cette formule affichera “Retard” si le jour renseigné est supérieur à 15, sinon rien.
Lorsque vous exercez un contrôle de valeur dans un chemin, il est possible d'effectuer un contrôle de type supérieur à, inférieur à, intervalle de valeurs.
Sélectionnez dans votre chemin la permission de saisie plage de valeurs…
… et utilisez la formule adéquate.
=CONTROL.INFERIOR(valeur test;"séparateur de milliers";"séparateur des décimales")
séparateur des milliers : virgule en Anglais et espace en Français
séparateur des décimales : point en anglais et virgule en Français
A noter que les séparateurs sont facultatifs.
Exemple :
=CONTROL.INFERIOR(3600;" ";",")
Avec cette formule l'apprenant devra saisir une valeur strictement inférieure à 3600 en respectant la syntaxe des séparateurs précisée. Si la valeur saisie est supérieur ou égale à 3600 ou si le nombre saisi utilise les séparateurs anglais, le simulateur affichera le message d'erreur.
=CONTROL.INFERIOR.OR.EQUAL(valeur test; "séparateur des milliers"; "séparateur des décimales")
Avec cette formule l'apprenant devra saisir une valeur inférieure ou égale à la valeur test en respectant la syntaxe des séparateurs précisée.
=CONTROL.SUPERIOR(valeur test;"séparateur des milliers";"séparateur des décimales")
Avec cette formule l'apprenant devra saisir une valeur strictement supérieure à la valeur test en respectant la syntaxe des séparateurs précisée.
=CONTROL.SUPERIOR.OR.EQUAL(valeur test;"séparateur des milliers";"séparateur des décimales")
Avec cette formule l'apprenant devra saisir une valeur supérieure ou égale à la valeur test en respectant la syntaxe des séparateurs précisée.
=CONTROL.INTERVAL(valeur min test;valeur max test;"séparateur des milliers";"séparateur des décimales")
Avec cette formule l'apprenant devra saisir une valeur comprise ou égale entre la valeur minimale test et la valeur maximale test en respectant la syntaxe des séparateurs précisée.
=CONTROL.INTERVAL.OPEN(valeur min test;valeur max test;"séparateur des milliers";"séparateur des décimales")
Avec cette formule l'apprenant devra saisir une valeur strictement comprise entre la valeur minimale test et la valeur maximale test en respectant la syntaxe des séparateurs précisée.
=CONTROL.INTERVAL.LEFT.OPEN(valeur min test;valeur max test;"séparateur des milliers";"séparateur des décimales")
Avec cette formule l'apprenant devra saisir une valeur comprise entre la valeur minimale test (exclue) et la valeur maximale test (inclue) en respectant la syntaxe des séparateurs précisée.
=CONTROL.INTERVAL.RIGHT.OPEN(valeur min test;valeur max test;"séparateur des milliers";"séparateur des décimales")
Avec cette formule l'apprenant devra saisir une valeur comprise entre la valeur minimale test (inclue) et la valeur maximale test (exclue) en respectant la syntaxe des séparateurs précisée.
Lorsque vous exercez un contrôle de valeur de date dans un chemin, il est possible d'effectuer un contrôle de type antérieur à, postérieur à, intervalle de valeurs de date.
Sélectionnez dans votre chemin la permission de saisie plage de valeurs…
… et utilisez la formule adéquate.
=CONTROL.INFERIOR(valeur de date test;"format de date";"langue")
Pour définir la valeur de date test.
Pour définir le format de date.
Avec cette formule l'apprenant devra saisir une date strictement antérieure à la date test en respectant le format de date spécifié.
=CONTROL.INFERIOR.OR.EQUAL(valeur de date test;"format de date";"langue")
Pour définir la valeur de date test.
Pour définir le format de date.
Avec cette formule l'apprenant devra saisir une date antérieure ou similaire à la date test en respectant le format de date spécifié.
=CONTROL.SUPERIOR(valeur de date test;"format de date";"langue")
Pour définir la valeur de date test.
Pour définir le format de date.
Avec cette formule l'apprenant devra saisir une date strictement postérieure à la date test en respectant le format de date spécifié.
=CONTROL.SUPERIOR.OR.EQUAL(valeur de date test;"format de date";"langue")
Pour définir la valeur de date test.
Pour définir le format de date.
Avec cette formule l'apprenant devra saisir une date postérieure ou similaire à la date test en respectant le format de date spécifié.
=CONTROL.INTERVAL(valeur de date min test;valeur de date max test;"format de date";"langue")
Pour définir la valeur de date test.
Pour définir le format de date.
Avec cette formule l'apprenant devra saisir une date comprise ou similaire entre la date test min et la date test max en respectant le format de date spécifié.
=CONTROL.INTERVAL.OPEN(valeur de date min test;valeur de date max test;"format de date";"langue")
Pour définir la valeur de date test.
Pour définir le format de date.
Avec cette formule l'apprenant devra saisir une date strictement comprise entre la date test min et la date test max en respectant le format de date spécifié.
=CONTROL.INTERVAL.LEFT.OPEN(valeur de date min test;valeur de date max test;"format de date";"langue")
Pour définir la valeur de date test.
Pour définir le format de date.
Avec cette formule l'apprenant devra saisir une date comprise entre la date test min (exclue) et la date test max (inclue) en respectant le format de date spécifié.
=CONTROL.INTERVAL.RIGHT.OPEN(valeur de date min test;valeur de date max test;"format de date";"langue")
Pour définir la valeur de date test.
Pour définir le format de date.
Avec cette formule l'apprenant devra saisir une date comprise entre la date test min (inclue) et la date test max (exclue) en respectant le format de date spécifié.
Pour toutes les formules suivantes string peut être une formule retournant une chaîne de caractères et n une formule retournant un nombre. Si String est une chaîne de caractère fixe, placer des guillemets “ma chaîne de caractères”.
=CONCATENER(string;string;string; …)
concatène les caractères. En anglais CONCATENATE.
Si vous souhaitez qu'un champ affiche la saisie libre de l'apprenant d'un autre champ ainsi que le prochain jour ouvré vous utiliserez une formule CONCATENER qui comprendra les formules VALEURPREC et SERIE.JOUR.OUVRE.
=CONCATENER(VALEURPREC("scene1";"appFrame";"nom");FORMAT("DD.MM.YYYY";SERIE.JOUR.OUVRE(AUJOURDHUI();1)))
Si vous souhaitez qu'un champ affiche la concaténation des noms Pierre, Paul, Jacques vous utiliserez la formule :
=CONCATENER("Pierre";"Paul";"Jacques")
=GAUCHE(string; n)
retourne les n caractères de la string en partant de la gauche. En anglais LEFT.
=DROITE(string; n)
retourne les n caractères de la string en partant de la droite. En anglais RIGHT.
=MINUSCULE(string)
retourne le texte en minuscule. En anglais LOWER.
=MAJUSCULE(string)
retourne le texte en majuscule. En anglais UPPER.
=NOMPROPRE(string)
retourne le texte avec la 1ère lettre de chaque mot en majuscule et les suivantes en minuscule. En anglais PROPER.