Ajouter des fonctions personnalisées dans Google Sheets avec Apps Script

Google Sheets est un outil puissant avec de nombreuses fonctions intégrées. Toutefois, saviez-vous qu’il est possible de créer vos propres fonctions personnalisées ? Grâce à Google Apps Script, vous pouvez ajouter des fonctions qui répondent précisément à vos besoins. Dans cet article, nous vous guiderons pas à pas pour créer vos premières fonctions personnalisées, même si vous êtes novice en programmation. Donc, suivez bien les étapes pour explorer ce potentiel !

Qu’est-ce qu’une fonction personnalisée ?

Dans Google Sheets, une fonction personnalisée est une formule que vous créez vous-même pour accomplir des tâches que les fonctions de base ne couvrent pas. Par exemple, si vous souhaitez :

  • Convertir des devises facilement,
  • Calculer la durée entre deux dates d’une manière spécifique,
  • Afficher des informations météo directement dans vos feuilles,

alors une fonction personnalisée est exactement ce qu’il vous faut ! Avec Google Apps Script, vous pouvez créer ces fonctions et les utiliser comme les formules standard de Google Sheets. C’est donc une façon d’adapter parfaitement votre feuille à vos besoins.

Étape 1 : Accéder à l’éditeur Apps Script

Pour commencer à créer une fonction personnalisée, vous devez ouvrir l’éditeur Apps Script. Voici comment procéder :

  1. Ouvrez Google Sheets et accédez au document dans lequel vous souhaitez créer une fonction.
  2. Cliquez sur “Extensions” dans la barre de menu, puis sélectionnez Apps Script. L’éditeur Apps Script s’ouvre dans un nouvel onglet.

Vous êtes donc maintenant prêt à écrire votre première fonction.

Étape 2 : Écrire une fonction simple

Nous allons commencer par une fonction très simple qui additionne deux nombres. Car il est toujours plus facile de démarrer avec des concepts de base. Suivez bien ces étapes :

  1. Dans l’éditeur Apps Script, remplacez tout le texte existant par le code suivant :
  2. Cliquez sur “Enregistrer” ou utilisez le raccourci Ctrl + S (ou Cmd + S sur Mac) pour sauvegarder votre code.
function ADDITION(a; b) {
  return a + b;
}

Dans cet exemple :

• function ADDITION(a; b) définit une nouvelle fonction appelée ADDITION.

• (a; b) représente les paramètres de la fonction : donc, les valeurs que vous ajouterez.

• return a + b; indique à la fonction de renvoyer la somme de a et b.

Étape 3 : Utiliser votre fonction dans Google Sheets

  1. Retournez dans votre feuille de calcul.
  2. Dans une cellule, tapez =ADDITION(5; 10), puis appuyez sur Entrée.
  3. La cellule doit afficher 15, car la fonction ADDITION a additionné 5 et 10.

Vous avez donc créé et utilisé une fonction personnalisée dans Google Sheets, félicitations !

Étape 4 : Créer une fonction plus complexe

Essayons maintenant quelque chose d’un peu plus avancé. Nous allons créer une fonction CONVERTIR_MONNAIE qui multiplie un montant par un taux de conversion. Ce type de fonction est utile si vous travaillez régulièrement avec plusieurs devises.

1. Ouvrez l’éditeur Apps Script.

2. Ajoutez le code suivant sous la fonction ADDITION :

function CONVERTIR_MONNAIE(montant; taux) {
  return montant * taux;
}

3. Enregistrez votre code.

Pour utiliser cette fonction :

• Tapez =CONVERTIR_MONNAIE(100; 1,1) dans une cellule pour convertir 100 unités d’une devise en appliquant un taux de 1.1.

• Le résultat devrait donc être 110, car 100 * 1,1 = 110.

Étape 5 : Ajouter des commentaires pour clarifier votre code

Il est essentiel de commenter votre code pour le rendre plus compréhensible, surtout si vous le reprenez plus tard. Cela vous permet de savoir ce que chaque partie fait. Voici comment faire :

// Fonction qui additionne deux nombres
function ADDITION(a; b) {
  return a + b; // Renvoie la somme de a et b
}
// Fonction qui convertit un montant en fonction d'un taux de change
function CONVERTIR_MONNAIE(montant; taux) {
  return montant * taux; // Renvoie le montant converti
}

Car les commentaires sont tout texte précédé de //. Ils n’affectent pas le fonctionnement de votre code, mais ils servent uniquement de guide pour le comprendre plus facilement.

Étape 6 : Gérer les erreurs

