Crésus Salaires

31L’éditeur de calculs

Les rubriques font très souvent appel à des formules plus ou moins compliquées, que ce soit pour retourner des montants, des phrases ou toute sorte d’information.

Les calculs associés aux rubriques se définissent dans le dialogue Entreprise – Rubriques (§19.7.4 Rubriques de type Indemnités et §19.7.7 Création de rubriques personnalisées).

L’éditeur de calculs est le même que l’on travaille dans les rubriques ou dans une présentation.

Dans une présentation, l’objet calcul  permet de placer une valeur, une chaîne de caractères, une date autre que les rubriques prévues en standard. Le résultat d’un calcul dans une présentation ne peut qu’être affiché et ne peut pas être mémorisé pour un autre usage. Pour modifier un calcul existant dans une présentation, il faut sélectionner l’objet, et cliquer l’icône « calcul » de la barre d’outils, ou double-cliquer l’objet.

La première zone du dialogue permet de construire la formule. Vous pouvez y taper ce que vous voulez au clavier. Les noms des rubriques, plutôt complexes, doivent être scrupuleusement respectés, y compris leur préfixe. Pour faciliter l’introduction des noms de rubriques, utilisez de préférence les listes. Les chaînes de caractères doivent être tapées entre guillemets.

La liste Opération présente toutes les opérations connues par le module de calcul. Celles-ci sont réparties en 6 sous-groupes :

  • Opération : les 4 opérations et des totalisateurs.
  • Tests : opérateurs conditionnels.
  • Conversion : transformation des formats.
  • % : calculs de pourcentages.
  • Date : traitement sur les dates et heures.
  • Chaîne : traitement sur les chaînes de caractères.

Chaque fonction sélectionnée affiche un texte d’aide dans la partie droite du dialogue. Les opérations sont détaillées ci-après.

La liste Variable affiche toutes les rubriques utilisées par Crésus. Elle est dynamique : lorsque vous tapez une partie du libellé de la rubrique dans le calcul ou dans la case éditable au bas du dialogue, Crésus affiche les rubriques correspondantes.

Vous pouvez utiliser les cases à cocher de la partie de gauche pour affiner la recherche.

La liste affiche en priorité les rubriques récemment utilisées, et regroupe si possible les déterminants, coefficients et valeurs d’une même rubrique.

Pour ajouter l’élément sélectionné dans la formule en édition, cliquez le bouton Insérer ou double-cliquez l’élément.

Les rubriques qui n’ont pas de contenu (rubrique vide) sont traitées comme des nombres nuls dans la plupart des cas. Il peut être nécessaire d’utiliser la fonction DEFAUT dans certains cas particuliers. Par exemple :3 * @Coef:Heures maladie CM retourne zéro s’il n’y a pas d’heures maladie CM3 * DEFAUT (@Coef:Heures maladie CM ; 0) retourne également zéro s’il n’y a pas d’heures de maladie3 * DEFAUT (@Coef:Heures maladie CM ; 2) retourne 6 s’il n’y a pas d’heures de maladie

31.1Opération

Les quatre opérateurs de base (+, −, *, /) servent comme il se doit à additionner, soustraire, multiplier et diviser des nombres. Les multiplications et les divisions se font avant les additions et les soustractions.

Addition De plus, vous pouvez utiliser le + pour rassembler deux chaînes de caractères et n’en faire plus qu’une : « Bon »+ »jour » devient « Bonjour »
MIN() Cherche Valeur minimale dans une liste de nombres, exemple :
MIN(12;45;-3;28) résultat : -3
MAX() Cherche la valeur maximale dans une liste de nombres, exemple :
MAX(12;45;-3;28) résultat : 45
SOMME() Calcule la somme d’une liste de nombres, exemple :
SOMME(12;45;-3;28) résultat : 82
MOYENNE() Calcule la moyenne d’une liste de nombres, exemple :
MOYENNE(12;45;-3;28) résultat : 20.5

 

31.2Les totalisateurs

Les six fonctions suivantes font aussi partie des opérations.

Elles vous permettent d’obtenir non pas la valeur d’une rubrique pour un employé pour le mois courant, mais le cumul soit pour les employés, soit pour l’année soit encore pour le trimestre courant.

TOTEMPLOYES() Total pour tous les employés.
TOTEMPLOYES(@Brut:Salaire versé) Vous pouvez aussi procéder au cumul pour les employés décrit au §30.7.9 Cumul sur les employés pour l’objet Calcul dessiné dans la présentation.
TOTANNEE() Total pour toute l’année, limité aux périodes avec un salaire calculé.
TOTANNEE(@Déd:Cotisation AC) donne le total des cotisations AC pour les salaires versés.
Vous pouvez aussi procéder au cumul pour la période décrit au §30.7.8 Cumul sur l’année pour l’objet Calcul dessiné dans la présentation.
 TOUTANNEE() Total pour toute l’année courante, prend en compte aussi les mois sans salaire calculé.
TOUTANNEE(DEFAUT(@Déd:Cotisation AC ; 200)) vous donne le total des cotisations AC déjà calculées plus 200.– par période vide.
 TOTTRIMESTRE() Total pour le trimestre qui comprend le mois sélectionné
