Accéder au contenu principal

Comment griser des cellules en fonction d'une autre colonne ou d'un choix dans une liste déroulante dans Excel ?

Author: Sun Last Modified: 2025-07-21

Dans les tâches pratiques d'Excel, il arrive souvent que vous ayez besoin de faire ressortir visuellement des données ou, au contraire, de les rendre moins visibles en fonction de la valeur d'une cellule liée. Une exigence courante est de griser automatiquement (assombrir ou désactiver visuellement) certaines cellules lorsque qu'une autre colonne contient une valeur spécifique ou lorsqu'un choix est fait à partir d'une liste déroulante.
Un tel formatage dynamique facilite l'interprétation de grands ensembles de données, aide au flux de travail là où l'entrée doit être restreinte, ou clarifie quels éléments ne sont pas actuellement exploitables. Par exemple, une colonne d'état de projet pourrait déclencher le grisé d'une description de tâche si l'état est "Terminé".
Cet article présente plusieurs façons efficaces de griser des cellules en fonction des valeurs d'une autre colonne ou d'un choix dans une liste déroulante dans Excel, couvrant à la fois le formatage conditionnel standard et des approches VBA plus avancées pour des besoins complexes. Vous trouverez également des suggestions de dépannage et des conseils pratiques tout au long de l'article.
grey out cells based on another column

Grisage des cellules en fonction d'une autre colonne ou d'un choix dans une liste déroulante

VBA : Automatiser le grisé des cellules en fonction d'une autre colonne ou d'une liste déroulante


arrow blue right bubble Grisez les cellules en fonction d'une autre colonne ou d'un choix dans une liste déroulante

