Cet article présente un certain nombre de fonctions disponibles dans l’éditeur de calcul de Crésus Salaires et ne figurant pas dans le manuel d’utilisation :
Fonctions de date :
MAINTENANT() | Donne le nombre de secondes écoulées depuis minuit. |
TEMPS(heure ; minute ; seconde) | Donne le nombre de secondes de l’heure exprimée en heures, minutes, secondes écoulées depuis minuit. TEMPS(13;40;35) donne 49’235. Les paramètres absents sont complétés par l’heure courante. TEMPS(;0;0) correspond au début de l’heure courante. |
HEURE(temps) | Convertit un temps donné en nombre d’heures (0 à 23). La partie fractionnaire exprime les minutes en 1/100e d’heure. HEURE(MAINTENANT()) HEURE(TEMPS(13;40;35)) donne 13.68. |
MINUTE(temps) | Donne le nombre de minutes (0 à 59) écoulées depuis l’heure pleine. La partie fractionnaire exprime les secondes en 1/100e de minute. MINUTE(MAINTENANT()) MINUTE(TEMPS(13;40;35)) donne 40.58. |
SECONDE(temps) | Donne un temps en nombre de secondes (0 à 59) écoulées depuis la minute pleine. La partie fractionnaire est toujours nulle. SECONDE(MAINTENANT()) SECONDE(TEMPS(13;40;35)) donne 35.00. |
PERIODE(date) | Limite une date à la période courante. Une date inférieure à la période prend la valeur du début de la période, une date supérieure à la période prend la valeur de la fin de la période. PERIODE(AUJOURDHUI()) |
DEBUTPERIODE() | Donne la date de début de la période courante. Le paramètre optionnel permet de spécifier la période à évaluer. DEBUTPERIODE(3) donne la date de début de la 3ème période. |
FINPERIODE() | Donne la date de fin de la période courante. Le paramètre optionnel permet de spécifier la période à évaluer. FINPERIODE(11) donne la date de la fin de la 11ème période. |
JFERIE(n) | Donne le ne jour férié du mois courant, en fonction de la liste introduite dans Entreprise – Jours fériés ({{490}}). Attention : le 1er jour de la liste est le JFERIE(0) |
JOURS360(date1 ; date2) | Détermine le nombre de jours entre deux dates en se basant sur une année commerciale de 12 x 30 jours. JOURS360(DATE(1;2);DATE(1;3)) donne 30, soit un mois commercial complet entre le 1er février et le 1er mars. |
Fonctions de test :
SEXE() | Donne 0 ou 1 selon le sexe de l’employé : 0 = homme, 1 = femme. Il est aussi possible d’utiliser @Donnée:Sexe de l’employé(e). |
HOMME() | Évalue l’expression entre parenthèses pour la valeur applicable aux hommes : HOMME(@Donnée:Age retraité AVS) Donne l’âge de la retraite AVS pour les hommes. |
FEMME() | Évalue l’expression entre parenthèses pour la valeur applicable aux femmes : FEMME(@Donnée:Age retraité AVS) Donne l’âge de la retraite AVS pour les femmes. |
Fonctions de chaîne de caractères :
NOMBRE(chaîne) | Convertit une chaîne représentant un nombre, en nombre. NOMBRE(« 1’123.45 ») donne 1123.45. |
MOT(chaîne ; position ; séparateurs) | Extrait le nème élément (selon sa position) d’une chaîne, en considérant le séparateur défini. MOT(« aa/bb/cc/dd »;2; »/ ») donne « bb ». Un séparateur ne peut pas être un mot ou une suite de caractères. Si on spécifie plusieurs séparateurs, chaque séparateur est considéré individuellement. Cette fonction donne la première occurrence trouvée. MOT(« aa+bb/cc/dd »;2; »/+& ») donne « bb ». Si le séparateur à considérer est un caractère spécial, comme un tabulateur, il faut chercher son code ASCII avec la fonction CODECAR() décrite ci-dessous. MOT(« aa<TAB>bb<TAB>cc/dd »;2;CODECAR(9)) retourne « bb ». |
LIGNE(chaîne ; position) | Extrait la nème ligne (selon le paramètre position) d’une rubrique de plusieurs lignes. LIGNE(@Donnée:Adresse;2) |
CODECAR(code_ascii) | Donne un caractère en fonction de son code ASCII. On peut donner une liste de codes. CODECAR(65;66;9;67) donne « AB<TAB>C ». |
NOMRUBRIQUE() | Donne le nom de la rubrique. Utile pour permettre la modification du nom de la rubrique par un calcul. NOMRUBRIQUE()+ » « +@Donnée:Code d’impôt à la source Il est également possible de mettre une rubrique en paramètre, la fonction retourne alors le texte correspondant au nom de la rubrique. NOMRUBRIQUE(@Ind:Salaire horaire) donne le libellé de la rubrique tel qu’il a été modifié par l’utilisateur. |
TROUVEUNPARMI(chaîne ; caractères) | Donne la position du premier caractère de la liste trouvé dans le texte. Le paramètre caractères est une chaîne donnant la liste des caractères à chercher. TROUVEUNPARMI(« A B,C;D » ; « ;,. : ») donne 3, soit la position de la première virgule. L’espace n’est pas trouvé car on n’a pas mis d’espace dans la liste des séparateurs. |
OTE(chaîne ; position ; critères) | Enlève les espaces, tabulateurs ou fins de ligne d’une chaîne de caractères. OTE( » Bonjour « ) donne «Bonjour». Le paramètre position est optionnel : S’il est omis, les caractères sont supprimés au début et à la fin de la chaîne. S’il vaut 0, les caractères sont supprimés au début de la chaîne. S’il vaut 1, les caractères sont supprimés à la fin de la chaîne. . S’il vaut 2, les caractères sont supprimés au début et à la fin de la chaîne. OTE( » Bonjour » ; 0) donne «Bonjour » . OTE( » Bonjour » ; 1) donne « Bonjour». OTE( » Bonjour » ; 2) donne «Bonjour». Le paramètre optionnel critères est une liste de caractères qui seront tous supprimés s’ils se trouvent au début ou à la fin du texte traité. Chaque caractère de critères est considéré individuellement. Dès que le caractère de la chaîne n’est pas un des caractères listés dans critère, le traitement s’arrête. OTE( » Bonjour » ; 0 ; « jour ») donne « Bonjour». OTE( » Bonjour » ; 1 ; « jour ») donne « Bon». OTE( » Bonjour » ; 2 ; « ujro ») donne « Bon». OTE(« Bonjour » ; 0 ; « ojur ») donne «Bonjour ». OTE(« Bonjour » ; 1 ; « ojru ») donne «Bonjour ». OTE( » Bonjour » ; 2 ; « jour ») donne « Bonjour » (le caractère espace n’est pas spécifié dans la liste caractères à supprimer. OTE(« Bonjour » ; 2 ; « jo ur ») donne «Bon». OTE( » rujo Bonjour » ; 2 ; « ur jo ») donne «Bon». |
Fonctions spéciales :
Les fonctions ci-dessous ne se trouvent pas dans les listes des opérations de l’éditeur de calcul. Vous les utilisez en les saisissant directement dans la zone de formule.
SPECIALOP() est une valeur positive, même pour les déductions. Pour imprimer un signe « + » devant une déduction négative (un remboursement), il faut faire un calcul commeREMPLACE(« + » + CHAINE(0 – SPECIALOP(91) ; 2) ; « +- » ; « – » ; « +0.00 » ; « »)
INFOASSURANCE(donnée:assurance ; paramètre) | Retourne les diverses informations associées à l’assurance. Tous les éléments donnés sont des textes. La donnée:assurance peut être l’une des rubriques @Donnée:Code LAA de l’employé @Donnée:Assurance LAAC @Donnée:Assurance LAAC (2ème) @Donnée:Assurance IJM @Donnée:Assurance IJM (2ème) @Donnée:Assurance FT (Frais de traitement) @Donnée:Assurance LPP @Donnée:Assurance LPP (2ème) La valeur donnée dépend du paramètre. Dans les exemples ci-dessous, on teste l’assurance AA complémentaire d’un employé, dont le code est A et qui concerne le groupe Personnel du bureau. 0 : donne le nom complet avec le code. INFOASSURANCE(@Donnée:Assurance LAAC (2ème) ; 0) donne A2 : Personnel du bureau, cat. 2 1 : donne le code seul. INFOASSURANCE(@Donnée:Assurance LAAC (2ème) ; 1) donne A2 2 : donne le nom et la catégorie. INFOASSURANCE(@Donnée:Assurance LAAC (2ème) ; 2) donne Personnel du bureau, cat. 2 3 : donne le code et le nom seul. INFOASSURANCE(@Donnée:Assurance LAAC (2ème) ; 3) donne A2 : Personnel du bureau 4 : donne la catégorie seulement, par exemple INFOASSURANCE(@Donnée:Assurance LAAC (2ème) ; 4) donne cat. 2 5 : donne le nom seul, par exemple INFOASSURANCE(@Donnée:Assurance LAAC (2ème) ; 5) donne Personnel de bureau 6 : donne le type, par exemple INFOASSURANCE(@Donnée:Assurance LAAC (2ème) ; 6) donne A2 7 : donne le groupe de personnes, par exemple INFOASSURANCE(@Donnée:Assurance LAAC (2ème) ; 7) donne A 8 : donne la catégorie INFOASSURANCE(@Donnée:Assurance LAAC (2ème) ; 8) donne 2 11 : donne le numéro Swissdec de l’assureur 12 : donne le numéro de client 13 : donne le numéro de contrat 14 : donne le nom de l’assureur 15 : donne l’adresse de l’assureur 16 : donne le NPA de l’assureur 17 : donne la ville de l’assureur |
TOTEMPLOYESCSV(critère ; colonne 1 ; colonne 2 ; … ; colonne n) et TOTANNEECSV(critère ; colonne 1 ; colonne 2 ; … ; colonne n) |
S’utilisent lors d’une exportation pour produire un tableau indiquant le cumul des données qui répondent au critère ({{533}}) |
ADRESSE(mode ; rubrique) | Donne l’élément mode du champ rubrique de type NPA/Rue/Localité ({{476}}). La valeur donnée dépend de mode : 0 : NPA Localité 1 : Rue 2 : NPA 3 : Localité 4 : Canton 5 : Pays (code ISO) 6 : Pays (en toutes lettres) ADRESSE(0 ; @Donnée:Adresse du mandataire) donne le NPA et localité du mandataire. |
SETDATA(rubrique ; expression ; paramètre) | S’utilise pour affecter une valeur à une rubrique. Peut s’utiliser dans des expressions complexes. Le paramètre est facultatif et spécifie la période de paie concernée. S’il est omis, l’expression est affectée à la valeur globale de la rubrique. SETDATA(@Ind:Autres frais forfaitaires ; 200 ; 2) met 200.– dans les frais forfaitaires de l’employé en février. TOTEMPLOYES(SETDATA(@Donnée:Jours vacances par année;25)) met 25 jours dans la valeur globale de tous les employés. |
Attention : aucun contrôle n’est fait lors d’un SETDATA(), il est possible de modifier des salaires existants, mais ils ne sont pas recalculés.
OP (expression 1 | expression 2 | … | expression n) | S’utilise pour effectuer plusieurs calculs dans la même formule. OP(VARTEMP(« base » ; DEFAUT(@Ind:Salaire mensuel ; @Ind:Salaire horaire)) | VARTEMP(« taux » ; 12) | VARTEMP(« bonus » ; C%(VARTEMP(« base ») ; VARTEMP(« taux »))) | SETDATA(@Ind:Bonus ; VARTEMP(« bonus »))) |
MESSINFO(mode ; texte) | S’utilise dans le calcul Obligatoire selon de la définition d’une rubrique pour affiche un message dans une bulle d’aide ou après avoir saisi une valeur lors de la saisie de données. Le paramètre mode détermine l’icône affichée dans le champ et le niveau du message : « INFO » : le message est une information. « WARNING » : c’est un avertissement, mais il n’est pas impératif de s’y conformer pour quitter la saisie. Le point d’exclamation est rouge pâle, mais le champ de saisie est blanc. « ERROR » : c’est un avertissement important, mais il n’est pas impératif de s’y conformer pour quitter la saisie. Le point d’exclamation et le champ de saisie sont rouge pâle. « KO » : c’est un avertissement incontournable, tant que la valeur entrée ne répond pas au critère, il ne sera pas possible de valider la saisie. Le point d’exclamation est rouge vif. |
POURFICHIER(fichier ; expression_debut ; expression_ligne ; expression_fin) | Permet d’ouvrir un fichier de type texte et d’en traiter le contenu. expression_début est évaluée une fois au début du traitement expression_ligne est appliquée sur chaque ligne du fichier expression_fin est évaluée à la fin du traitement. La fonction n’est évaluée qu’une seule fois par fichier, ensuite elle retourne toujours le résultat évalué cette fois-là. Si on souhaite plusieurs résultats, il faut mettre un critère à la suite du nom de fichier après l’un des caractères |;¦?*/ par exemple « %EXEPATH%ListeCommunes.txt; » + @Donnée:NPA de l’employé Dans ce cas POURFICHIER sera évalué pour chaque NPA différent rencontré dans le fichier Crésus. expression_ligne est évaluée pour chaque ligne du fichier lu. Le contenu de la ligne est donné dans VARTEMP(« #Line »). On peut utiliser les fonctions habituelles sur la variable, comme MOT(VARTEMP(« #Line »); 5 ; « ; ») dans un fichier CSV pour trouver le 5ème élément. Le résultat de l’expression (toujours une chaîne de caractères) est ajouté à la chaîne donnée par la fonction. Par exemple : POURFICHIER (« %EXEPATH%\\NuPost.TXT » ; « villes: » ; SI(MOT(VARTEMP(« #Line ») ; 3 ; « \t ») = « 1400 » ; MOT(VARTEMP(« #Line ») ; 5 ; « \t ») + « , « ) ; « npa = 1400 » ) ouvre le fichier NuPost.txt met le texte villes: au début de la chaîne à donner évalue chaque ligne du fichier : si le 3e mot de la ligne est 1400, ajoute le 5e mot de la ligne et une virgule à la chaîne à donner ajoute le texte npa = 1400 à la fin de la chaîne à donner ce calcul donne ceci villes: Cheseaux-Noréaz, Yverdon-les-Bains, Yverdon 1, Yverdon 2, Yverdon 3, Yverdon car postal, Yverdon 1 Dist, Yverdon Caserne, npa = 1400 |
DONNEE(mode ; expression) | Donne la valeur calculée par Crésus ou la valeur introduite par l’utilisateur en fonction de mode. mode = 1 : donne la valeur calculée par Crésus mode = 2 : donne la valeur saisie par l’utilisateur La valeur donnée est vide si elle n’existe pas. DONNEE (1 ; @Ind:Salaire mensuel) donne le salaire mensuel calculé pour le mois, même s’il a été modifié manuellement au moment de sa saisie. |
POURLANGUE(paramètre ; expression) | Donne l’expression dans la langue en fonction de paramètre. paramètre peut être 0 : français 1 : allemand 2 : anglais 3 : italien |
30 septembre 2025