TOTTRIMESTRE(@Ind:Remboursement de km)
 PRECEDENT() Valeur d’une expression calculée pour la période précédente. PRECEDENT(@Brut:Salaire versé) vous donne le montant du salaire versé le mois passé. Au début de l’année, PRECEDENT() vous donne la valeur du dernier salaire de l’année précédente.
 TOTPRECEDENT() Total de l’ensemble des périodes précédentes.
TOTPRECEDENT(@Déd:Prime AANP) vous donne le montant total des primes AANP déjà prélevées les mois précédents.
Cette fonction accepte un second paramètre optionnel pour limiter les périodes additionnées à celles qui ont le même critère.
TOTPRECEDENT(@Coef:Jours de maternité
; @Déterm:Date de l’accouchement) vous donne le nombre de jours de maternité des périodes précédentes pour la même date d’accouchement.

Dans le calcul d’un salaire, ces opérations de total pour l’année ne dépassent pas le mois courant. Par exemple, un salaire calculé en février ignore les salaires de mars et des périodes suivantes.

CUMUL() Calcule la somme de toutes les indemnités selon qu’elles sont soumises ou non à divers bruts déterminants. Exemples :
CUMUL(« AVS ») vous donne le total des montants soumis à l’AVS
CUMUL(« 2.1 ») vous donne le total des montants affichés au point 2.1 du certificat de salaire

Les termes utilisables avec la fonction CUMUL() sont les suivants :

 

BRUT compris dans le salaire brut
NET compris dans le salaire net
VERSE compris dans le montant versé à l’employé
AVS soumis à l’AVS
AC soumis à l’assurance chômage
LAA soumis à l’assurance accidents
LAAC soumis à l’assurance accidents complémentaire
LPP pris en compte pour la prime LPP
FT soumis à l’assurance frais de traitement (ancienne)
IJM soumis à l’assurance indemnité journalière maladie
CPROF soumis à la contribution professionnelle
IMP soumis à l’impôt à la source
VAC pris en compte dans les indemnités vacances
FERIE pris en compte dans les indemnités pour jours fériés
13E pris en compte dans le calcul du 13ème salaire
FORFAIT pris en compte dans les frais AVS forfaitaires
ALLOC. ajouté aux allocations familiales
IJ. total des indemnités journalières
TIERS total des prestations de tiers
ACCMAL. total des indemnités accident et maladie
PTX. indemnités proportionnelles pour les IS (§32 Calcul des impôts à la source)

Vous pouvez aussi utiliser le code pour les accumulations des bases personnalisées (§19.7.6 Rubriques de type Bases).

La fonction CUMUL() peut également traiter les positions de 1. à 13.2.3 liées au certificat de salaire.

Vous pouvez aussi utiliser tous ces termes dans le filtre icone filtre associé à @Ind:* et @Déd:* (§30.7.10 Filtre)

Si vous créez vos propres bases (§19.7.6 Rubriques de type Bases), vous pouvez spécifier le Code pour les accumulations et utiliser ce code pour la fonction CUMUL().

Vous pouvez évaluer plusieurs critères en les séparant par le caractère & (fonction ET) qui s’obtient par Shift+6 ou le caractère « barre verticale » | (fonction OU) qui s’obtient sur un clavier Windows par AltGr+7.

AVS&LAA&LPP soumis à l’AVS et soumis à la LAA et soumis à la LPP
AVS|LAA|LPP soumis à l’AVS ou soumis à la LAA ou soumis à la LPP

Utiliser simultanément des & (ET) et des | (OU) n’est pas possible.

Vous pouvez cumuler des indemnités non soumises à un brut déterminant donné en utilisant le caractère point d’exclamation ! devant le code.

!AVS indemnités non soumises à l’AVS
BRUT&!LPP indemnités payées à l’employé, mais non soumises à la LPP

Vous pouvez enchâsser les fonctions les unes dans les autres. Exemple :
TOTEMPLOYES(TOTANNEE(@Brut:salaire AC))
vous donne le total pour tous les employés et pour toute l’année du salaire AC déterminant.

Vous pouvez associer cette procédure avec des tests (§31.3 Les tests) pour obtenir un total partiel sur une catégorie d’employés ou une période de dates. Par exemple pour avoir le total d’une valeur pour toutes les femmes :
TOTEMPLOYES(SI(@Sexe de l’employé=1 ; @Brut:salaire LAA ; 0))
Dans le cas où le sexe de l’employé est de 1 (c’est une femme), on additionne le salaire LAA, dans le cas contraire, on additionne zéro.

Autre exemple pour obtenir le montant d’une rubrique pour le mois précédent :
TOTANNEE(SI(@Mois courant=@Mois sélectionné-1 ; @Ind:salaire; 0))
Pour comprendre cette formule, il faut savoir que @Mois sélectionné correspond au mois où se trouve le curseur dans le tableau général. C’est donc le mois pour lequel on imprime le document. @Mois courant par contre passe de 1 à 12 (ou plus selon le nombre de périodes de paie) durant le calcul de TOTANNEE. La formule entre parenthèses sera donc calculée n fois, en changeant le mois courant à chaque fois. Lorsque le mois courant est égal au mois sélectionné moins un, on additionne l’indemnité voulue, sinon on ajoute zéro. Le résultat est donc la valeur de l’indemnité pour le mois précédent.

PRECEDENT(@Ind:salaire) est similaire, mais cherche la valeur précédemment payée en ignorant les mois sans salaires.

