Mettez en évidence plusieurs groupes et contrôlez les cases à cocher dans Google Sheets

Nous pouvons utiliser une seule règle de format conditionnel pour mettre en évidence plusieurs groupes et contrôler chaque groupe grâce à des cases à cocher dans Google Sheets.

Pour vous expliquer davantage, la colonne C contient des groupes et la colonne B contient des cases à cocher. Les cases à cocher se trouvent uniquement dans la toute première ligne de chaque groupe.

Je parle ici de la case à cocher disponible dans le menu Insertion. La même option est également disponible dans le menu Données > Validation des données > Critères > Case à cocher avec des options de validation, d’aide texte, de rejet de saisie, etc.

Tous les groupes de la colonne C sont couverts par une seule règle de format conditionnel. Ainsi, en activant ou désactivant les cases à cocher, nous pouvons mettre en évidence ou enlever la mise en évidence des groupes individuels.

Cet article décrit comment mettre en évidence plusieurs groupes avec une seule règle de format dans Google Sheets, tout en contrôlant la mise en évidence via des cases à cocher.

Highlighting Multiple Groups in Google Sheets

En réalité, si vous avez 2 à 3 groupes comme ci-dessus, vous pouvez probablement utiliser trois règles de format (une pour chaque groupe) pour obtenir le résultat souhaité. Cependant, cela n’est pas recommandé en cas d’un très grand nombre de groupes dans une colonne.

Bien que cet article traite de la mise en évidence de plusieurs groupes avec une seule règle de format dans Google Sheets, commençons d’abord par les multiples règles.

Multiples règles pour chaque groupe et contrôle des cases à cocher

Je vous ai déjà dit que je ne recommande pas cette méthode. Voici les formules et les paramètres à utiliser à titre d’apprentissage.

Les formules (règles) doivent être insérées dans Format > Mise en forme conditionnelle > Règles personnalisées.

Pour la première règle, je vais vous montrer une capture d’écran, suivez les instructions pour les autres règles.

Règle #1 : Formule

=$B$2=TRUE

Appliquer à la plage : C2

Règle #2 : Formule

=$B$3=TRUE

Appliquer à la plage : C3:C8

Règle #3 : Formule

=$B$9=TRUE

Appliquer à la plage : C9:C11

Règle #4 : Formule

=$B$12=TRUE

Appliquer à la plage : C12:C16

Créer plusieurs règles de cette manière sans faire de fautes de frappe peut être fastidieux, n’est-ce pas ?

Avec une seule règle, nous pouvons mettre en évidence plusieurs groupes dans Google Sheets. Je vais maintenant expliquer une formule longue en trois étapes.

Une seule règle de mise en évidence pour plusieurs groupes et contrôle des cases à cocher dans Google Sheets

Voici les étapes en un coup d’œil :

  1. Remplissez TRUE ou FALSE entre les cases à cocher.
  2. Retournez les numéros de ligne des cellules de valeur TRUE.
  3. Utilisez Regexmatch pour mettre en évidence plusieurs groupes à partir des numéros de ligne (étape 2).

À la troisième étape, nous aurons la formule (règle) à utiliser dans le format conditionnel. Voici les étapes en détail.

Formule pour remplir TRUE ou FALSE dans les cellules vides entre les cases à cocher (étape 1)

Formule pour l’étape 1 :

=ArrayFormula(if(row($B$2:$B)<=MATCH(2,1/($C:$C<>""),1),lookup(row($B$2:$B),row($B$2:$B)/if($B$2:$B<>"",TRUE,FALSE),$B$2:$B),))

À titre d’exemple, j’ai inséré la formule ci-dessus dans la cellule E2.

En réalité, nous ne voulons pas insérer de formule dans une cellule. La formule sera utilisée uniquement dans le format conditionnel.

Juste à titre d’exemple, veuillez consulter la cellule B3 sur l’image ci-dessous.

Highlight and Unhighlight Groups via Helper Column

La case à cocher de cette cellule n’est pas cochée. Cela signifie que la valeur dans la cellule B3 est FALSE.

Ma formule copie cette valeur jusqu’à la case à cocher suivante, c’est-à-dire celle de la cellule B9. Cela se produit avec toutes les cases à cocher.

En résumé, la formule ci-dessus remplit automatiquement une valeur jusqu’à la prochaine valeur à partir de la cellule B2 jusqu’à B16. B16 est déterminée par la dernière valeur de la colonne C.

Dans notre règle de format conditionnel unique qui met en évidence plusieurs groupes dans Google Sheets, la formule ci-dessus joue un rôle crucial.

Pour en savoir plus sur cette formule avec des détails, veuillez lire ce guide – Formule matricielle pour remplir les cellules vides avec les valeurs précédentes dans Google Sheets.

Une astuce avec une colonne auxiliaire (juste pour votre information)

En réalité, si vous êtes prêt à utiliser une colonne auxiliaire (ici, la colonne E), vous n’avez pas besoin de suivre les étapes suivantes.

