Table des matières
Utiliser les formules
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.
Contrôler / afficher une date dynamique
Vous pouvez rendre une date dynamique en utilisant la formule :
=FORMAT("format d'affichage de la date";valeur de la date)
Définir le format d'affichage 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 |
Définir la valeur de la date
- Afficher la date du jour : Aujourd'hui()
=FORMAT("DD.MM.YYYY";AUJOURDHUI())
- Afficher la date du jour : Maintenant() (avec affichage de l'heure)
=FORMAT("DD.MM.YY hh:mm:ss";MAINTENANT())
Contrôler / afficher une date, calculée en fonction de la date du jour
Un nombre de jours fixes, avant ou après aujourd’hui
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) |
Un nombre de jours ouvrés, avant ou après aujourd’hui
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)) |
Le dernier jour du mois
=FORMAT("DD.MM.YY";FIN.MOIS(AUJOURDHUI()))
Une date passée ou future, calculée par rapport à la date du jour
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))|
Conditionner une date en fonction du numéro du jour
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))
Contrôler / afficher une valeur précédemment rencontrée
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.
Exemple
=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é.
Afficher une valeur sous conditions
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")
Exemples
=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.
Contrôler une comparaison de nombres
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.
Contrôle valeur "strictement inférieure"
=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.
Contrôle valeur "inférieure ou égale"
=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.
Contrôle valeur "strictement supérieure"
=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.
Contrôle valeur "supérieure ou égale"
=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.
Contrôle valeur "comprise ou égale entre"
=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.
Contrôle valeur "strictement comprise entre"
=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.
Contrôle valeur "comprise entre valeur min exclue et valeur max inclue"
=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.
Contrôle valeur "comprise entre valeur min inclue et valeur max exclue"
=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.
Contrôler une comparaison de dates
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.
Contrôle "date strictement antérieure à"
=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é.
Contrôle "date antérieure ou similaire à"
=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é.
Contrôle "date strictement postérieure à"
=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é.
Contrôle "date postérieure ou similaire à"
=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é.
Contrôle "date comprise ou similaire entre"
=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é.
Contrôle "date strictement comprise entre"
=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é.
Contrôle "date comprise entre date min exclue et date max inclue"
=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é.
Contrôle "date comprise entre date min inclue et date max exclue"
=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é.
Manipuler du texte
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
=CONCATENER(string;string;string; …)
concatène les caractères. En anglais CONCATENATE.
Exemples
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")
Afficher n caractères depuis la gauche
=GAUCHE(string; n)
retourne les n caractères de la string en partant de la gauche. En anglais LEFT.
Afficher n caractères depuis la droite
=DROITE(string; n)
retourne les n caractères de la string en partant de la droite. En anglais RIGHT.
Afficher une chaîne de caractères en minuscule
=MINUSCULE(string)
retourne le texte en minuscule. En anglais LOWER.
Afficher une chaîne de caractères en majuscule
=MAJUSCULE(string)
retourne le texte en majuscule. En anglais UPPER.
Afficher une chaîne de caractères en nom propre
=NOMPROPRE(string)
retourne le texte avec la 1ère lettre de chaque mot en majuscule et les suivantes en minuscule. En anglais PROPER.

