+
+ Paramétrage des contrôles comptables
+
+
+ La commande Etat / Analyse et contrôles / Contrôles comptables permet de paramétrer des formules de contrôle.
+
+
+ Nous renvoyons le lecteur à la partie du manuel qui traite de cette fenêtre en général. Nous ne détaillerons dans cette annexe que ce qui touche au paramétrage des formules de calcul.
+Les généralités concernant le paramétrage des contrôles comptables sont présentées dans les titres suivants:
+
+
+ -
+
+ Rédaction des scripts,
+
+
+ -
+
+ Principe de fonctionnement des contrôles comptables,
+
+
+ -
+
+ Opérateurs,
+
+
+ -
+
+ Variables,
+
+
+ -
+
+ Fonctions dans les contrôles comptables.
+
+
+
+
+ Rédaction des scripts
+
+
+
+Il convient de préciser, avant tout, que le paramétrage doit être fait en fonction du fichier sélectionné dans la zone de ce nom.
+
+
+ Les formules de calcul se composent des éléments suivants:
+
+
+ -
+ d’informations tirées des fichiers de travail,
+
+ -
+ de nombres entiers ou décimaux,
+
+ -
+ d’opérateurs arithmétiques, logiques, relationnels ou conditionnels,
+
+ -
+ de fonctions,
+
+ -
+ de formules de calcul préprogrammées,
+
+ -
+ de textes,
+
+ -
+ de dates.
+
+
+
+ Pour saisir ou modifier une formule il suffit d’amener le curseur dans la zone prévue à cet effet. Il se transforme alors en curseur d’insertion de texte. Cliquez à l’endroit où le texte doit être inséré. Il n’est pas nécessaire de valider en fin de saisie.
+
+
+ Si la zone contient déjà des informations, cliquez à l’endroit où il est nécessaire d’en ajouter ou bien cliquez et sélectionnez les informations à modifier ou à supprimer. Utilisez la touche Ret. Arr. sur Windows pour réaliser les suppressions.
+
+
+ La saisie des formules de calcul s’effectue directement au clavier et/ou en utilisant les zones à liste déroulante disposées en bas de la fenêtre. La sélection d’un item dans les listes ouvertes par ces zones le transfère à l’endroit où se trouve le curseur. Il reste alors à l’utilisateur à compléter, si nécessaire, les informations attendues par l’information ainsi insérée.
+
+
+ Si un contrôle se compose de plusieurs formules, celles-ci doivent être séparées par des points-virgules (;).
+
+
+ Les commandes Couper, Copier, Coller du menu Edition, ou leurs raccourcis clavier, peuvent être utilisées.
+
+
+ La zone de saisie peut comporter jusqu’à 1980 caractères alphanumériques.
+
+
+ Les retours à la ligne et les tabulations sont enregistrés de la façon suivante:
+
+
+ -
+ en tapant Ctrl + Entrée pour un retour ligne et
+
+ -
+ Ctrl + Tabulation pour une tabulation.
+
+
+
+ Toute formule doit conduire à la fonction Resultat qui prend la valeur Vrai ou Faux suivant le cas.
+
+
+ Veuillez noter que la syntaxe des fonctions et zones des fichiers doit être scrupuleusement observée. Par exemple la fonction Resultat doit s’écrire sans lettre accentuée sous peine de rejet par le programme. Celui-ci analyse la formule à la fermeture de la fenêtre de saisie et met en surbrillance les éléments qui présentent une anomalie.
+
+
+
+Erreurs dans les scripts
+
+
+ Dans le cas où le programme afficherait un message signalant une erreur dans un script (en sélectionnant la partie fautive), les démarches à réaliser sont les suivantes :
+
+
+ -
+ La syntaxe de la fonction est-elle correcte (pas de lettres accentuées, pas d’erreur de frappe,…)?
+
+ -
+ Le nombre de parenthèses est-il correct?
+
+ -
+ Le nombre d’arguments attendu par certaines fonctions est-il correct ? Les arguments sont séparés par des points virgules (;).
+
+ -
+ Les groupes de fonctions sont-ils séparés les uns des autres par des points virgules (;)?
+
+ -
+ Ne manque-t-il pas l’opérateur FinSi de fin d’instruction conditionnelle?
+
+ -
+ Les valeurs données à traiter par une fonction sont-elles compatibles avec ce qu’attend cette dernière : texte, date ou valeur ? Dans le doute essayez d’insérer les fonctions CDText, CVDate, CVNum ou CVText.
+
+
+
+ Principe de fonctionnement des contrôles comptables
+
+
+ La destination des contrôles comptables n’est pas de modifier les données enregistrées dans les fichiers ni de faire des cumuls de valeurs provenant de différentes zones de stockage.
+
+
+ Le but est de sélectionner des comptes généraux ou tiers ainsi que des écritures qui répondent aux critères de sélection enregistrés dans les formules.
+
+
+ A cet effet, la destination de la formule n’est que de rendre un résultat Vrai ou Faux qui permettra ou non de sélectionner l’élément, compte ou écriture, et de le faire s’afficher dans l’état correspondant au contrôle afin que l’utilisateur soit prévenu que l’anomalie ou la particularité qu’il cherche à détecter se retrouve dans tel compte ou dans telle écriture.
+
+
+ Les exemples de paramétrages que vous trouverez dans le fichier exemple Cycle.exp vous montreront cette particularité.
+
+
+ Opérateurs
+
+
+ Les formules de calcul utilisent tous les opérateurs classiques:
+
+
+
+ |
+ Opérateur
+ |
+
+ Fonction
+ |
+
+
+ |
+ +
+ |
+
+ Addition
+ |
+
+
+ |
+ –
+ |
+
+ Soustraction
+ |
+
+
+ |
+ *
+ |
+
+ Multiplication
+ |
+
+
+ |
+ /
+ |
+
+ Division
+ |
+
+
+ |
+ =
+ |
+
+ Egalité
+ |
+
+
+ |
+ <>
+ |
+
+ Différence
+ |
+
+
+ |
+ >
+ |
+
+ Plus grand que
+ |
+
+
+ |
+ <
+ |
+
+ Plus petit que
+ |
+
+
+ |
+ >=
+ |
+
+ Plus grand ou égal
+ |
+
+
+ |
+ <=
+ |
+
+ Plus petit ou égal
+ |
+
+
+
+ Variables
+
+
+
+On peut utiliser, dans une même formule, autant de variables que l’on veut.
+
+
+ Exemple
+
+
+ Montant = CG_SoldeCred
+
+
+ affectera le solde créditeur du compte général à la variable Montant.
+
+
+ Certaines variables particulières dénommées Valeur1 à Valeur10 sont disponibles dans la zone à liste déroulante Fonction. Ces variables ont la particularité de correspondre à un objet de mise en page. Il est donc possible de les insérer dans un modèle pour que leur contenu s’imprime sur l’état.
+
+
+ Fonctions disponibles dans les contrôles comptables
+
+
+ Les fonctions disponibles dans les contrôles comptables sont accessibles par la zone à liste déroulante Fonction qui se trouve sur le bord inférieur de la fenêtre. Nous présentons ci-après les fonctions offertes dans l’ordre alphabétique de leur désignation et non dans l’ordre où elles apparaissent dans la liste déroulante. Nous avons émaillé ces explications d’exemples afin que les descriptions soient plus «parlantes».
+
+
+ Nous renvoyons le lecteur au fichier Cycle.exp qui propose un certain nombre de paramétrages dont il pourra s’inspirer dans la rédaction de ses propres scripts.
+
+
+ Alerte(Message)
+
+
+ Cette fonction permet d’afficher un message d’alerte. Le message d’alerte doit être saisi entre guillemets s’il n’est pas tiré d’un champ ou d’une variable.
+
+
+ Exemple
+
+
+ La formule suivante détecte les pièces qui ont des numéros et des références en double :
+
+
+ Si IdentiquePiece() Ou IdentiqueRefPiece() Alors
+
+
+ Alerte(EC_Piece + " en double !")
+
+
+ FinSi
+
+
+ affiche un message d’alerte si l’une des conditions est remplie c’est-à-dire si les écritures comportent le même numéro ou la même référence. Le message d’alerte qui s’affiche reprend le numéro et la référence pièce et y ajoute un commentaire.
+
+
+ Un contrôle utilisant cette fonction doit être affecté à un modèle de mise en page pour qu’il puisse être lancé. Ce modèle de mise en page peut ne pas être paramétré si le contrôle ne sert qu’à générer un message d’alerte.
+
+
+ Si la formule détecte 100 comptes ou 100 écritures, le message d’alerte s’affichera 100 fois. Cliquez sur le bouton [Annuler] de la fenêtre de l’alerte pour stopper cet affichage.
+
+
+ Alors
+
+
+ Voir la fonction Si…Alors…Sinon…FinSi.
+
+
+ Annee
+
+
+ Permet d’extraire l’année d’une date.
+
+
+ Exemple
+
+
+ La formule suivante
+
+
+ Valeur3 = Annee(EC_Date)
+
+
+ affecte l’année de l’écriture à la variable Valeur3 et permettra de l’imprimer dans l’état du contrôle.
+
+
+ Arrondi(Valeur;Nbre décimales)
+
+
+ Cette fonction arrondit une Valeur à un nombre de décimales fixé par Nb décimales.
+
+
+ Exemple
+
+
+ La formule
+
+
+ Arrondi = Arrondi(CT_Solde;O)
+
+
+ affecte à la variable Arrondi la partie entière du solde du compte de tiers.
+
+
+ Autre
+
+
+ Voir la fonction Suivant…Autre…FinSuivant.
+
+
+ CDText (Date)
+
+
+ Permet de convertir une date en texte afin de l’insérer dans un commentaire ou d’en extraire des informations par l’intermédiaire de fonctions qui ne traitent que des chaînes textes.
+
+
+ Cette fonction traite des dates courtes au format JJMMAA. La fonction suivante fait la même conversion mais sur les dates longues JJMMAAAA.
+
+
+ Exemple
+
+
+ Voir l’exemple donné pour la fonction Droite.
+
+
+ CDLText (Date longue)
+
+
+ Cette fonction est similaire à la précédente sauf qu’elle traite de dates longues au format JJMMAAAA.
+
+
+ Commentaire
+
+
+ Cette fonction permet d’insérer un commentaire dans l’état imprimé du contrôle. Ce commentaire, comme tout texte, doit être saisi entre guillemets.
+
+
+ Exemple
+
+
+ La formule
+
+
+ Si (CT_SoldeDeb > 0) Et (CT_TypeFou Ou CT_TypeSal) Alors
+
+
+ Commentaire = "Compte normalement créditeur"
+
+
+ Sinon
+
+
+ Si (CT_SoldeCred > 0) Et CT_TypeCli Alors
+
+
+ Commentaire = "Compte normalement débiteur"
+
+
+ Sinon
+
+
+ Resultat = Faux
+
+
+ FinSi
+
+
+ FinSi
+
+
+ permet de signaler les comptes salariés ou fournisseurs qui se trouveraient débiteurs ainsi que les comptes clients qui se trouveraient créditeurs en insérant sur leur ligne lors de l’impression de l’état de contrôle un commentaire précisant l’anomalie observée.
+
+
+ Nous attirons l’attention du lecteur sur la différence de paramétrage entre la fonction Alerte et la fonction Commentaire.
+
+
+ CVDate (Texte)
+
+
+ Cette fonction convertit un texte en date (à condition que le texte s’y prête).
+
+
+ Il s’agit dans ce cas de dates courtes JJMMAA. Pour les dates longues, utilisez la fonction CVLDate.
+
+
+ CVLDate (Texte)
+
+
+ Cette fonction est identique à CVDate mais la date qui en résulte est de la forme JJMMAAAA.
+
+
+ Comme pour la précédente, il est nécessaire que le texte à convertir corresponde à une date.
+
+
+ CVNum (Texte)
+
+
+ Cette fonction permet de convertir un texte en nombre si son format le permet.
+
+
+ CVText (Valeur)
+
+
+ Cette fonction permet de convertir un nombre en texte pour pouvoir en utiliser le résultat dans une fonction ne traitant que les textes (Droite, Gauche ou Milieu par exemple).
+
+
+ Date(jj;mm;aa)
+
+
+ Cette fonction permet de générer une date.
+
+
+ Exemple
+
+
+ La formule suivante permet d’extraire tous les comptes généraux qui ont reçu une écriture le 01/05/99 et après :
+
+
+ Si CG_DateDer >= Date(1;5;99) Alors
+
+
+ Commentaire = "Compte utilisé après le 1er mai 99"
+
+
+ FinSi
+
+
+ DateJour()
+
+
+ Récupère la date système (date du micro-ordinateur) et permet de l’insérer dans une formule. Les parenthèses doivent rester vides.
+
+
+ Exemple
+
+
+ La formule suivante permet d’extraire les écritures clients non lettrées ayant une échéance dépassée de plus de 30 jours par rapport à la date du jour.
+
+
+ Si EC_Echeance <> Date(0;0;0) Alors
+
+
+ Valeur1 = NbreJour(DateJour();EC_Echeance);
+
+
+ Si (((EC_Echeance < DateJour()) Et (Valeur1 > 30)) Et CT_TypeCli) Et EC_NonLettre Alors
+
+
+ Resultat = Vrai
+
+
+ FinSi
+
+
+ FinSi
+
+
+ La formule recherche d’abord toutes les écritures possédant une date d’échéance.
+
+
+ Ensuite elle affecte à la variable Valeur1 le nombre de jours entre la date d’échéance et le jour actuel. Cette information pourra être imprimée dans l’état.
+
+
+ Puis elle détermine que la date d’échéance de l’écriture est bien inférieure à la date du jour, que l’échéance est dépassée de plus de 30 jours, que l’écriture concerne bien un client et qu’elle n’est pas lettrée. Dans ce cas elle la sélectionne pour impression dans l’état de contrôle.
+
+
+ Droite(Texte;Nombre)
+
+
+ Extrait le nombre de caractères Nombre qui se trouve à la droite de Texte.
+
+
+ Exemple
+
+
+ La formule suivante
+
+
+ An = CVNum(Droite(CDText(EC_Date);2))
+
+
+ affectera le résultat 98 à la variable An si la date de l’écriture était 15/11/98. La fonction Droite ne pouvant porter que sur des textes, il est donc nécessaire de transformer la date conservée dans le fichier en texte pour pouvoir ensuite opérer la sélection. Ensuite cette valeur texte est à nouveau transformée en valeur numérique pour pouvoir être stockée dans la variable An.
+
+
+ Ce calcul aura été fait plus simplement en utilisant la fonction Annee().
+
+
+ Et
+
+
+ Toutes les conditions reliées par cet opérateur doivent être vraies pour que l’ensemble soit considéré comme vrai.
+
+
+ La formulation est (Test 1) Et (Test 2).
+
+
+ Exemple
+
+
+ La formule suivante combine des opérateurs Et et Ou. Elle est tirée du contrôle comptable Comptes généraux non utilisés qui permet d’imprimer la liste des comptes généraux qui n’ont pas été mouvementés sur l’exercice N ou sur l’exercice N-1. Ce contrôle est identique à Comptes tiers non utilisés qui fait la même recherche sur les comptes de tiers.
+
+
+ Si ((CG_MouvN_1 = Vrai) Et (CG_MouvN = Faux)) Ou ((CG_MouvN_1 = Faux) Et (CG_MouvN = Vrai)) Alors
+
+
+ Resultat = Vrai
+
+
+ FinSi
+
+
+ Faux
+
+
+ Valeur logique booléenne qui, si elle est appliquée à la fonction Resultat n’entraînera pas la sélection des comptes correspondant à la formule.
+
+
+ Exemple
+
+
+ La formule suivante permet d’extraire tous les comptes dont la nature est différente de Client ou Fournisseur :
+
+
+ Si CG_NatCli Ou CG_NatFou Alors
+
+
+ Resultat = Faux
+
+
+ FinSi
+
+
+ FinSi
+
+
+ Voir la fonction Si…Alors…Sinon…FinSi.
+
+
+ FinSuivant
+
+
+ Voir la fonction Suivant…Autre…FinSuivant.
+
+
+ Gauche(Texte;Nombre)
+
+
+ Cette fonction extrait le Nombre de caractères qui se trouve à la gauche de Texte.
+
+
+ Exemple
+
+
+ La formule suivante permet d’extraire les écritures concernant les cadeaux à la clientèle
+
+
+ Si (Gauche(CG_Num;4) = "6234") Et (EC_Quantite <> 0) Alors
+
+
+ Si EC_MontantDeb / EC_Quantite * 1,206 > 200 Alors
+
+
+ Resultat = Vrai;
+
+
+ Valeur1 = EC_MontantDeb / EC_Quantite
+
+
+ FinSi
+
+
+ FinSi
+
+
+ Le programme extrait les écritures des comptes dont la racine est 6234 (Cadeaux à la clientèle) et dont la quantité est différente de zéro puis calcule la valeur unitaire TTC du débit. Si celle-ci excède 200 F, l’écriture correspondante est extraite et la valeur du cadeau est affectée à la variable Valeur1 qui permettra de la mentionner dans l’état imprimé.
+
+
+ Cet exemple n’est valable que si la saisie de la quantité a été faite.
+
+
+ IdentiquePiece()
+
+
+ Cette fonction permet de déterminer si deux lignes d’écritures ou plus ont des numéros de pièce, des montants, des dates d'écritures et des libellés identiques. Les parenthèses doivent rester vides.
+
+
+ Cette fonction ne s’applique qu’au fichier des écritures.
+
+
+ Exemple
+
+
+ Cet exemple est tiré du contrôle Recherche des doublons.
+
+
+ Si IdentiquePiece() Ou IdentiqueRefPiece() Alors
+
+
+ Resultat = Vrai
+
+
+ FinSi
+
+
+ Si le contrôle constate que des lignes sont identiques, il affecte la valeur Vrai à Resultat et les lignes sont imprimées dans l’état.
+
+
+ IdentiqueRefPiece()
+
+
+ Cette fonction permet de déterminer si deux lignes d’écritures ou plus ont des références pièces, des montants, des dates d'écritures et des libellés identiques. Les parenthèses doivent rester vides.
+
+
+ Cette fonction ne s’applique qu’au fichier des écritures.
+
+
+ Exemple
+
+
+ Voir l’exemple donné pour la fonction IdentiquePiece.
+
+
+ Jour(Date)
+
+
+ Permet d’extraire le jour d’une date.
+
+
+ Exemple
+
+
+ La formule
+
+
+ Jour(EC_Date)
+
+
+ extraira le jour de la date de l’écriture.
+
+
+ Longueur(Texte)
+
+
+ Renvoie la longueur d’un texte. Cette fonction est utile dans l’extraction de portions de texte au moyen de la fonction Milieu.
+
+
+ Exemple
+
+
+ Cette formule extrait toutes les écritures dont le libellé fait plus de 20 caractères et commence par le mot « Electricité » :
+
+
+ Si (Longueur(EC_Libelle) > 20) Et (Gauche(EC_Libelle;11) = "Electricité") Alors
+
+
+ Resultat = Vrai
+
+
+ FinSi
+
+
+ Milieu(Texte;Ind;Len)
+
+
+ Cette fonction extrait d’un texte Texte le nombre de caractères défini par Len à partir de la position Ind.
+
+
+ Exemple
+
+
+ Edition des comptes de tiers dont le numéro possède un « A » en deuxième position :
+
+
+ Si Milieu(CT_Num;2;1) = "A" Alors
+
+
+ Resultat = Vrai
+
+
+ FinSi
+
+
+ Mois(Date)
+
+
+ Permet d’extraire le mois d’une date.
+
+
+ Exemple
+
+
+ Voir l’exemple donné pour la fonction Jour, elle est tout à fait similaire.
+
+
+ NbreAnnee(DateDebut;DateFin)
+
+
+ Calcule le nombre d’années qui sépare deux dates.
+
+
+ Exemple
+
+
+ Voir l’exemple donné pour la fonction NbreJour. Le principe est strictement le même.
+
+
+ NbreJour(DateDebut;DateFin)
+
+
+ Calcule le nombre de jours qui sépare deux dates.
+
+
+ Exemple
+
+
+ Voir l’exemple donné pour la fonction DateJour.
+
+
+ NbreMois(DateDebut;DateFin)
+
+
+ Calcule le nombre de mois qui sépare deux dates. Le principe est strictement le même.
+
+
+ Exemple
+
+
+ Voir l’exemple donné pour la fonction NbreJour. Le principe est strictement le même.
+
+
+ Non
+
+
+ Prend le contraire de la proposition qui suit.
+
+
+ Exemple
+
+
+ La formule suivante
+
+
+ Si Non (Droite(CDText(EC_Date);2) = "98") Alors
+
+
+ Resultat = Vrai
+
+
+ FinSi
+
+
+ extrait les écritures qui n’appartiennent pas à l’exercice 1998. La date est d’abord convertie en texte pour que la fonction Droite puisse opérer.
+
+
+ Numerotation()
+
+
+ Informe d’une rupture dans la numérotation des pièces. Les parenthèses doivent rester vides.
+
+
+ Cette fonction n’est utilisable que dans le cadre du fichier Ecritures.
+
+
+ Exemple
+
+
+ L’exemple qui suit est le paramétrage du contrôle Continuité de la numérotation :
+
+
+ Si Numerotation() Alors
+
+
+ Resultat = Vrai
+
+
+ FinSi
+
+
+ Si le programme constate une absence de continuité dans les numéros (manques), la fonction Numerotation() renvoie la valeur Faux.
+
+
+ Ou
+
+
+ L’une des conditions reliées par cet opérateur booléen doit être vraie pour que l’ensemble soit considéré comme vrai.
+
+
+ La formulation est : (Test 1) Ou (Test 2).
+
+
+ Exemple
+
+
+ Afficher les écritures lettrées totalement ou partiellement et comportant un client :
+
+
+ Si CT_TypeCli Et (EC_LettreTot Ou EC_LettrePart) Alors
+
+
+ Resultat = Vrai
+
+
+ FinSi
+
+
+ PartEnt(Valeur)
+
+
+ Cette fonction extrait la partie entière d’une valeur.
+
+
+ Exemple
+
+
+ La formule suivante
+
+
+ Valeur1 = PartEnt(CT_Solde)
+
+
+ affectera la valeur 1852 à la variable Valeur1 si le solde du compte de tiers est 1852,07.
+
+
+ Resultat
+
+
+ Cette fonction permet d’affecter un résultat à la formule du contrôle. Si ce résultat prend la valeur Vrai, les comptes ou les écritures correspondantes seront extraites des fichiers et imprimées dans l’état. Elles ne le seront pas dans le cas contraire.
+
+
+ Exemple
+
+
+ Voir tous les autres exemples permettant des sélections de comptes ou d’écritures.
+
+
+ Si…Alors…Sinon…FinSi
+
+
+ Instruction conditionnelle qui permet de faire des tests de la forme : Si Condition Alors Valeur si condition vraie Sinon Valeur si condition fausse FinSi.
+
+
+ Des instructions Si…FinSi peuvent être imbriquées en nombre limité seulement par le nombre de caractères admis par la zone de saisie de la formule. A chaque Si doit correspondre un FinSi.
+
+
+ L’instruction Sinon peut être omise.
+
+
+ Il est parfois plus simple d’utiliser l’instruction conditionnelle Suivant…Autre…FinSuivant décrite ci-après.
+
+
+ Exemple
+
+
+ Les exemples précédents sont émaillés de nombreuses instructions conditionnelles. Nous vous proposons une autre formule qui extrait les comptes généraux dont le solde n’est pas nul :
+
+
+ Si CG_Solde <> 0 Alors
+
+
+ Resultat = Vrai
+
+
+ Sinon
+
+
+ Resultat = Faux
+
+
+ FinSi
+
+
+ Suivant…Autre…FinSuivant
+
+
+ Cette fonction permet d’effectuer des tests et d’exécuter des instructions de manière automatique. Elle permet de remplacer les instructions conditionnelles Si…Alors…Sinon…FinSi à imbrications multiples et de simplifier la syntaxe.
+
+
+ Dans les exemples donnés dans ce chapitre, nous avons essentiellement utilisé l’instruction conditionnelle Si car elle est d’une compréhension plus immédiate.
+
+
+ La syntaxe de cette fonction est la suivante:
+
+
+ Suivant
+
+
+ Condition : {Instruction ; Instruction ; …};
+
+
+ Condition : {Instruction ; Instruction ; …};
+
+
+ Condition : {Instruction ; Instruction ; …};
+
+
+ …;
+
+
+ Autre : {Instruction ; Instruction; …}
+
+
+ FinSuivant
+
+
+ Le déroulement est le suivant :
+
+
+ -
+ on affecte une valeur de comparaison à une variable;
+
+ -
+ on compare cette variable à une valeur donnée;
+
+ -
+ si la comparaison est vérifiée, la ou les instructions qui suivent sont réalisées et la fonction s’arrête;
+
+ -
+ si la comparaison n’est pas vérifiée, la fonction se poursuit par une autre comparaison (s’il y en a);
+
+ -
+ si la comparaison n’est pas du tout vérifiée, on applique une ou plusieurs dernières instructions.
+
+
+
+ Nous attirons tout spécialement l’attention du lecteur sur la syntaxe de cette fonction:
+
+
+ -
+
+ les tests conditionnels sont suivis du caractère deux points (:),
+
+
+ -
+
+ les instructions à réaliser sont incluses entre des accolades ({ }) et sont séparées par des points virgules (;),
+
+
+ -
+
+ l’instruction Autre est également suivie du caractère deux points (:).
+
+
+
+
+ Pour insérer des accolades utilisez les combinaisons de touches Alt gr + ’ et Alt gr + = sur Windows.
+
+
+ Le nombre d’instructions entre accolades n’est pas limité à condition de les séparer par des points virgules (;).
+
+
+ Les tests de condition peuvent employer tous les opérateurs relationnels (=, <, >, <>) à l’exception des parenthèses.
+
+
+ L’instruction Autre peut être omise si elle n’a pas d’utilité.
+
+
+ Exemple
+
+
+ Soit la formule suivante:
+
+
+ Classe = Gauche(CG_Num;1);
+
+
+ Suivant
+
+
+ Classe = "6" : {Commentaire = "Compte de charge"};
+
+
+ Classe = "7" : {Commentaire = "Compte de produit"};
+
+
+ Autre : {Commentaire = "Autre compte"}
+
+
+ FinSuivant
+
+
+ La première partie de la formule affecte à la variable Classe le premier caractère du compte.
+
+
+ La fonction Suivant…FinSuivant modifie le contenu du commentaire en fonction de la classe du compte lu.
+
+
+ Valeur1 à Valeur10
+
+
+ Ces variables peuvent se voir affecter une valeur fixe ou le résultat d’une formule. Les valeurs stockées par ces variables sont toujours numériques. Chacune d’elles correspond à un objet de mise en page et leur valeur peut donc être imprimée dans l’état du contrôle.
+
+
+ Rappelons que les formules peuvent comporter des variables en nombre illimité mais que ces variables ne servent que dans la formule et ne peuvent être éditées sauf si on les affecte à une des valeurs définies ici.
+
+
+ Vrai
+
+
+ Valeur logique booléenne. Appliquée à la fonction Resultat elle entraînera la sélection des comptes ou des écritures qui correspondent à la formule.
+
+
+
+
+