D’une manière similaire, on peut obtenir une valeur pour une période spécifique :
TOTANNEE(SI(@Mois courant=2; @Ind:salaire mensuel + @Ind:salaire horaire; 0))
vous donne le total des salaires pour février, quel que soit le mois actuellement sélectionné dans le tableau général.

 

31.3Les tests

Il vous est possible de comparer des éléments entre eux pour exécuter ensuite une opération ou une autre.

Le résultat d’un test est égal soit à 1 (auquel cas il est vrai) soit à 0 (auquel cas il est faux). Toute valeur supérieure à 0 est considérée comme vraie, et toute valeur nulle ou négative est considérée comme fausse.

SI(test; sivrai; sifaux)

Si le résultat de test est vrai, traite l’expression sivrai, sinon traite l’expression sifaux :
SI(@Brut:Salaire versé > 0; « à verser »; « à retenir »)
Signifie Si le salaire est supérieur à 0.–, il faut écrire « à verser », sinon il faut écrire « à retenir »

= Teste si deux nombres sont identiques.
<> Teste si deux nombres sont différents.
< Teste si le premier nombre est plus petit que le second.
<= Teste si le premier nombre est plus petit ou égal au second.
> Teste si le premier nombre est plus grand que le second.
>= Teste si le premier nombre est plus grand ou égal au second.
ET() Opère une addition, ou ET logique, entre plusieurs expressions : toutes doivent être vraies pour donner un résultat vrai.
ET(3 > 2 ; 4 < -1 ; 1 >= 0) donne 0 (« faux »), car 4 < -1 est faux.
OU() Opère une sélection, ou OU logique, entre plusieurs expressions : il suffit qu’une des expressions soit vraie pour donner un résultat vrai.
OU(3 > 2 ; 4 < -1 ; 1 >= 0) donne 1 (« vrai »),
car 3 > 2 et 1 >= 0 sont vrais.
NON() Inverse le résultat d’un test. NON(4<-1) donne 1 (vrai).
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.
SISOUMIS() et SINONSOUMIS() Ces tests ne figurent pas dans la liste. Ils sont décrits au §31.8 Spécialités

31.4Les conversions

ARRONDI(nombre; arrondi; excès) Arrondit un nombre au multiple le plus proche, par excès ou par défaut. Si on omet le dernier paramètre, l’arrondi se fait par excès.
ARRONDI(12.775) retourne 12.80.
ARRONDI(12.775; 0.05) retourne 12.80
ARRONDI(12.775; 0.05; 0) retourne 12.75

Attention : le format de la rubrique affichée ou imprimée provoque également un arrondi (§30.7.6 Format des rubriques).

INT(nombre) Ne garde que la partie entière du nombre.
INT(12.775) retourne 12.
FRAC(nombre) Ne garde que la partie fractionnaire du nombre.
FRAC(12.775) retourne 0.775.
DEFAUT(rubrique ; valeur de substitution) Si la rubrique est vide, elle est substituée par la valeur spécifiée (voir la note au §31 L’éditeur de calculs).
DEFAUT(@Ind:Salaire mensuel;100) retourne 100 s’il n’y a aucune valeur dans la rubrique Salaire mensuel.
VIDE() Donne un nombre vide (inexistant), peut être utile en relation avec la fonction DEFAUT() (voir la note au §31 L’éditeur de calculs).
SI(@Coef:Jours travaillés>0
; @Coef:Jours travaillés
; VIDE()
)
n’affiche rien au lieu de 0 si le nombre n’est pas plus grand que 0.
VIDE(rubrique) Retourne la valeur 1 (vrai) si la rubrique est vide, 0 (faux) dans le cas contraire.
SI(VIDE(@Ind:Salaire mensuel)
; « à l’heure »
; « au mois »
)
affiche (imprime) « à l’heure » si le salaire mensuel est vide et « au mois » dans le cas contraire.
CHAINE(valeur ; décimales) Convertit un nombre ou une date en chaîne de caractères.
Le paramètre optionnel décimales spécifie le nombre de chiffres significatifs à afficher (imprimer).
« Montant :  » + CHAINE(@Ind:Salaire mensuel;2)
« Nous sommes le  » +CHAINE(AUJOURDHUI())
CHAINEMOIS(mois ; langue) Retourne le nom du mois (1 à 12). Le second paramètre est optionnel et précise la langue voulue (0 = français, 1 = allemand, 2 = anglais, 3 = italien). Par défaut, la fonction retourne le nom dans la langue du document.
CHAINEMOIS(2) retourne « février »,
CHAINEMOIS(7;1) retourne « Juli ».
CHAINEJDLS(jour ; langue) Retourne le jour de la semaine (1 à 7). Le second paramètre est optionnel et précise la langue voulue (0 = français, 1 = allemand, 2 = anglais, 3 = italien). Par défaut, la fonction retourne le nom dans la langue du document.
CHAINEJDLS(2) retourne « mardi »,
CHAINEJDLS(1;2) retourne « Monday ».
FINLIGNE() ou \n Génère une fin de ligne, pour mettre une chaîne sur deux lignes.
@E.Donnée:Nom de l’entreprise + FINLIGNE() +
@E.Donnée:Adresse de l’entreprise
affiche (imprime)
« Espitec SA
Chemin du Fontenay »
@E.Donnée:Nom de l’entreprise + « \n « +
@E.Donnée:Adresse de l’entreprise
est équivalent.