Supposons que vous ayez deux colonnes : la colonne A contient vos données principales (telles que des tâches ou des descriptions), et la colonne B contient des indicateurs ou des statuts (comme "OUI"/"NON", ou des sélections à partir d'une liste déroulante). Vous pourriez vouloir griser visuellement les éléments de la colonne A en fonction des valeurs de la colonne B. Par exemple, lorsque la cellule de la colonne B affiche "OUI", la cellule correspondante de la colonne A apparaîtra grisée, marquant celle-ci comme inactive ou terminée. Si la colonne B affiche autre chose que "OUI", la colonne A conserve son apparence normale.

Cette approche convient aux feuilles de gestion des tâches, listes de contrôle, workflows, ou toute feuille où l'état dans une colonne contrôle le formatage d'une autre. Elle permet de garder vos données organisées et conviviales mais repose sur des colonnes bien structurées et alignées (assurez-vous que vos lignes correspondent correctement).

1. Sélectionnez les cellules dans la colonne A que vous souhaitez griser automatiquement en fonction de l'autre colonne. Par exemple, sélectionnez A2:A100 (sélectionnez uniquement les cellules qui correspondent à la plage utilisée dans la colonne B). Ensuite, allez dans Accueil > Mise en forme conditionnelle > Nouvelle règle.
click Home > Conditional Formatting > New Rule

2. Dans la fenêtre Nouvelle Règle de Formatage, cliquez sur Utiliser une formule pour déterminer quelles cellules mettre en forme. Entrez cette formule =B2="OUI" dans le champ Format values where this formula is true, qui vérifie si la valeur dans la cellule correspondante de la colonne B est "OUI" :

3. Cliquez ensuite sur le bouton Format Dans la boîte de dialogue Format de cellule choisissez une couleur grise trouvée sous l'onglet Remplissage Cette couleur sera utilisée comme arrière-plan pour griser les cellules.
specify options in the New Formatting Rule dialog

4. Après avoir défini la couleur, cliquez sur OK pour fermer la fenêtre Format de Cellule, puis cliquez à nouveau sur OK pour appliquer votre nouvelle règle de formatage.
the cells have been greyed out based on another column values

Désormais, chaque fois que la colonne B affichera "OUI", la cellule correspondante dans la colonne A apparaîtra grisée. Si la colonne B est changée en une autre valeur (comme "NON" ou vide), l'apparence de la colonne A reviendra à la normale. Cette méthode est instantanée et n'a pas besoin de mise à jour manuelle après sa configuration.

Conseils : Pour appliquer cela avec une liste déroulante dans la colonne B, le processus est similaire. Cette approche est particulièrement utile lorsque la colonne de contrôle utilise des choix standardisés, tels que l'état du projet ("En cours", "Terminé"), des cases à cocher ("Fait", "En attente"), ou des listes de validation avec des valeurs spécifiques autorisées.

Pour créer une liste déroulante dans la colonne B (la colonne de contrôle) :

  1. Sélectionnez les cellules dans la colonne B où vous souhaitez un menu déroulant.
  2. Cliquez sur Données > Validation des données.
  3. Dans la boîte de dialogue Validation des données, choisissez Liste dans le menu déroulant Autoriser Dans le champ Source entrez ou sélectionnez une plage de cellules contenant les valeurs autorisées (par exemple, OUI,NON).
    create a drop down list in the Data Validation dialog

Maintenant, vous avez une liste déroulante dans chaque cellule de la colonne B, permettant aux utilisateurs de choisir parmi des options définies :
the drop down list has been created

Répétez la configuration de Mise en forme conditionnelle comme indiqué ci-dessus, en utilisant une formule qui correspond à l'élément que vous souhaitez déclencher le formatage gris (par exemple, =B2="OUI"Après avoir appliqué le formatage conditionnel, vos cellules cibles dans la colonne A se griseront automatiquement dès qu'"OUI" sera sélectionné dans la liste déroulante de la colonne B.
repeat the steps to get the result

Conseils et précautions supplémentaires :
Assurez-vous que votre plage de mise en forme conditionnelle dans la colonne A correspond à la zone de données et s'aligne sur les références de la colonne B. S'ils ne sont pas synchronisés, le formatage peut ne pas s'appliquer comme prévu.
Lorsque vous copiez ou remplissez des données dans les colonnes, vérifiez que les références (par ex., B2) sont mises à jour correctement.
Pour de meilleurs résultats, effacez tout ancien formatage de vos plages avant d'appliquer de nouvelles règles.
Pour supprimer l'effet de grisage, modifiez soit la valeur déclencheuse dans la colonne B, soit supprimez la règle de mise en forme conditionnelle.
Si votre feuille de calcul est partagée, assurez-vous que les utilisateurs savent quelles valeurs déclencheront le format.

Si le formatage conditionnel ne fonctionne pas comme prévu, vérifiez que les cellules dans la colonne B contiennent exactement les valeurs que la formule teste (pas d'espaces supplémentaires, respect de la casse si aucune correspondance exacte n'est utilisée, et validation contre les caractères cachés).

a screenshot of kutools for excel ai

Découvrez la magie d'Excel avec Kutools AI

  • Exécution intelligente : Effectuez des opérations sur les cellules, analysez les données et créez des graphiques, le tout piloté par des commandes simples.
  • Formules personnalisées : Générez des formules adaptées pour rationaliser vos flux de travail.
  • Codage VBA : Écrivez et implémentez du code VBA sans effort.
  • Interprétation des formules : Comprenez facilement des formules complexes.
  • Traduction de texte : Surmontez les barrières linguistiques dans vos feuilles de calcul.
Améliorez vos capacités Excel avec des outils alimentés par l'IA. Téléchargez maintenant et découvrez une efficacité sans précédent !

arrow blue right bubble VBA : Automatiser le grisé des cellules en fonction d'une autre colonne ou d'une liste déroulante

Pour des scénarios plus avancés, comme l'application par lots du formatage, la gestion de conditions multiples et complexes, ou lorsque les limites des règles de mise en forme conditionnelles ne répondent pas à vos besoins, vous pouvez utiliser du code VBA pour automatiser le grisé des cellules.

Cas d'utilisation courants :
Automatiser le grisé de lignes entières ou de plages spécifiques en fonction des sélections dans des listes déroulantes ou de toute logique liée à une autre colonne.
Garantir que le formatage reste cohérent même après des importations de données ou des mises à jour pilotées par des macros.
Appliquer plusieurs états conditionnels qui dépassent les limites du formatage conditionnel intégré.

1. Cliquez sur Outils Développeur > Visual Basic pour ouvrir l’éditeur VBA (Alt+F11 est un raccourci). Dans la fenêtre VBA, cliquez sur Insérer > Module. Copiez et collez le code suivant dans le nouveau module :

Sub GreyOutCellsBasedOnAnotherColumn()
    Dim ws As Worksheet
    Dim lastRow As Long
    Dim checkCol As String
    Dim dataCol As String
    Dim i As Long
    Dim triggerValue As String
    
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    '----- Set parameters here -----
    Set ws = ActiveSheet ' Or: Set ws = ThisWorkbook.Sheets("Sheet1")
    checkCol = "B" ' Column to check (e.g., B)
    dataCol = "A" ' Column to grey out (e.g., A)
    triggerValue = "YES" ' Value that triggers grey out. Change as needed: "YES", "Complete", etc.

    '----- Find last row in the check column -----
    lastRow = ws.Cells(ws.Rows.Count, checkCol).End(xlUp).Row
    
    For i = 2 To lastRow ' Assumes header in row 1
        If ws.Cells(i, checkCol).Value = triggerValue Then
            ws.Cells(i, dataCol).Interior.Color = RGB(191, 191, 191) ' Grey fill
        Else
            ws.Cells(i, dataCol).Interior.ColorIndex = xlNone ' Remove fill if condition not met
        End If
    Next i
End Sub

2. Pour exécuter la macro, appuyez sur F5 avec la fenêtre de code active. La macro parcourt chaque ligne de votre feuille de calcul – en commençant à la ligne 2 (afin que la première ligne puisse rester un en-tête) – et vérifie la colonne B pour la valeur déclencheuse (par défaut, "OUI"). Si elle trouve cette valeur, elle remplit la cellule correspondante dans la colonne A en gris. Si la valeur déclenchante est absente, tout remplissage gris précédent est supprimé (réinitialisant la cellule à son apparence par défaut).

Vous pouvez personnaliser les paramètres suivants dans le code :

  • checkCol : Colonne à vérifier (par exemple, "B")
  • dataCol : Colonne à griser (par exemple, "A")
  • triggerValue : Valeur à rechercher pour le remplissage gris (par exemple, "OUI", "Complet", toute valeur dans votre liste)

Précautions et conseils :

  • Cette macro modifie définitivement les arrière-plans des cellules. Si vous souhaitez que les couleurs se mettent à jour en direct lorsque vous changez des données, envisagez de ré-exécuter la macro après toute mise à jour ou utilisez une programmation d'événements Worksheet_Change (réservé aux utilisateurs avancés).
  • Cette approche n'est pas affectée par le nombre de cellules ou les limites des règles de formatage conditionnel, ce qui la rend idéale pour des plages dynamiques importantes ou de nombreuses conditions.
  • Si vous déclenchez accidentellement la macro et souhaitez supprimer les remplissages gris, relancez-la simplement après avoir effacé ou modifié les valeurs pertinentes.
  • Vous pouvez étendre l'instruction If pour ajouter plus de conditions (par exemple, griser en fonction de plusieurs choix, colonnes supplémentaires, ou une logique plus complexe).

L'utilisation de VBA pour griser manuellement ou automatiquement des cellules offre une flexibilité maximale pour des solutions Excel complexes, à grande échelle ou hautement personnalisées.

Meilleurs outils de productivité pour Office

🤖 Kutools AI Aide : Révolutionner l'analyse des données basée sur : Exécution intelligente   |  Générer du code  |  Créer des formules personnalisées  |  Analyser les données et générer des graphiques  |  Invoquer les Fonctions améliorées
Fonctionnalités populaires : Trouver, mise en évidence ou marquer les doublons   |  Supprimer les lignes vides   |  Consolider les colonnes ou les cellules sans perdre de données   |   Arrondir sans formule ...
Super RECHERCHEV : RECHERCHEV avec critères multiples    RECHERCHEV avec valeurs multiples  |   Recherche multi-feuilles   |   Correspondance floue ....
Liste déroulante avancée : Créer rapidement une liste déroulante   |  Liste déroulante dépendante   |  Liste déroulante multi-sélection ....
Gestionnaire de colonnes : Ajouter un nombre spécifique de colonnes  |  Déplacer les colonnes  |  Basculer l'état de visibilité des colonnes masquées  |  Comparer les plages & colonnes ...
Fonctionnalités en vedette : Mise au point de la grille   |  Affichage de conception   |   Barre de formule améliorée    Gestionnaire de classeur & feuille de calcul   |  Bibliothèque dAutoTexte (Auto Text)   |  Sélecteur de date   |  Fusionner les données   |  Crypter/Déchiffrer les cellules    Envoyer un e-mail par liste   |  Super Filtre   |   Filtre spécial (filtrer les cellules avec une police en gras/italique/barré...) ...
Top15 ensembles d'outils12 outils de texte (Ajouter du texte, Supprimer des caractères spécifiques, ...)   |   50+ types de graphiques (Diagramme de Gantt, ...)   |   40+ formules pratiques (Calculer lâge en fonction de la date de naissance, ...)   |   19 outils d'insertion (Insérer un code QR, Insérer une image depuis le chemin, ...)   |  12 outils de conversion (Convertir en mots, Conversion de devises, ...)   |  7 outils de fusion & division (Fusion avancée des lignes, Diviser les cellules, ...)   |   ... et plus

Boostez vos compétences Excel avec Kutools pour Excel, et découvrez une efficacité sans précédent. Kutools pour Excel propose plus de300 fonctionnalités avancées pour augmenter la productivité et gagner du temps.  Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...


Office Tab apporte une interface à onglets à Office, et facilite grandement votre travail

  • Activez la modification et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
  • Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
  • Augmente votre productivité de50 %, et réduit des centaines de clics de souris pour vous chaque jour !