Fonction de calcul ObtenirNombre : une petite nouveauté de FileMaker 17…

Voici une petite nouveauté de FileMaker Pro Advanced 17 qui risque de passer inaperçue tant elle est discrète 😉

Certes, ce n’est pas la révolution du siècle, mais elle me donne l’occasion de parler d’une fonction de calcul qui existe depuis la version 6 de FileMaker 😉 Il s’agit de la fonction ObtenirNombre()

Cette fonction permet en fait d’extraire d’un texte tous les caractères numériques en laissant tomber tous ceux qui ne le sont pas. L’aide en ligne de FileMaker donne plusieurs exemples.

Par exemple, si vous avez le texte « FY20 », ObtenirNombre vous renvoie 20, si vous avez un numéro de série alphanumérique, TKV35FRG6HH84 elle vous renvoie 35684 et si votre chaîne de caractère ne contient aucun chiffre, elle ne vous renvoie rien. Ce qui est logique 😉

Jusqu’à présent, dans tous ces exemples, la fonction ObtenirNombre se contente de « nettoyer » la chaîne de caractères en retenant que les chiffres. Mais dans les autres exemples donnés par l’aide en ligne, on sent que cette fonction devient plus subtile… Par exemple, dans son traitement du 0.

Dans l’exemple FY20, le 0 est conservé, le nombre retenu est donc « 20 ». Mais lorsque le zéro se trouve devant des chiffres, il disparaît. Ainsi, notre célèbre agent secret 007 devient l’agent 7 s’il passe par la moulinette de cette fonction. Ajoutez du texte entre ces zéro et le sept, vous n’obtiendrez pas meilleur résultat !

Si le zéro se trouve après la virgule, après d’autres chiffres, lui aussi disparaît : 0,50 devient ,5, ou 1,750 1,57.

La fonction ObtenirNombre devient plus intéressante – et plus intelligente 😉 – lorsqu’elle traite de date…

En effet, si vous la faites porter sur une rubrique de type date, elle vous renvoie… le nombre de jours écoulés depuis le 1er janvier 0001 (1)… exactement ce dont nous avons besoin pour effectuer des calculs sur les dates. Ainsi, nous apprenons que le 10/10/2019, nous serons le jour n°737342 !

Et maintenant, j’en arrive à la nouveauté apportée par la version 17 : la fonction ObtenirNombre est capable de renvoyer une valeur négative si les chiffres sont précédés du signe – (moins) ou s’ils sont mis entre parenthèses. Ainsi -22 et (22) renvoient l’un comme l’autre -22 (2). En revanche, si un autre caractère précède le signe moins ou la parenthèse ouvrante.

Notons d’ailleurs que cette fonction n’effectue pas d’opérations mathématiques. Ainsi, 2 + 2 ou 2 – 2 donnent comme résultat 22 et non 4 ou 0 😉

Voilà, vous savez tout sur cette fonction… J’espère qu’elle vous sera utile 😉

Marie-Charlotte Potton

 

(1) : Le calcul des dates est délicat à manipuler. Pour s’y retrouver, la fiche Astuce n°87 est absolument incontournable 😉

(2) : Notez qu’il manque une parenthèse ouvrante dans l’exemple 1 ligne 4 de l’aide en ligne de FileMaker Pro Advanced 17.

Tags: , , ,

Merci de laisser un commentaire (déjà 2 commentaires )

Désolé, les commentaires des articles réservés sont eux-mêmes réservés


  1. Jean-Louis
    6 ans ago

    Bonjour
    En fait, il est aussi facile d’ utiliser la fonction Filtre (123456789) avec ou sans le 0 avec ou sans « – »
    Non ?……

    • Oui tout à fait 😉 La fonction ObtenirNombre permet simplement d’évite d’avoir à écrire l’argument (1234567890) et a apparemment quelques options complémentaires. Pour ma part, je n’ai pas encore eu l’occasion de l’utiliser. Peut-être que certains parmi vous l’utilisent ?