Utiliser le nom de la feuille en cours comme critère dans les formules Google Sheets (Solution de contournement)

Pour utiliser le nom de la feuille en cours comme critère dans les formules Google Sheets, vous devez d’abord savoir comment obtenir le nom de la feuille en cours dans une cellule. Vous pouvez trouver un script Google Apps en ligne pour cela. Ici, je vais partager avec vous une solution de contournement qui n’utilise que les fonctions intégrées de Google Sheets.

La solution de contournement fera parfaitement l’affaire, mais vous devez actualiser la (les) feuille(s) pour appliquer les modifications. La bonne nouvelle est que vous pouvez le faire (actualiser) en appuyant simplement sur la touche SUPPRIMER dans une cellule vide.

Introduction

Je ne sais pas combien d’entre vous utilisent les noms de feuille par défaut dans un fichier Google Sheets contenant plusieurs feuilles. Il est assez courant que nous utilisions des noms significatifs pour renommer les feuilles. Dans de tels scénarios, si nous le souhaitons, nous pouvons utiliser les noms de feuille comme critères dans les formules de Google Sheets.

Les noms de feuille par défaut dans Google Sheets seront comme « Feuille1 », « Feuille2 », « Feuille3 », « Feuille4 », et ainsi de suite. Supposons que nous avons renommé ces feuilles en « Maître », « Pomme », « Mangue », « Orange », etc.

J’ai une liste de noms de fruits dans une colonne de la feuille intitulée « Maître ». Ce que je veux, c’est utiliser une formule Filter dans la feuille « Pomme » qui filtre les fruits de la feuille « Maître » en héritant le nom de la feuille « Pomme » comme critère. Lorsque j’utilise la même formule (sans aucune modification) dans les deux autres feuilles, les formules doivent filtrer les fruits en fonction des noms de feuille correspondants. Cela signifie que « Pomme » est filtré dans l’onglet « Pomme », « Mangue » est filtrée dans l’onglet « Mangue », et « Orange » est filtrée dans l’onglet « Orange ». Comment pouvons-nous faire cela sans utiliser de script Google Sheets ?

Utiliser le nom de la feuille en cours comme critère dans les formules Google Sheets

Voici comment utiliser la feuille en cours comme critère dans les formules Google Sheets en utilisant l’exemple mentionné ci-dessus.

Données d’exemple

Les données d’exemple sont l’essence de tout test de formule. Je vais donc vous donner les données d’exemple, puis les « étapes à suivre » pour utiliser le nom de la feuille en cours comme critère dans les formules Google Sheets.

Données d’exemple :

Image

Étapes à suivre (Exigences de la solution de contournement)

Comme je vous l’ai dit au tout début de ce tutoriel, je suis en train de suivre une méthode de contournement pour utiliser le nom de la feuille en cours comme critère dans Google Sheets.

Pour ce contournement, nous devons laisser la première ligne vide dans toutes les feuilles. De plus, nous n’utiliserons pas la feuille « Maître » pour la manipulation des données ! Alors quoi ?

Ce que nous allons faire, c’est copier la feuille « Maître », la renommer, puis l’utiliser. Vous ne comprenez pas ? Lisez simplement la suite.

Voyons comment hériter dynamiquement le nom de la feuille en cours dans la première ligne de la feuille « Maître ». Ainsi, nous pourrons ensuite utiliser les noms des feuilles dynamiquement dans les formules des autres feuilles.

Il y a trois choses à faire.

  1. Dans la cellule A1 de la feuille « Maître », insérez la formule RAND ci-dessous.
=rand()

Nous l’utiliserons pour actualiser la feuille plus tard.

  1. Dans la cellule B1, insérez la formule simple suivante.
=Maître!A1

Dans cette formule, « Maître » est le nom de l’onglet de la feuille. La formule renvoie simplement la valeur de A1, quelle qu’elle soit.

  1. Voici la troisième formule insérée dans la cellule C1.
=REGEXEXTRACT(FORMULATEXT(B1),"[a-zA-Z ]+")

Dans cette formule, FORMULATEXT renvoie la formule en B1 en tant que texte. REGEXEXTRACT est utilisé pour extraire le nom de la feuille à partir de la formule renvoyée par FORMULATEXT. Le résultat sera « Maître » dans la cellule C1, qui est le nom de la feuille en cours.

Nous n’utiliserons aucune formule de manipulation de données dans cette feuille. Alors ?

Nous allons copier la feuille, changer le nom de la feuille copiée en fonction des critères requis pour la manipulation des données. Je reviendrai là-dessus plus tard.

Vous pouvez maintenant sélectionner la ligne n°1 (dans « Maître ») et changer la couleur de la police en blanc pour qu’elle soit masquée à la vue.

Nous sommes maintenant prêts à utiliser le nom de la feuille en cours comme critère dans nos formules Google Sheets.

Nom de la feuille en cours comme critère dans une formule Filter dans Google Sheets

Nous allons utiliser la feuille d’exemple ci-dessus. Commençons par comprendre le scénario de filtrage.

Supposons que je veuille filtrer « Pomme » dans une liste dans la feuille intitulée « Pomme » et que le critère soit hérité du nom de la feuille elle-même. Le critère est « Pomme » et voici comment le faire.

Cliquez avec le bouton droit sur le nom de la feuille « Maître » et cliquez sur « Dupliquer ».