31.5Les pourcentages

C%(montant ; taux) Calcule le pourcentage d’un montant.
C%(20;7) donne 1.40.
A%(montant ; taux) Ajoute un pourcentage à un montant.
A%(20;7) donne 21.40,
A%(20;-7) donne 18.60.
S%(montant ; taux) Calcule la valeur qu’avait un montant avant qu’on ne lui ajoute un pourcentage.
S%(21.4;7) donne 20,
S%(18.6;-7) donne 20.
M%(montant ; taux) Calcule la valeur ajoutée à un montant augmenté d’un pourcentage.
M%(21.4;7) donne 1.40,
M%(18.6;-7) donne 1.40.
T%(montant ; montant) Calcule le pourcentage entre deux montants.
T%(21.4;20) donne 7,
T%(18.6;20) donne -7.

31.6Les dates

Lors de la saisie d’une date, si vous n’entrez que les 2 derniers chiffres de l’année, Crésus la complète pour ajouter le millésime 1900 ou 2000. Selon le type de date, la date charnière n’est pas la même. Par exemple :

  • Pour une date de naissance, 00 à 19 est transformé en 2000 à 2019, 20 à 99 est transformé en 1920 à 1999.
  • Pour la date d’entrée, 40 à 99 est transformé en 1940 à 1999, 00 à 39 est transformé en 2000 à 2039.
  • S’il s’agit d’une date de calcul du salaire, tout est transformé en 2000.

Vérifiez donc toujours que l’année complète est correcte.

De manière interne, le programme convertit les dates en nombres de jours depuis le 1.1.1900.

Les fonctions suivantes s’appliquent à ces dates.

AUJOURDHUI() Retourne la date du jour. Il est également possible d’utiliser la rubrique @Donnée:Aujourd’hui qui est équivalente.
DATE(jour ; mois ; année) Retourne le nombre représentant la date correspondante (en jours depuis le 1.1.1900).
Si le calcul ne traite qu’une date, il affiche (imprime) la date spécifiée.
DATE(25;12;18) retourne 25.12.2018,
DATE(25;12;18) – 15 retourne 10.12.2018.
Dans un calcul avec plusieurs dates, c’est bien le nombre représentant la date qui est utilisé, ce qui permet de calculer des intervalles entre des dates :
DATE(25;12;2018) – AUJOURDHUI()
retourne le nombre de jours entre aujourd’hui et Noël 2018.
JOUR(date) Retourne le jour du mois (1 à 31) correspondant à la date.
JOUR(DATE(3;2;2014)) retourne 3.
MOIS(date) Retourne le numéro du mois (1 à 12) correspondant à la date.
MOIS(DATE(3;2;2014)) retourne 2.
Le résultat est affiché sous forme de texte, à moins que la fonction ne soit utilisée dans un calcul numérique.
« Nous sommes en « +MOIS(AUJOURDHUI()) retourne « Nous sommes en mars ».
MOIS(DATE(3;2;2014)) + 3 retourne 5.
Pour afficher le rang du mois, il faut utiliser la fonction NOMBRE(MOIS(DATE())).
ANNEE(date) Retourne l’année (1900 à 2099) correspondant à la date.
Si l’année est entrée sous la forme de 2 chiffres,
00 à 49 retourne 2000 à 2049,
50 à 99 retourne 1950 à 1999.
ANNEE(DATE(5;6;51)) retourne 1951,
ANNEE(DATE(25;12;2051)) retourne 2051.
JDLS(date) retourne le jour de la semaine (1 = lundi à 7 = dimanche) correspondant à la date.
JDLS(DATE(28;3;14)) retourne 5 (vendredi).
SEMAINE(date) Convertit une date en numéro de semaine (0 à 53). La partie fractionnaire correspond au nombre de jours en centièmes depuis le début de la semaine.
Lundi = 0, mardi = 0.14 .. dimanche = 0.86
SEMAINE(DATE(28;3;14))
retourne 13.57 (c’est le vendredi de la 13e semaine).
INT(SEMAINE(DATE(28;3;14))) retourne 13.
ADDMOIS(date ; nombre) Ajoute un ou plusieurs mois à une date.
ADDMOIS(DATE(15;5;18);2) retourne 15.07.18
ADDMOIS(DATE(31;12;17);2) retourne le 29.02.2018
Le paramètre nombre est optionnel. Si on ne le précise pas, ADDMOIS() ajoute 1 mois par défaut.
DEBUTMOIS(date) Retourne la date du premier jour du mois.
DEBUTMOIS(DATE(3;2;18)) retourne 01.02.2018.
FINMOIS(date Retourne la date du dernier jour du mois.
FINMOIS(DATE(3;2;18)) retourne 29.02.2018.
MAINTENANT() Retourne le nombre de secondes écoulées depuis minuit.
 TEMPS(heure ; minute ; seconde)  Retourne le nombre de secondes de l’heure donnée en heures, minutes, secondes écoulées depuis minuit.
TEMPS(13;40;35) retourne 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 en nombre d’heures (0 à 23). La partie fractionnaire exprime les minutes en 1/100e d’heure.HEURE(MAINTENANT())
HEURE(TEMPS(13;40;35))retourne 13.68.
MINUTE(temps) Retourne le nombre de minutes (0 à 59) écoulé à partir de l’heure pleine. La partie fractionnaire exprime les secondes en 1/100e de minute.
MINUTE(MAINTENANT())
MINUTE(TEMPS(13;40;35)) retourne 40.58.
SECONDE(temps) Convertit 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)) retourne 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() Retourne la date de début de la période courante. Le paramètre optionnel permet de spécifier la période à évaluer.
DEBUTPERIODE(3) retourne la date de début de la 3ème période.
FINPERIODE() Retourne la date de fin de la période courante. Le paramètre optionnel permet de spécifier la période à évaluer.
FINPERIODE(11) retourne la date de la fin de la 11ème période.
JFERIE(n) Retourne le ne jour férié du mois courant, en fonction de la liste introduite dans Entreprise – Jours fériés (§19.14 Jours fériés). 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)) retourne 30, soit un mois commercial complet entre le 1er février et le 1er mars.

