Écrire une ligne de calcul
Cette page présente les bases communes à tous les blocs de calcul : l’interprétation des lignes, les commentaires à côté des calculs, les valeurs nommées et leur réutilisation, ainsi que les lignes soumises à une condition. Commencez ici si vous découvrez les calculs dans Varlig, et revenez-y lorsqu’un nom ou un commentaire ne se comporte pas comme prévu.
Une expression par ligne
Les calculs se placent dans un bloc de calcul à l’intérieur d’une note. Saisissez une ligne de délimitation ```calc ou appuyez sur ⌘Y pour insérer un bloc. Chaque ligne du bloc contient un calcul ; son résultat s’affiche à côté.
£3.40 * 5 donne £17.0045 min + 1 hour 20 min donne 2 hours 5 min1.5 litres in ml donne 1,500 mLLes lignes vides et les lignes de commentaires n'ont pas de réponse, vous pouvez donc espacer un bloc et l'expliquer au fur et à mesure.
Varlig tente d’abord d’interpréter toute la ligne comme un calcul, y compris les expressions courantes telles que £45 with 20% VAT. Si cela ne fonctionne pas, il écarte les mots non reconnus : 5 apples + 3 oranges donne donc toujours 8. C’est pratique pour les notes rapides, mais une description peut entrer en conflit avec une expression ou un nom d’unité. Pour expliquer une ligne, utilisez plutôt un commentaire ou un libellé, présentés ci-dessous. Voir Comment Varlig interprète une expression pour les détails.
Un mot placé là où une valeur est attendue produit une erreur mentionnant ce mot, plutôt qu’un résultat erroné. Le message suggère le nom défini le plus proche :
rent = £1,150rnt + £200 donne Unsupported: unrecognized calculation at "rnt"; did you mean "rent"?Cela vaut aussi pour un nom contenant des chiffres ou des traits de soulignement, comme rent2 ou rent_2. Il n’est jamais ignoré comme une description ni réduit à sa partie numérique ; des parenthèses, un appel de fonction ou une conversion ne masquent pas non plus cette erreur. Les chiffres sont autorisés dans les libellés : placez-y la description de la ligne.
rent = £1,150rent2 + £200 donne Unsupported: unrecognized calculation at "rent2"; did you mean "rent"?(rnt + £200) * 2 donne Unsupported: unrecognized calculation at "rnt"; did you mean "rent"?Flat 2: rent + £200 donne £1,350.00Lignes commençant par une puce
Une puce en début de ligne signale un élément de liste d’achats : la description précédant le montant est ignorée, et le calcul reste effectué. Utilisez -, *, •, +, – ou —, suivi d’une espace :
- flowers 1,200 donne 1,200* coffee $4.50 donne $4.50- 12 mugs donne 12- 6 bananas @ 18p donne £1.08- 500g pasta 3 packs at £1.10 each donne £3.30Un tiret devant un montant seul reste un signe moins : - 1,200 donne -1,200, et - 12 kg donne -12 kg. Pour une mesure dans une liste, commencez la ligne par * ou •, qui sont toujours interprétés comme des puces.
Mots à côté d’un montant
La description rend la ligne lisible sans jamais changer sa valeur numérique. Les mots reliés par +, & ou per font partie de la description, sans former de calcul ; un signe moins accolé à un montant appartient à ce montant ; un numéro de référence placé après un mot est ignoré :
basin + pedestal £145 donne £145.00food cost per head £14.20 donne £14.20milk, bread, eggs £12.40 donne £12.40Netflix -£10.99 donne -£10.99DIRECT DEBIT REF 4471 £62.40 donne £62.40Invoice #123: £250 donne £250.00double cream 600 mL donne 600 mLchlorine 3 ppm donne 3 ppmt-shirt £12 donne £12.00on the day 60 at £28 donne £1,680.00Cela couvre la plupart des formes rencontrées dans un relevé, une confirmation de commande ou une liste de pièces collés dans une note : lignes en majuscules, éléments séparés par des virgules, noms composés avec tiret, ou descriptions commençant par un mot reconnu par Varlig, comme double, per ou on the day.
Un libellé numéroté, comme Year 2, Room 12 ou ISA 2026, ou une période suivie de son année, comme Q4 2026, July 2026 ou week 40 2027, fait lui aussi partie de la description, où qu’il se trouve dans la ligne, si un montant le suit : valeur avec devise, unité ou signe de pourcentage, ou nombre seul placé avant l’opérateur suivant. Le numéro du libellé n’est jamais ajouté au calcul :
Year 1 £5,000 + Year 2 £6,000 donne £11,000.00Year 1 5,000 + Year 2 6,000 donne 11,000ISA 2025 £20,000 + ISA 2026 £20,000 donne £40,000.00Room 12 £40 + Room 14 £50 donne £90.00Q3 2026 £5,000 + Q4 2026 £6,000 donne £11,000.00July 2026 £500 + August 2026 £600 donne £1,100.00Un nombre unique après un mot représente le montant, comme dans rent 1200 + 300 ; un nombre d’éléments reste pris en compte, comme dans tickets 2 £40 each. Une unité telle que hour, week ou day mesure le nombre qui la précède. Placée avant un nombre, elle nomme donc la ligne comme un autre mot : hour 2 désigne la deuxième heure, jamais une heure et deux minutes. Si une devise, une unité ou un signe de pourcentage suit, une espace après le numéro du libellé marque le début du montant : Week 2 150 hours représente donc 150 heures, et non 2 150.
hour 1 £40 + hour 2 £50 donne £90.00hours 8 + hours 7 donne 15Week 2 150 hours + Week 3 160 hours donne 310 hoursCommentaires
Un commentaire est un texte que la calculatrice ignore. Il y a quatre façons d'en écrire un :
| Forme | Exemple | Ce qui est ignoré |
|---|---|---|
| Commentaire avec croisillon | rent * 12 # per year ou # Budget |
Tout ce qui suit un # accompagné d’un espace, jusqu’à la fin de la ligne |
| Commentaire avec barres obliques | rent * 12 // per year |
Tout de // à la fin de la ligne |
| Annotation entre guillemets | "flat whites" £3.40 * 5 |
Tout ce qui se trouve à l'intérieur des guillemets doubles, n'importe où sur une ligne |
| Annotation entre parenthèses | $999 (for iPhone 16) |
Mots entre parenthèses, n'importe où sur une ligne |
# Weekly shopmilk = £1.45bread = £1.20 // sourdougheggs = £2.30 "free range"milk + bread + eggs # without the extras donne £4.95Un croisillon ou une barre oblique transforme le reste de la ligne en commentaire ; les guillemets et les parenthèses peuvent, eux, se placer au milieu d’une ligne. Vous pouvez ainsi expliquer un montant tout en poursuivant le calcul :
$999 (for iPhone 16) donne $999.00laptop £899 (refurbished) + £49 case donne £948.00Boing "747" is $386.8M donne $386.8MLes guillemets sont plus sûrs pour entourer un texte ressemblant à un nombre : c’est ainsi que 747 est exclu du calcul ci-dessus. Des parenthèses contenant uniquement un nombre sont interprétées comme un calcul, car un nombre accolé à une parenthèse implique une multiplication :
$999 (3) donne $2,997.00Placez donc le nombre d’éléments hors des parenthèses, ou précisez ce que vous comptez, comme dans $999 (3 handsets). Tout ce qui n’est pas un nombre seul reste un commentaire, y compris un mot composé avec tiret ou un pourcentage :
£134 (25% discount already applied) donne £134.00£10 (mother-in-law) donne £10.00Une ligne commençant par un croisillon suivi d’une espace est entièrement traitée comme un commentaire : c’est une façon pratique d’insérer un titre dans un bloc.
C’est l’espace qui fait du croisillon un commentaire. Un # accolé à un mot, comme dans #food, est un tag : il marque la ligne sans intervenir dans son calcul et permet d’additionner toutes les lignes portant ce tag, où qu’elles se trouvent dans le bloc.
£12.50 lunch #food donne £12.50£8 coffee #food donne £8.00total of #food donne £20.50Un croisillon suivi de chiffres n’est ni un commentaire ni un tag : il indique une référence et ne participe pas au calcul. Factures, commandes et références de pièces sont donc interprétées telles qu’elles sont écrites.
Invoice #123: £250 donne £250.00part #4 weighs 20 g donne 20 gLibellés
Un libellé se compose de quelques mots suivis de deux-points et d’une espace en début de ligne. Il décrit le résultat sans entrer dans le calcul :
rent = £1,250bills = £180Rent and bills: rent + bills donne £1,430.00Café bill: £12.50 + £4 donne £16.50Les libellés acceptent les lettres, y compris accentuées, les chiffres, les espaces et les traits de soulignement, comme dans Flat 2: ou Q3 rent:.
Un libellé ne crée pas de nom. Après Rent and bills: rent + bills, aucune valeur ne s’appelle Rent and bills. Utilisez = pour réutiliser un résultat. Évitez aussi de placer un libellé devant une affectation : Housing: rent = £1,250 affiche le montant, mais n’enregistre pas rent.
Affectation
= donne un nom à une valeur. La ligne montre également la valeur, afin que vous puissiez la vérifier au fur et à mesure.
price = £85 donne £85.00price + 20% donne £102.00Pour mettre à jour un nom que vous avez déjà défini, utilisez +=, -=, *= ou /= :
holiday fund = £400holiday fund += £150 donne £550.00holiday fund -= £85 donne £465.00servings = 4servings *= 3 donne 12flour = 750 gflour /= 3 donne 250 gSi le calcul à droite du signe échoue, le nom conserve l’erreur. Chaque ligne qui l’utilise affiche alors la même erreur, jusqu’à ce que vous lui affectiez de nouveau une valeur :
guests = 0per head = £120 / guests donne Error: divide by zeroper head + £5 donne Error: divide by zeroUne valeur affectée à un nom peut porter une description, comme sur une ligne indépendante. En revanche, la partie droite ne peut pas contenir des mots isolés entourant un nom seul : Varlig ne saurait pas quelle valeur enregistrer. Ainsi, si rent = £1,150 est défini, x = spent excl rent signale spent excl rent au lieu d’enregistrer silencieusement le loyer.
paid rent = £1,150daily spend = paid rent / 16 donne £71.88Noms
Les noms peuvent comporter plusieurs mots et peuvent contenir des lettres accentuées et non latines, des chiffres, des traits de soulignement et des emoji :
flat white = £3.40flat white * 5 donne £17.00crème brûlée = £6.50crème brûlée * 2 donne £13.00🍎 price = £0.45🍎 price * 6 donne £2.70q1 sales = £12,400q2 sales = £14,100q1 sales + q2 sales donne £26,500.00bedroom_width = 3.2 mbedroom_width * 2 donne 6.4 mUn nom peut inclure des mots que Varlig utilise ailleurs, tels que to, in ou needed, et il peut emprunter le nom d'une fonction intégrée telle que floor. Partout où vous l'utilisez comme valeur, Varlig lit votre valeur :
time to work = 25 mintime to work * 10 donne 4 hours 10 minpaint needed = 12.44 Lpaint needed to 1 dp donne 12.4 Lfloor = 12 m²floor * 2 donne 24 m²floor(3.7) donne 3Lorsque le nom est suivi de parenthèses, comme dans floor(3.7), la fonction conserve son rôle habituel.
Un nom peut même se terminer par un nombre écrit en lettres : le prix se lit alors comme sur le menu.
table for four = £96table for four / 4 donne £24.00Si deux noms commencent de la même façon, le plus long est prioritaire : un nom numéroté est donc interprété en entier.
batch = £8.01batch 2 = £8.21batch 2 - batch donne £0.20Les noms sont sensibles à la casse : eggs et Eggs sont deux valeurs différentes.
Si vous voulez qu'un nom soit disponible dans chaque note, comme votre taux horaire ou un taux d'imposition, ajoutez-le aux définitions globales dans Paramètres plutôt que de le répéter dans chaque note.
Noms en conflit avec les mots prédéfinis
Un nom que vous définissez est prioritaire sur toute autre signification de la même écriture : unité, nombre écrit en lettres ou constante. Les noms courants ne perturbent cependant pas vos quantités. Un nombre placé immédiatement avant un nom au pluriel ou une unité compte cet élément ; un pourcentage devant tip ou tax désigne le pourboire ou la taxe. Des valeurs nommées hours, nights ou tip ne modifient donc pas les lignes suivantes :
rate = £14 / hourhours = 7.5rate * 7.5 hours donne £105.00nights = 14£118/night * 14 nights donne £1,652.00tip = $12.69$84.60 + 18% tip donne $99.83Survolez le mot pour connaître l’interprétation retenue par Varlig. Sur rate * 7.5 hours, l’aide indique que le mot compte ici des heures et ne désigne pas la variable hours = 7.5. Ailleurs dans une ligne, le nom représente votre valeur, comme dans split £90 among people.
Une conversion suit la même règle : après in, to ou as, une unité est prioritaire sur un nom contenant un nombre sans unité. Un dénombrement nommé ne bloque donc pas la conversion vers l’unité correspondante. Avec miles = 12, 20 km in miles donne toujours 12,4274238447 mi. Un nom placé devant l’unité en change l’échelle au lieu de désigner une cible de conversion : 15.2 m in scale miles avec scale = 76.2 signale donc Unsupported: conversion to scale miles, sans choisir arbitrairement l’une des deux interprétations.
Une unité composée écrite avec une barre oblique sans espaces est toujours interprétée comme cette unité, quelle que soit l’utilisation de ses lettres ailleurs. Une masse volumique ou une vitesse copiée d’une fiche technique conserve donc son sens :
g = 9.81 m/s²2 g donne 19.62 m/s²2.7 g/cm³ donne 2.7 g/cm³50 kg * g donne 490.5 NDans quelques cas, votre définition change ce que signifie une ligne :
- Une lettre seule représente toujours votre valeur : après
m = 3,2 mvaut donc 6, et non deux mètres. - Un nombre placé devant un nom au singulier le multiplie : après
width = 3,2 widthvaut donc 6. Cela vaut aussi pour un nom d’une lettre placé avant une unité ou un opérateur. L’aide l’indique et suggère d’écrire2 * widthpour lever l’ambiguïté. - Les nombres écrits en lettres et les constantes sont eux aussi remplacés : après
one = 7,one times twovaut 14.
Deux habitudes évitent la plupart des surprises :
- N’utilisez pas de symboles d’unité seuls comme noms, tels que
m,s,houin, et ne redéfinissez pas de constantes ni de nombres écrits en lettres, commepi,oneoui. - Préférez les noms descriptifs tels que
hours worked,day rateourun distance.
Ordre dans le document
Chaque ligne accède aux noms définis au-dessus d’elle. Ces noms restent aussi disponibles dans les blocs de calcul suivants de la même note : définissez vos données une fois, puis réutilisez-les plus bas.
price = £20quantity = 3cost = price * quantity donne £60.00price = £25price * quantity donne £75.00cost donne £60.00Redéfinir price ne modifie pas la ligne cost précédente : cost a été calculé avec le prix disponible à cet endroit. Pour changer le résultat d’un calcul antérieur, modifiez la ligne où sa donnée d’entrée est définie.
Le résultat précédent
prev désigne le résultat le plus proche au-dessus de la ligne ; ans a le même sens, sauf si vous avez nommé une valeur ans. Ces références conviennent pour enchaîner rapidement un calcul :
£1,250 * 12 donne £15,000.00prev / 52 donne £288.46ans + £20 donne £308.46Pour additionner un groupe de lignes, écrivez sum ou total sur une ligne distincte. Voir Additionner les lignes précédentes.
Référencer une ligne par son numéro
line1, line2, etc. désignent un calcul par sa position dans la note, en parcourant tous les blocs de calcul dans l’ordre :
price = £100 donne £100.00line1 * 2 donne £200.00Une référence reste attachée à la ligne qu’elle désigne. Insérez une ligne au-dessus ou déplacez des lignes avec Format › Move Line Up et Move Line Down : le résultat continue d’utiliser la même ligne. Varlig renumérote le texte automatiquement, dans une opération d’annulation distincte, pour que la référence affichée corresponde au calcul effectué.
Si vous supprimez la ligne désignée, la référence affiche Error: line2 refers to a deleted line au lieu d’utiliser silencieusement un autre nombre. L’annulation rétablit à la fois la ligne et la référence.
Les références sont conservées au copier-coller
Lorsque vous copiez ou coupez des lignes de calcul, puis les collez, leurs références line2 et ↑ continuent de désigner les lignes d’origine selon les règles suivantes :
- Une référence à une ligne copiée suit sa copie ; son numéro s’adapte à la nouvelle position.
- Une référence à une ligne non copiée continue de désigner cette ligne lorsque le collage a lieu dans la même note.
- Collé dans une autre note, le résultat devient le nom défini par cette ligne, par exemple
rentpourrent = $1,200. Ce nom fonctionne dès que la note le définit ou l’importe. Une ligne sans nom devient une référence telle queline2_of_Budget, qui reste affichée ainsi jusqu’à son remplacement :
5 + line2_of_Budget donne Unsupported: line2_of_Budget is a line of another noteLe presse-papiers ne contient que le texte sélectionné : les autres applications reçoivent exactement ce texte, et le collage s’annule en une seule opération. Les lignes copiées depuis une note protégée par mot de passe sont collées telles qu’elles sont écrites.
Transformer du texte en calcul
Vous avez collé une facture ou saisi quelques lignes à additionner ? Sélectionnez-les et choisissez Format › Convert to Calculation Block, ou appuyez sur ⌘Y : Varlig les entoure des délimiteurs d’un bloc de calcul en une seule modification annulable, et les résultats apparaissent à côté.
Sans sélection, ⌘Y insère un bloc vide. Le texte hors d’un bloc n’est jamais calculé : un e-mail collé conserve donc ses nombres, ses dates et ses références de facture tels quels.
Réinitialisation de la portée
Une ligne contenant uniquement --- ouvre une nouvelle portée. Les noms, unités personnalisées et fonctions personnelles définis au-dessus ne sont plus accessibles en dessous. Vous pouvez ainsi comparer deux scénarios dans une même note sans mélanger leurs valeurs.
# Option A: the flat in townrent = £1,250travel = £60rent + travel donne £1,310.00---# Option B: the flat further outrent = £980travel = £210rent + travel donne £1,190.00Sous le ---, travel doit être défini à nouveau. Si vous oubliez, la ligne qui l'utilise n'a rien à référencer.
Expressions conditionnelles
if … then … else … choisit l'une des deux valeurs en fonction d'une comparaison. Vous pouvez l'utiliser seul ou attribuer le résultat à un nom :
basket = £34.50delivery = if basket >= £40 then £0 else £3.99 donne £3.99basket + delivery donne £38.49Enchaînez plusieurs else if pour prévoir plus de deux résultats possibles :
basket = £34.50if basket < £20 then £4.99 else if basket < £40 then £2.99 else £0 donne £2.99Seule la branche choisie est calculée ; l’autre peut donc contenir une expression qui provoquerait une erreur :
guests = 0if guests > 0 then £120 / guests else £0 donne £0.00if et unless en fin d’expression
Vous pouvez aussi placer la condition après la valeur. value if condition affiche la valeur si la condition est vraie ; value unless condition l’affiche si elle est fausse. Dans les deux cas, la ligne n’affiche rien lorsque la condition requise n’est pas remplie.
basket = £34.50£3.99 if basket < £40 donne £3.99£3.99 unless basket >= £40 donne £3.99La valeur peut être un texte entre guillemets doubles : la condition affiche alors un message indiquant où vous en êtes, et la ligne reste vide le reste du temps.
conversion = 0.667%"on target" if conversion > 0.5% donne on targetAffecter une valeur dans une condition
Les deux branches peuvent affecter une valeur au même nom :
basket = £34.50if basket >= £40 then shipping = £0 else shipping = £3.99 donne £3.99shipping donne £3.99Avec une seule branche then, l’affectation a lieu si la condition est vraie ; sinon, le nom conserve son ancienne valeur.
basket = £34.50points = 0if basket > £30 then points = 50 donne 50points donne 50Les comparaisons telles que >= et les opérateurs && et || sont couvertes dans Opérateurs, comparaisons et conditionnels.
Combiner les opérations
Voici une petite facture de travail indépendant, telle que vous pourriez la conserver dans une note :
# March invoiceday rate = £420days worked = 6travel = £86.40 // train faresfees = day rate * days worked donne £2,520.00subtotal = fees + travel donne £2,606.40vat registered = truevat = if vat registered then subtotal * 20% else £0 donne £521.28Total due: subtotal + vat donne £3,127.68Chaque donnée d’entrée porte un nom : le mois suivant, il suffit de modifier days worked et travel pour actualiser le reste de la facture. Les commentaires et le libellé rendent le bloc lisible ; la condition permet d’utiliser la même note, que vous facturiez la TVA ou non.