Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

si case en fond de couleur mettre OK en resultat

  • Initiateur de la discussion Initiateur de la discussion katie
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

K

katie

Guest
bonjour,
je souhaite obtenir formule ou macro qui dit que si la cellule est en fond jaune mettre "OK" sinon l'ordinateur m'affiche un message précisant le "nom" où la case est vide
cf. piece jointe
merci d'avance
katie
 

Pièces jointes

Dernière modification par un modérateur:
Re : si case en fond de couleur mettre OK en resultat

Bonjour katie,

Bienvenue sur XLD,

avec une fonction personnalisée

Code:
Function CoulJaune(Cellule As Range) As Boolean
Application.volatile
    CoulJaune = Cellule.Interior.ColorIndex = 6
End Function

et une formule en C2

Code:
=SI(couljaune(B2);"OK";A2)

attention, changer la couleur des cellules ne provoque pas de recalcul, il faudra appuyer sur F9 pour provoquer le recalcul en cas de changement de couleur
 
Re : si case en fond de couleur mettre OK en resultat

Bonjour katie et bienvenue, bonjour Tototiti, bonjour le forum,

Une solution VBA :
Code:
Sub Macro1()
Dim dl As Integer 'déclare la variable dl (Dernière Ligne)
Dim pl As Range 'déclare la variable pl (PLage)
Dim cel As Range 'déclare la variable cel (CELlule)
 
With Sheets("Feuil1") 'prend en compte l'onglet "Feuil1" (à adapter...)
    dl = .Cells(Application.Rows.Count, 1).End(xlUp).Row 'définit la dernière ligne éditée de la colonne A
    Set pl = .Range("B2:B" & dl) 'définit la plage pl
End With 'fin de la prise en compte de l'onglet "Feuil1"
For Each cel In pl 'ocle sur toutes les cellules éditées cel de la plage pl
    If cel.Interior.ColorIndex = 6 Then 'condition : si la couleur de fond de la cellule cel est jaune
        cel.Offset(0, 1).Value = "OK" 'place "OK" dans la cellule dela colonne C
    Else 'sinon (condition 1)
        cel.Offset(0, 1).Value = cel.Offset(0, -1).Value 'place la valeur de la cellule de la colonne A
    End If 'fin de la condition
Next cel 'prochaine cellule de la boucle
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

K
Réponses
21
Affichages
2 K
A
Réponses
12
Affichages
2 K
AnjyD
A
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…