31.7Les chaînes de caractères

MAJUSCULE(chaîne) Transforme toute la chaîne en majuscules.
MAJUSCULE(« BonJour ») retourne « BONJOUR ».
MINUSCULE(chaîne) Transforme toute la chaîne en minuscules.
MINUSCULE(« BonJour ») retourne « bonjour ».
NOMPROPRE(chaîne) Transforme en majuscule la première lettre de chaque mot de la chaîne et les autres lettres en minuscules.
NOMPROPRE(« BonJour mONsieur louis ») retourne « Bonjour Monsieur Louis ».
GAUCHE(chaîne ; n) Extrait les n caractères de gauche de la chaîne.
GAUCHE(« Bonjour »;3) retourne « Bon ».
DROITE(chaîne ; n) Extrait les n caractères de droite de la chaîne.
DROITE(« Bonjour »;4) retourne « jour ».
MILIEU(chaîne ; position ; n) Extrait n caractères à partir de position (0 à n-1).
MILIEU(« Bonjour »;1;4) retourne « onjo ».
LONGUEUR(chaîne) Retourne le nombre de caractères composant la chaîne.
LONGUEUR(« Bonjour ») retourne 7.
TROUVE(chaîne ; critère) Cherche où se trouve le critère dans la chaîne.
TROUVE(« Bonjour »; »jou ») retourne 3.
Si le critère est au début, retourne la valeur 0.
TROUVE(« Bonjour »; »Bon ») retourne 0.
Si le critère n’est pas trouvé, la fonction retourne la valeur -1.
TROUVE(« Bonjour »; »x ») retourne -1.
REMPLACE(chaîne ; critère ; chaîne de substitution) remplace les occurrences du paramètre critère par le paramètre chaîne de substitution.
REMPLACE(« Bonjour »; »jou »; »SOI ») retourne « BonSOIr ».
Il est possible de mettre plusieurs couples critère – chaîne de substitution, dans ce cas chaque critère trouvé dans la chaîne est remplacé par la chaîne de substitution correspondante.REMPLACE(« Bonjour Mme Bijou »; « jou » ; « soi »

; « Mme » ; « M. »)

retourne « Bonsoir M. Bisoi ».

Le paramètre chaîne peut bien entendu être une rubrique.
REMPLACE(@Donnée:Nom de l’employé; »jou »; »soi »).

 NOMBRE(chaîne) Convertit une chaîne représentant un nombre, en nombre.