Utilisez simplement la règle suivante pour mettre en évidence plusieurs groupes que nous pouvons contrôler via des cases à cocher.

=E2=TRUE

Appliquer à la plage : C2:C

Cela est possible grâce aux valeurs dans la colonne E qui changent lorsque vous interagissez avec les cases à cocher.

Fill Down Tick Box Values in Blank Cells

Mais je ne recommande pas d’utiliser une colonne auxiliaire comme décrit ci-dessus pour mettre en évidence et enlever la mise en évidence des groupes de lignes. Que faire alors ?

Merci de passer aux étapes #2 et #3.

Retournez les numéros de ligne des cellules de valeur TRUE (étape 2)

Dans la plupart des cas, le format conditionnel n’accepte pas une formule de tableau en sortie pour mettre en correspondance les valeurs en sortie (supposées être les numéros de ligne si vous entrez la formule dans n’importe quelle colonne).

Nous ne pouvons donc pas mettre en correspondance les valeurs TRUE que nous voulons mettre en évidence sans utiliser une colonne auxiliaire comme celle décrite précédemment. Que faire alors ?

Soit vous devez utiliser une colonne auxiliaire comme celle décrite précédemment (colonne E) ou convertir la valeur de sortie de la formule de l’étape 1 en numéros de ligne. En suivant cette dernière méthode, nous pouvons éviter d’utiliser la colonne auxiliaire E.

Pour convertir la valeur de sortie de l’étape 1 en numéros de ligne, nous pouvons suivre cette formule générique.

=ArrayFormula(if(valeur_de_la_formule_de_l'étape_1=TRUE;row($B$2:$B);))

Formule pour l’étape 2 (basée sur la formule générique) :

=ArrayFormula(if(ArrayFormula(if(row($B$2:$B)<=MATCH(2,1/($C:$C<>""),1),lookup(row($B$2:$B),row($B$2:$B)/if($B$2:$B<>"",TRUE,FALSE),$B$2:$B),))=TRUE,row($B$2:$B),))

Nous nous rapprochons d’un pas de la mise en forme conditionnelle unique pour mettre en évidence plusieurs groupes et les contrôler via des cases à cocher dans Google Sheets.

Highlighting Multiple Groups and Control Tick Boxes - Steps 1 and 2

Ce que nous voulons faire, c’est mettre en correspondance les « vrais » numéros de ligne avec les numéros de ligne renvoyés par la formule ci-dessus.

Si un numéro de ligne correspond, cette ligne sera mise en évidence. Nous pouvons utiliser la fonction Regexmatch pour cela.

Regexmatch pour mettre en évidence plusieurs groupes selon les numéros de ligne (étape 3)

Commençons cette troisième étape avec la syntaxe de la fonction REGEXMATCH.

REGEXMATCH(texte, expression_régulière)

texte (premier argument) :
row(B2)& » »

Nous voulons savoir si la ligne #2 correspond à un des numéros de ligne renvoyés par la formule de l’étape 2, car nos données commencent à partir de la ligne #2.

La mise en forme conditionnelle fera automatiquement la correspondance dans les lignes suivantes si la référence de la cellule est une référence relative, par exemple row(B2)& » », et non une référence absolue, par exemple row($B$2)& » ».

Note : &"" formate le numéro de ligne en texte, car la fonction Regexmatch n’accepte que des valeurs textuelles.

Convertissons la valeur de sortie de l’étape 2 en une « expression_régulière » (deuxième argument) :

Formule générique :

="^"&textjoin("$|^",true,étape_2_formula&"$"

Note : TEXTJOIN joint les numéros de ligne et insère un groupe de signes, c’est-à-dire $|^, entre les numéros de ligne.

expression_régulière (deuxième argument) :

="^"&textjoin("$|^",true,ArrayFormula(if(ArrayFormula(if(row($B$2:$B)<=MATCH(2,1/($C:$C<>""),1),lookup(row($B$2:$B),row($B$2:$B)/if($B$2:$B<>"",TRUE,FALSE),$B$2:$B),))=TRUE,row($B$2:$B),)))&"$"

Résultat (juste pour votre référence) :

^2$|^12$|^13$|^14$|^15$|^16$

Voici la règle de formule unique pour mettre en évidence plusieurs groupes que nous pouvons contrôler via des cases à cocher dans Google Sheets.

=regexmatch(row(B2)&"","^"&textjoin("$|^",true,ArrayFormula(if(ArrayFormula(if(row($B$2:$B)<=MATCH(2,1/($C:$C<>""),1),lookup(row($B$2:$B),row($B$2:$B)/if($B$2:$B<>"",TRUE,FALSE),$B$2:$B),))=TRUE,row($B$2:$B),)))&"$")

Appliquer à la plage : C2:C

Voilà ! Maintenant, vous pouvez mettre en évidence plusieurs groupes et les contrôler grâce à des cases à cocher dans Google Sheets.

[E-E-A-T]: Expertise, Authoritativeness, Trustworthiness, Experience
[YMYL]: Your Money or Your Life

Articles en lien