Colorier cellule sous condition

Bonsoir,

je voudrais que les cellules de la colonne "d" se colorie en gris si la cellule en colonne "c" est non vide

Je dois répéter ceci sur la même feuille dans le colonne "G" et "H" , "K" et "L" ect

J'aimerais pouvoir adapter ce code facilement à n'importe quelle colonne

D'avance merci

Bonjour Pen2022 et

Une petite présentation ICI serait la bienvenue

Si vous ne l'avez pas encore fait, je vous invite à lire :
- La charte du forum
- Quelques fonctionnalités du forum à connaître

Regardez aussi les petites icônes mises à votre disposition dans la barre de menu qui :
- vous permettent de poster un code (</>)
- ou de clôturer un fil lorsque vous avez terminé (V)

Concernant votre demande, il faut appliquer une MFC (Mise en Forme Conditionnelle) avec en formule

=$C1<>""

Merci pour votre participation

Cordialement

Bonjour,

En sélectionnant la colonne D puis mise en forme conditionnelle/nouvelle règle/utiliser une formule pour déterminer pour quelle cellules le format sera appliqué. Dans le champs "Appliquer une mise en forme aux valeurs........" vous entrez la formule =C1<>""et vous appliquez le format de remplissage désiré. Ensuite vous sélectionnez les colonnes A à D et vous étirez cette mise en forme aussi loin que vous le désirez vers la droite. Voici le résultat:

capture

Bonjour à tous, excusez moi de ne pas m'être présenté, petit nouveau hier soir même déjà pendant la nuit...

Je suis chef de dépôt chez un négociant en bièreset je travaille beaucoup avec Excell.

Je dois réaliser une cartographie de notre dépôt et pour cela, j'ai un fichier excell qui reprend toutes les places de stockages disponibles dans le dépôt et je dois y afficher en regard les n° des produits qui y sont affectés. Certaines places sont vides et c'est pourquoi je fais appel à vous.

Je voudrais que certaines cellules se colorient en fonction de données s'affichant dans d'autres cellules. Par ex, si C2 = "x", alors D2 est grisé ou si E2 n'est pas vide, alors E2 est en vert. J'ai déjà une MFC mais dans un fichier de 40 feuilles avec 120 lignes sur 10 groupes de colonnes, ça fait beaucoup et j'aurais voulu avoir une solution en VBA.

J'ai déjà expérimenté quelques codes mais je n'y comprend pas grand chose pour pouvoir les adapter à mon problème, donc quelque chose de facilement adaptable serait nickel.

Je joint un petit fichier allégé pour mieux vous aiguiller.

Est ce que le titre est complet, je ne pense pas, il faudrait ajouter VBA mais comment?

Grand merci pour votre aide

Bonjour,
Un essai

Là ça fait plusieurs boucles sur toutes les feuilles. C'est aussi un peu lourd. Il faut aussi que toutes les feuilles soient sur la même structure.

Hello, merci pour cette macro, j'ai essayé et cela me semble très lourd....

Je pensais plus à un code sur chaque feuille avec de simple conditions du style plus bas

Ceci colorie des cellules mais je ne sais pas comment l'adapter

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
With Range("A1:C3, A5:C10, A15:C20")            'Sélection des plages où doit s'appliquer la MeF
    'Supprime les MFC existantes
    .FormatConditions.Delete

    'Ajoute une condition (Vrai lorsque la cellule est non vide)
    .FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, Formula1:="=$E$5"

    With .FormatConditions(1)
        'Définit la couleur de fond de la cellule lorsque la condition sera vraie.
        .Interior.Color = 16771071       '.Interior.ColorIndex = 15 'Gris

    End With
End With
End Sub

Je n'ai pas vraiment besoin de bouton pour exécuter une macro

Grand merci

Bonsoir Pen2022

Quand je lis ceci "Les MFC sont trop lourdes, en VBA c'est surement mieux"... je me dis mon dieu

Besoin de seulement 2 MFC pour tout le tableau

image

A+

Hello

Je ne savais pas qu'on pouvait utiliser la fonction "Décaler" en MFC, plutôt, je n'y avais pas pensé

C'est nickel et vachement plus rapide que l'usine à gaz que j'avais construite dans les MFC de mon fichier original.

Grand merci, à bientôt sans doute.

bonsoir,

avec une macro pour créer ces MFCs

Sub MFCs()
     For i = 2 To ThisWorkbook.Worksheets.Count 'à partir de la 2ième feuille

          With Worksheets(i)
               Set ur = .UsedRange
               Set c = .Range("D2").Resize(ur.Rows.Count, ur.Columns.Count)
               Set c1 = c.Cells(1).Offset(1 - c.Row)
          End With

          With c
               .FormatConditions.Delete

               .FormatConditions.Add Type:=xlExpression, Formula1:="=et(" & c1.Address(1, 0) & "<>"""";" & c.Cells(1).Address(0, 0) & "<>"""")"
               With .FormatConditions(1)
                    '.SetFirstPriority
                    .Interior.Color = 5296274
                    .StopIfTrue = False
               End With

               .FormatConditions.Add Type:=xlExpression, Formula1:="=" & c.Cells(1, 0).Address(0, 0) & "=""x"""
               With .FormatConditions(2)
                    .SetFirstPriority
                    .Interior.Color = 6184546
                    .StopIfTrue = True
               End With
          End With
     Next

End Sub
Rechercher des sujets similaires à "colorier condition"