NOMBRE(« 1’123.45 ») retourne 1123.45.
MOT(chaîne ; position ; séparateurs) Extrait le nème élément (selon position) d’une chaîne, en considérant le séparateur défini.
MOT(« aa/bb/cc/dd »;2; »/ ») retourne « 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. La fonction retourne la première occurrence trouvée.
MOT(« aa+bb/cc/dd »;2; »/+& ») retourne « 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) Retourne un caractère en fonction de son code ASCII. On peut donner une liste de codes.
CODECAR(65;66;9;67) retourne « AB<TAB>C ».
NOMRUBRIQUE() Retourne le nom de la rubrique. Utile pour permettre la modification du nom de la rubrique par un calcul (§19.2 Lieux de travail).
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)
retourne le libellé de la rubrique tel qu’il a été modifié par l’utilisateur (§19.2 Lieux de travail).
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 » ; « ;,. : ») retourne 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.
OTE( » Bonjour « ) retourne «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) retourne «Bonjour » .
OTE( » Bonjour  » ; 1) retourne « Bonjour».
OTE( » Bonjour  » ; 2) retourne «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 ») retourne «  Bonjour».
OTE( » Bonjour » ; 1 ; « jour ») retourne «  Bon».
OTE( » Bonjour » ; 2 ; « ujro ») retourne «  Bon».
OTE(« Bonjour  » ; 0 ; « ojur ») retourne «Bonjour ».
OTE(« Bonjour  » ; 1 ; « ojru ») retourne «Bonjour ».
OTE( » Bonjour  » ; 2 ; « jour ») retourne «  Bonjour  » (le caractère espace n’est pas spécifié dans la liste caractères à supprimer.
OTE(« Bonjour  » ; 2 ; « jo ur ») retourne «Bon».
OTE( » rujo Bonjour  » ; 2 ; « ur jo ») retourne «Bon».

31.8Spécialités

Les fonctions décrites ci-dessous ne se trouvent pas dans les listes des opérations du dialogue. Vous les utilisez en les inscrivant directement dans la formule.

SISOUMIS(« mode » ; expression) Évalue l’expression en ne prenant en compte que les rubriques soumises aux bruts déterminants selon le mode (voir la fonction CUMUL §31.2 Les totalisateurs).
SISOUMIS(« LPP »
; @Ind:Prime ancienneté + @Ind:Salaire mensuel)
calcule la somme des valeurs trouvées dans les champs pour autant qu’elles soient soumises à la base LPP.
Si l’une des valeurs est soumise mais pas l’autre, la valeur soumise sera prise en compte. Il n’est pas nécessaire que les 2 rubriques soient soumises.
SISOUMIS(« AVS »
; @Ind:Prime ancienneté + @Ind:Salaire mensuel)
fonctionnera également si l’une des deux rubriques est vide car vide est considéré comme zéro pour une addition (voir note §31 L’éditeur de calculs).
SIRUBSOUMISE(« mode » ; @rubrique) Rend 1 ou 0 selon que la rubrique donnée en second paramètre est soumise ou non selon le mode (voir la fonction CUMUL §31.2 Les totalisateurs).
SIRUBSOUMISE(« LPP »; @Ind:Prime ancienneté)
donne 1 si la prime d’ancienneté est soumise à la LPP.
SINONSOUMIS(« mode » ; expression) Évalue l’expression en ne prenant en compte que les rubriques non soumises aux bruts déterminants selon le mode (voir CUMUL §31.2 Les totalisateurs).
SINONSOUMIS(« LPP »
; @Ind:Prime ancienneté
; @Ind:Salaire mensuel)
calcule la somme des valeurs si elles ne sont pas soumises à la base LPP.
Si l’une des valeurs est soumise mais pas l’autre, la valeur soumise sera prise en compte. Il n’est pas nécessaire que les 2 rubriques soient soumises.
SINONSOUMIS(« AVS »
; @Ind:Prime ancienneté
; @Ind:Salaire mensuel)
fonctionnera également si l’une des deux rubriques est vide car vide est considéré comme égal à zéro pour une addition (voir note §31 L’éditeur de calculs).
AGELIMITE(limite ; mode) Détermine si l’âge de l’employé est inférieur à un âge limite.
AGELIMTE(18) donne zéro si l’employé a 18 ans (dans l’année courante) ou plus. Donne 1 s’il a 17 ans ou moins.
Le paramètre mode est optionnel. S’il vaut 1, la fonction tient compte du mois de naissance et donne la valeur zéro dès le mois suivant l’anniversaire de l’âge concerné.
AGELIMTE(65;1) donne zéro dès le mois suivant le 65ème anniversaire.
POURPERIODE(colonne ; expression) Donne la valeur de l’expression pour la période donnée.
La période peut être donnée par un nombre (n° de la colonne) ou une date.
POURPERIODE(DATE(15;3;2014);@Ind:Salaire mensuel)
donne le salaire mensuel du mois de mars 2014.
FANIONPERIODE(colonne ; paramètre) Donne 1 (=vrai) ou 0 (=faux) selon les réglages faits pour paramètre dans Entreprise – Périodes pour la colonne (1 à n) concernée.
paramètre = 1 : le 13ème salaire doit être payé.
paramètre = 2 : les vacances doivent être payées.
paramètre = 3 : les vacances incluent le mois courant.
FANIONPERIODE(6;1)
donne 1 si le 13ème doit être versé en juin.
MONTANTPERIODE(valeur) Ramène un montant mensuel au prorata de la période courante.
Par exemple, si on a fait un salaire du 1er février au 15 mars inclus, MONTANTPERIODE(1000) donne 1500 puisque la période correspond à un mois et demi.
NOMPERIODE(colonne) Donne le nom de la colonne (1 à n) du tableau général.
NOMPERIODE(1) donne habituellement « Janvier ».
POURLANGUE(langue ; expression) Évalue l’expression dans une langue donnée (0 = français, 1 = allemand, 2 = anglais, 3 = italien).
POURLANGUE(2;NOMPERIODE(1)) donne « January ».
ASSURANCE(rubrique ; type ; mode) Donne les valeurs en fonction de l’assurance de l’employé.
Le premier paramètre doit être la rubrique du nom de l’assurance attribué à l’employé (@Donnée:Assurance LPP, @Donnée:Assurance IJM, @Donnée:Assurance LAAC, …).
Le second paramètre (valeur 1 à 9) détermine le type d’information souhaitée :
1 : taux à appliquer (selon la tranche d’âge si LPP)
2 : plafond mensuel
3 : valeur de « soumis à partir de » pour la LPP, pour les assurances c’est la valeur de déduction fixe
4 : « montant à déduire » pour la LPP
5 : « montant minimum » pour le salaire coordonné de la LPP
8 : état du fanion « calcule sur base annuelle » pour la LPP
11 : taux de la cotisation employeur
31 : valeur fixe pour l’employeur
Toutes ces valeurs sont adaptées automatiquement à la période traitée et à l’âge de l’employé.
ASSURANCE(@Donnée:Assurance IJM;1)
donne le taux de cotisation à l’assurance IJM de l’employé.
Le troisième paramètre est facultatif et permet de spécifier si la valeur retournée est calculée en mode mensuel ou annuel. Par défaut, le mode est mensuel. Ajoutez le paramètre 1 pour forcer le mode annuel.
ASSURANCE(@Donnée:Assurance IJM ; 4 ; 1)
donne le montant à déduire, rapporté à la durée de la période le cas échéant.
IMPOT(code ; mode ; déterminant annuel) Donne le taux à appliquer pour l’imposition à la source.
Le paramètre code doit obligatoirement être la rubrique donnant le code de l’impôt (@Donnée:Code d’impôt à la source). Le paramètre mode détermine le type d’information souhaité, cela peut être :
1 : taux selon le montant déterminant en 3ème paramètre
2 : donne 1 si le calcul est annuel (0 pour mensuel)
3 : donne 1 si le calcul annuel ne doit se faire qu’en fin de l’année
4 : donne 1 si le calcul annuel n’est possible que si l’employé était présent toute l’année
5 : donne 1 si le calcul final doit se faire selon le code de la dernière période
6 : donne le nombre d’heures par mois à considérer
7 : donne l’adresse de l’office tel qu’introduit sous Entreprise – Impôt source
8 : donne le n° de contribuable de l’entreprise
9 : donne le taux de la commission de perception
0 : donne 1 si le calcul mensuel doit se faire rétroactivement.
ANNUEL(mode ; brut ; occasionnel ; prévision ; déduction) Procède à une estimation du salaire déterminant annuel.
Le paramètre mode peut être :
0 : estimation en cours d’année
1 : détermination lors du dernier salaire
2 : extrapolation à partir du mois courant uniquement
3 : comme 1 mais limité aux dates d’entrée et de sortie de l’employé.
Le paramètre brut doit être le montant cumulé des indemnités soumises à l’impôt à la source pour la période courante.
Le paramètre occasionnel doit être le cumul des indemnités exceptionnelles soumises. Ces montants ne seront donc pas ramenés proportionnellement à l’année.
Le paramètre prévision permet d’ajouter les montants non encore payés, mais qui devraient l’être à la fin de l’année (indemnités vacances, 13ème salaire).
Le paramètre déduction doit être les montants payés à l’avance sur les vacances et le 13ème salaire.
Le logiciel prend encore en compte les dates des périodes ainsi que les dates d’entrée et de sortie de l’employé.
LISTEDEF(nombre ; texte) S’utilise pour définir le contenu à choix d’une rubrique de type liste. Chaque élément de la liste se compose d’une valeur numérique et d’un texte associé. Voyez l’exemple au §6.3 Les bases.
VARTEMP(nom ; expression) Mémorise le résultat de expression dans l’une des 50 variables temporaires à disposition. La valeur mémorisée peut être reprise avec VARTEMP(nom) sans second paramètre.
VARTEMP(« essai » ; 250) met la valeur 250 dans la variable « essai ».
VARTEMP(« essai ») donne alors 250.
SI (VARTEMP(« essai » ; CUMUL (« AVS »)) > 0 ;
VARTEMP(« essai ») ;
VIDE())
Dans cet exemple, le calcul commence par mémoriser le total des montants soumis à l’AVS dans la variable temporaire « essai ».
Puis il teste si le cumul est > 0. Si oui, l’expression donne le contenu de la variable « essai » (=le montant cumulé), sinon elle est vide.
C’est l’équivalent de
SI (CUMUL (« AVS ») > 0 ;
CUMUL (« AVS ») ;
VIDE())
mais cela évite de calculer deux fois le cumul.
La variable temporaire (nom) est initialisée à VIDE() au début d’une impression ou au début de chaque calcul si elle est utilisée ailleurs que pour une impression.
VARTEMP(index ; expression) Mémorise le résultat de expression dans l’une des 10 variables temporaires à disposition (index = 0 .. 9). La valeur mémorisée peut être reprise avec VARTEMP(index) sans second paramètre.
SI (VARTEMP(7 ; CUMUL (« AVS »)) > 0 ;
VARTEMP(7) ;
VIDE())
Ce calcul mémorise le total des valeurs soumises à l’AVS dans la variable temporaire 7 et donne le contenu si le cumul est > 0.
La variable temporaire (index) est initialisée à VIDE() au début de chaque calcul, même lors d’une impression.
RECURSIF(rubriques) S’utilise pour forcer Crésus à faire un calcul itératif sur une valeur dépendante d’elle-même.
Exemple : pour déterminer la part employeur des charges sociales en partant d’un salaire brut-brut, qui inclut donc ces charges, il faut évaluer le total de ces charges, les déduire du salaire brut-brut, pour déterminer le salaire brut sur lequel on calculera les charges sociales, puis recommencer. Les charges sociales vont donc varier en fonction d’elles-mêmes.
RECURSIF(@Brut:Total des cotisations employeur)
DEBUG(expression) Affiche la formule et les étapes de son évaluation.
Expression peut être un calcul ou une rubrique.
DEBUG(C%(@Brut:Base AVS;@Coef:Taux AVS))
affiche
@Brut:Base AVS[Janvier] ==> 6500.
@Coef:Taux AVS[Janvier] ==> 5.15
C%(6500. ; 5.15) ==> 334.75

CACHE(expression)
Cache l’objet entier si le résultat de l’expression est nul.
CACHE(SI(@Donnée:Sexe de l’employé(e) = 0
; « Monsieur »))
S’il s’agit d’une employée, tout l’objet est caché, y compris son cadre et/ou fond.
COMPTE(chaîne ; critère) Compte le nombre d’occurrences du critère dans la chaîne.
COMPTE(@Donnée:Divers1 ;  » ! ») compte le nombre de points d’exclamation trouvé dans la rubrique Divers1.
SWITCH(condition 0 ; 0 ; condition 1 ; 1 ; condition 2 ; 2 ; … ; condition n ; n) Donne le résultat de l’expression 0 à n selon l’état de la dernière condition 0 à n évaluée.
Si la condition 0 est vraie, donne le résultat de l’expression 0, si la condition 1 est vraie, donne le résultat de l’expression 1, etc.
C’est le résultat de l’expression de la dernière condition vraie évaluée qui est donné.
SWITCH(@Donnée:Mois sélectionné >=1 ; « 1er trimestre »
; @Donnée:Mois sélectionné >=4 ; « 2e trimestre »
; @Donnée:Mois sélectionné >=7 ; « 3e trimestre »
; @Donnée:Mois sélectionné >=10 ; « 4e trimestre »)
Donne le 1er, le 2ème, le 3ème ou le 4ème trimestre selon le mois où se trouve le curseur.
CASE(condition ; 0 ; 1 ; .. ; n) Donne le résultat de l’opération 0 à n en fonction de la valeur de condition. Si la condition vaut 0, donne le résultat de l’opération 0, si la condition vaut 1, donne le résultat de l’opération 1, etc.
POURCHAQUE(objet ; expression) Répète l’expression pour toutes les occurrences de l’objet, par exemple pour chacune des assurances LAA définies ou pour chaque code d’impôt à la source.
POURCHAQUE(@Donnée:Assurance LPP ; expression)
L’objet doit être la rubrique qui fait référence à l’assurance, au code d’impôt à la source ou au lieu de travail.
LIEUTRAVAIL(expression) Les lieux de travail définis pour l’entreprise – anciennement « succursales » – sont référencés par un n° d’identification supérieur ou égal à 300.
@Donnée:Lieu de travail de l’employé affiche ou imprime ce n° d’identification.
LIEUTRAVAIL(@E.Donnée:Lieux de travail)
donne le nom du lieu de travail de l’employé.
Pour imprimer l’adresse et la localité du lieu de travail :
LIEUTRAVAIL(@E.Donnée:Adresse de l’entreprise)
+ « \n »
+ LIEUTRAVAIL(@E.Donnée:Localité de l’entreprise)
Cette expression peut également être formulée ainsi :
LIEUTRAVAIL(@E.Donnée:Adresse de l’entreprise
+ « \n »
+ @E.Donnée:Localité de l’entreprise)
Si le document concerne toute l’entreprise, la fonction LIEUTRAVAIL() donne les données du siège principal de l’entreprise.
LIMITEPERIODES(condition ; expression) Permet de ne traiter que les mois où l’employé garde la même condition.
LIMITEPERIODES(@Donnée:Date d’entrée de l’employé
; TOTANNEE(@Brut:Salaire versé))
donne le total du salaire versé pour la période d’engagement courante (jusqu’au mois courant).
COMPTA(rubrique ; paramètre) Donne les définitions comptables d’une rubrique (§19.11 Comptabilisation des rubriques).
La valeur donnée dépend du paramètre :
COMPTA(rubrique ; 1) : compte débit
COMPTA(rubrique ; 1.1) : compte débit de l’employeur
COMPTA(rubrique ; 2) : compte crédit
COMPTA(rubrique ; 2.1) : compte crédit de l’employeur
COMPTA(rubrique ; 3) : libellé
COMPTA(rubrique ; 3.1) : libellé de la part de l’employeur
COMPTA(rubrique ; 4) : mode
COMPTA(rubrique ; 5) : code analytique
COMPTA(rubrique ; 5.1) : code analytique de la part de l’employeur
COMPTA(rubrique ; 6) : code TVA
Dans un bloc d’exportation « pour toutes les indemnités » (§20.5 Exporter des données), si le critère rubrique est vide, la fonction traite la rubrique courante de la boucle :
COMPTA(; 1.1) donne le compte débit employeur de chaque rubrique traitée dans la boucle.
SPECIALOP(paramètre) Opérations particulières effectuées lors d’une impression ou lors d’une exportation. SPECIALOP() traite toutes les rubriques @Ind:* ou @Déd:*d’une ligne imprimée ou d’un bloc exporté « répété pour » (§20.5 Exporter des données).
SPECIALOP() s’applique à la rubrique courante, en fonction de la valeur de paramètre.
SPECIALOP(90)
donne le type du coefficient de la rubrique :
-1 : type vide
0 : jours
1 : heures
2 : %
3 : sans type (-)
SPECIALOP(91) donne la valeur de la rubrique.
SPECIALOP(92) donne le déterminant de la rubrique.
SPECIALOP(93) donne le coefficient de la rubrique.
SPECIALOP(94) donne le coefficient employeur de la rubrique.
SPECIALOP(95) donne la valeur employeur de la rubrique.

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 (§20.5.2 Les opérateurs spéciaux TOTEMPLOYESCSV() et TOTANNEECSV())
ADRESSE(mode ; rubrique) Donne l’élément mode du champ rubrique de type NPA/Rue/Localité (§19.7.3 Rubriques de type Données).
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
Suggest Edit

Recherche