Un fichier fournisseurs contient des IBAN dont vous voulez contrôler le format et retrouver la banque. Avec le script IBANforge pour Google Sheets, une formule remplit cinq colonnes à côté des données d'origine. Elle sert à préparer une revue des coordonnées ; elle ne valide ni le titulaire du compte ni un paiement.
Commencez dans un classeur de test dont vous êtes propriétaire, avec les exemples ci-dessous. L'installation manuelle passe par Apps Script : aucun développement n'est nécessaire pour utiliser les formules, mais le script reste une copie à entretenir. Il n'est pas publié sur le Google Workspace Marketplace.
Installer et faire un premier essai
- Téléchargez les trois fichiers Apps Script. Ouvrez Extensions → Apps Script dans votre classeur de test.
- Remplacez
Code.gs, ajoutez un fichier HTML nomméSidebaret collez-ySidebar.html. Dans les paramètres du projet, affichezappsscript.jsonet remplacez son contenu par le manifeste fourni. Enregistrez. - Exécutez
ibfShowSidebardepuis l'éditeur. Examinez les autorisations demandées, puis autorisez le script si elles conviennent à votre usage. Dans la barre latérale du classeur, saisissez votre clé IBANforge et choisissez Test and save. La clé ne va pas dans une cellule. Le guide des clés explique comment en obtenir une et consulter sa limite effective. - Copiez les six lignes suivantes dans A2:A7, en conservant la ligne vide. Ce sont des exemples de documentation, jamais des coordonnées pour un virement.
DE65100700000123456789
DE65 1007 0000 0123 4567 89
DE65100700000123456798
CH3130000000000000001
TEST- Laissez B2:F7 vide et placez
=IBAN_CHECK(A2:A7)en B2. La formule occupe cinq colonnes, B à F, et conserve les six lignes, y compris la ligne vide. Les deux premières entrées désignent la même chaîne après retrait des espaces.
Si le collage ignore la ligne vide, remettez-la avant le test. Gardez ensuite la colonne d'origine et ajoutez vos propres notes de revue à partir de G. Une formule couvrant une plage évite de créer un appel Apps Script pour chaque ligne.
Comprendre les cinq colonnes
| Colonne | Contenu | Portée |
|---|---|---|
| B | TRUE ou FALSE | Résultat valid de l'API : format et contrôles de l'IBAN, pas existence du compte |
| C | Banque, ou vide | Nom associé au BIC si disponible, sinon nom de l'établissement trouvé par le contrôle du code banque |
| D | BIC, ou vide | BIC résolu par l'API ; une cellule vide ne prouve pas l'absence de banque |
| E | Statut du code banque ou erreur de validation | Résumé à interpréter avec la couverture de la source |
| F | Schémas SEPA, yes, no ou vide | Résumé de sepa ; ce n'est pas une garantie d'exécution d'un virement |
verified signifie qu'une référence a été trouvée. verified, retired signale aussi un code marqué retiré : examiner les coordonnées et la source, sans remplacer soi-même le code banque. not_in_register (not_allocated) rapporte une absence dans le registre exhaustif utilisé, à sa date ; cela ne permet pas d'en déduire une fraude. Un résultat inconnu reste inconnu. checksum_failed indique un échec du contrôle, pas sa cause.
Le résumé Sheets ne conserve pas les dates de source, authoritative, le détail du registre ou un éventuel successeur. Un nom de banque ne signifie donc pas toujours « confirmé par le registre national ». Pour documenter une décision de revue, conserver la réponse complète via le guide de validation, ou utiliser le parcours de fichiers fournisseurs. Les valeurs du registre peuvent changer ; aucune banque ou date n'est figée dans cet essai.
Pour une seule colonne, utiliser =IBAN_VALID(A2:A7), =IBAN_BANK(A2:A7) ou =IBAN_BIC(A2:A7). Les alias IBAN_VALIDE, IBAN_BANQUE, IBAN_CONTROLE, IBAN_GUELTIG, IBAN_BANKNAME et IBAN_PRUEFUNG appellent les mêmes fonctions. IBAN_CHECK attend une seule colonne d'entrée.
Appels, cache et consommation
La route par lot exige une clé. Le script retire les espaces, passe les chaînes en majuscules, ignore les cellules vides et regroupe les doublons dans une même exécution. Il envoie les valeurs qui manquent au cache par lots de 100 au plus. Chaque IBAN transmis consomme une unité, même invalide ; ce n'est pas une unité par requête HTTP. Les tarifs et le rapport d'usage de la clé décrivent l'offre et le solde applicables.
Le script demande un cache de six heures. Google peut l'effacer plus tôt : un recalcul peut consommer de nouvelles unités. Plusieurs formules lancées ensemble ne garantissent pas un seul appel. Si un lot ultérieur échoue, les lots précédents peuvent déjà avoir consommé des unités ; cette exécution n'enregistre son cache qu'à la fin. Il n'y a ni achat ni nouvelle tentative automatique.
Données envoyées et partage
Les fonctions transmettent les chaînes reçues en argument, la clé dans l'en-tête d'authentification et l'indication source=sheets à api.ibanforge.com. La barre latérale interroge aussi l'usage de la clé. Ne passez à la formule que la colonne d'IBAN, pas des noms ou des commentaires. Apps Script exécute les appels sur l'infrastructure de Google, pas seulement dans votre navigateur.
La clé est enregistrée dans les propriétés utilisateur du projet Apps Script. Dans une fonction personnalisée, Google documente l'accès aux propriétés du propriétaire du classeur ; les éditeurs peuvent aussi modifier le script lié. Ce mécanisme ne garantit pas une clé ou un quota séparé par collaborateur. Faites le pilote dans votre propre copie et vérifiez les accès avant de partager un classeur actif. Voir les règles Google sur les fonctions et leur partage.
Si la feuille affiche une erreur
| Signal | Action |
|---|---|
| Résultat qui ne peut pas se déployer | Libérer B2:F7, sans effacer les données d'origine |
Clé absente ou 401 | Ouvrir la barre latérale et vérifier la clé enregistrée |
402 | Consulter le quota et le solde ; le script ne commande aucun crédit |
429 | Attendre avant un nouvel essai manuel, réduire les appels simultanés |
| Délai dépassé | Réduire la plage : Google limite une fonction personnalisée à 30 secondes |
Une erreur d'appel n'est pas un IBAN invalide. Avant de relancer, tenir compte des appels déjà passés. Pour un traitement récurrent plus important, les recettes d'intégration permettent de choisir un parcours qui conserve les réponses complètes. Le code du script reste consultable.