Quand vous créez des fonctions, il est utile de prévoir des vérifications pour éviter les erreurs. Par exemple, ajoutons une vérification à notre fonction CONVERTIR_MONNAIE pour nous assurer que les valeurs saisies sont bien des nombres :

function CONVERTIR_MONNAIE(montant; taux) {
  if (isNaN(montant) || isNaN(taux)) {
    return "Veuillez entrer des nombres valides pour le montant et le taux.";
  }
  return montant * taux;
}

Ici :

• isNaN vérifie si une valeur n’est pas un nombre.

• Si montant ou taux n’est pas un nombre, la fonction renvoie un message d’erreur utile au lieu de donner un résultat incorrect.

Ainsi, vous pouvez prévenir les erreurs et fournir un message explicatif aux utilisateurs.

Étape 7 : Exemples de fonctions utiles à essayer

Maintenant que vous savez comment créer des fonctions, voici quelques idées de fonctions que vous pouvez ajouter à votre feuille Google Sheets. Elles sont simples mais efficaces :

Calculer la TVA : Une fonction pour calculer le montant de TVA sur un prix donné.

function CALCUL_TVA(montant; tauxTVA) {
  return montant * (tauxTVA / 100);
}

Compter le nombre de mots dans une cellule, pratique pour analyser du texte.

function COMPTER_MOTS(texte) {
  return texte.trim().split(/\s+/).length;
}
  • Générer des mots de passe : Une fonction qui crée un mot de passe aléatoire d’une certaine longueur.
function GENERER_PASSWORD(longueur) {
  const caracteres = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
  let password = "";
  for (let i = 0; i < longueur; i++) {
    password += caracteres.charAt(Math.floor(Math.random() * caracteres.length));
  }
  return password;
}
  • Renvoie la date d’un mois entier à partir d’une date de départ (ex: ajouter 3 mois pour connaître la date dans trois mois).
function MOIS_ENTIER(dateDepart, mois) {
  const nouvelleDate = new Date(dateDepart);
  nouvelleDate.setMonth(nouvelleDate.getMonth() + mois);
  return nouvelleDate;
}
  • Calcule le temps restant jusqu’à une date et heure donnée en heures, minutes et secondes.
function TEMPS_ATTENTE(dateCible) {
  const maintenant = new Date();
  const difference = new Date(dateCible) - maintenant;
  
  if (difference <= 0) {
    return "Temps écoulé";
  }

  const heures = Math.floor(difference / (1000 * 60 * 60));
  const minutes = Math.floor((difference % (1000 * 60 * 60)) / (1000 * 60));
  const secondes = Math.floor((difference % (1000 * 60)) / 1000);
  
  return `${heures}h ${minutes}m ${secondes}s`;
}
  • Convertit un nombre d’heures au format décimal (par ex., 2,5) en heures et minutes (02:30).
function CONVERTIR_HEURE(decimales) {
  const heures = Math.floor(decimales);
  const minutes = Math.round((decimales - heures) * 60);
  return `${heures.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}`;
}

Ces fonctions peuvent vous être utiles au quotidien, car elles permettent de gagner du temps et d’automatiser des tâches répétitives.

Étape 8 : Sauvegarder et tester vos fonctions

Une fois vos fonctions écrites, n’oubliez pas de toujours enregistrer votre travail. Revenez ensuite dans Google Sheets et testez vos fonctions en les appelant avec = comme pour toute fonction standard.

Quelques conseils pour progresser

  1. Commencez petit : Créez des fonctions simples au début et progressez vers des fonctions plus complexes. Car il est toujours plus facile d’apprendre en prenant son temps.
  2. Utilisez des exemples : Recherchez des exemples de code Apps Script en ligne pour vous inspirer et apprendre de nouvelles techniques.
  3. Documentez vos fonctions : N’oubliez pas de commenter votre code pour bien comprendre ce qu’il fait, surtout en cas de modification future.
  4. Explorez les erreurs : Si vous voyez des messages d’erreur en utilisant vos fonctions, examinez-les attentivement pour apprendre ce qui n’a pas fonctionné.

Créer des fonctions personnalisées dans Google Sheets avec Apps Script vous permet d’adapter Google Sheets exactement à vos besoins. Que vous soyez novice en programmation ou non, avec un peu de pratique, vous pouvez ajouter des fonctionnalités personnalisées pour simplifier vos tâches quotidiennes et travailler plus efficacement. Essayez dès maintenant, car cette flexibilité vous offre des possibilités infinies pour organiser et analyser vos données.