Cela créera une nouvelle feuille intitulée « Copy of Maître ». Double-cliquez sur « Copy of Maître » et tapez « Pomme » pour la renommer.

Dans cette nouvelle feuille, insérez la formule suivante dans la cellule C2. Elle permet de filtrer les valeurs de B2:B10 pour les valeurs de B2:B10 correspondant au critère en C1 (nom de la feuille en cours).

=filter(B2:B10,B2:B10=C1)

La formule FILTER ci-dessus retournera une erreur #N/A! pour le moment. Oublions cela pour l’instant.

Cliquez maintenant avec le bouton droit sur le nom de la feuille « Pomme » et sélectionnez « Dupliquer ». Cela créera une nouvelle feuille « Copy of Pomme ». Changez son nom en « Mangue ».

Maintenant, nous avons un total de trois feuilles : « Maître », « Pomme » et « Mangue ». Nous avons une formule de filtre chacune dans la cellule C2 des deuxième et troisième feuilles.

Dans n’importe quelle cellule vide de n’importe quelle feuille, appuyez simplement sur la touche SUPPRIMER de votre clavier. Vérifiez les résultats dans les feuilles « Pomme » et « Mangue ».

La formule de filtre dans la feuille « Pomme » a utilisé le critère « Pomme » pour filtrer la liste de fruits. De même, la formule de filtre dans la feuille « Mangue » a utilisé le critère « Mangue » pour filtrer la liste de fruits ! Les formules utilisent avec succès le nom de la feuille en cours comme condition. Sympa, non ?

Image

Pouvons-nous utiliser le nom de la feuille en cours comme critère dans la fonction IMPORTRANGE de Google Sheets ?

Pourquoi pas ?

Nous pouvons utiliser la méthode ci-dessus dans les fonctions qui utilisent le critère d’une cellule. Voici un autre exemple utilisant QUERY avec IMPORTRANGE.

Hériter du nom de la feuille en cours et l’utiliser dans la formule Query Importrange

Nous utilisons Query avec Importrange pour importer conditionnellement des données d’un fichier Google Sheets vers un autre fichier Google Sheets.

Nous pouvons utiliser notre méthode ci-dessus pour importer des données spécifiques dynamiquement dans chaque onglet de Google Sheets. Voyons comment.

Voici les deux fichiers : « Facture – Tout en un » et « Facture – Par partie » que je vais utiliser dans mon exemple.

Données d’exemple (dans le fichier source)

Voici les données d’exemple dans « Facture – Tout en un ».

Image

Nous allons importer une partie de ces données dans chaque feuille du fichier « Facture – Par partie ».

Je veux dire que dans « Facture – Par partie », j’ai la feuille suivante qui est nommée « X Company ». Je veux filtrer les données de « Facture – Tout en un » qui correspondent à « X Company ».

Fichier de destination (vide)

Ouvrez le fichier vierge « Facture – Par partie » et renommez la première feuille « X Company ».

Maintenant, voyons comment importer les données, les interroger en fonction du nom de la feuille en cours comme critère.

Dans la cellule A1, utilisez la formule RAND suivante.

=rand()

Ensuite, dans la cellule B1, insérez la formule suivante :

='X Company'!A1

(Le guillemet autour du nom de la feuille est obligatoire si le nom de la feuille contient un espace.)

Maintenant, insérez la formule REGEXEXTRACT pour extraire le nom de la feuille en cours dans la cellule C1.

=REGEXEXTRACT(FORMULATEXT(B1),"[a-zA-Z ]+")

Sélectionnez la ligne n°1 et changez la couleur de la police en blanc comme précédemment.

Nous avons terminé la solution de contournement pour utiliser le nom de la feuille en cours comme critère dans notre formule Query Importrange.

Importer les données dans le fichier de destination

Pour importer les données, dans la cellule A2, insérez la formule suivante.

=importrange("URL_du_Facture-Tout_en_un_ici","Feuil1!A1:D")

Elle retournera certainement une erreur #REF!.

Placez votre souris sur l’erreur et cliquez sur « Autoriser l’accès ».

La formule commencera à importer toutes les données du fichier « Facture – Tout en un » vers la plage A2:D11 du fichier « Facture – Par partie ».

La feuille en cours contenant la formule Importrange est « X Company ». Je veux simplement importer les données spécifiques à cette entreprise.

Nous pouvons utiliser Query avec Importrange et utiliser le nom de la feuille en cours comme condition dans la formule Query. Comment ?

Enveloppez la formule Importrange avec Query comme suit.

=query(importrange("URL_du_Facture-Tout_en_un_ici","Feuil1!A1:D"),"Select * where Col1='"&C1&"'",1)

Dupliquez cet onglet de la feuille et changez le nom de la feuille en « Y Company ». Faites une autre copie et renommez-la « Z Company ».

Appuyez sur le bouton de suppression dans n’importe quelle cellule vide. La formule Query Importrange héritera des critères à partir des noms des feuilles elles-mêmes.

C’est tout. Amusez-vous bien !

Maintenant vous savez comment utiliser le nom de la feuille en cours comme critère dans les formules Google Sheets. Utilisez cette astuce pour rendre vos formules encore plus puissantes et flexibles !

Pour plus de conseils et d’astuces sur Google Sheets, rendez-vous sur Crawlan.com.

Articles en lien