Mise en forme conditionnelle dans une macro

Bonjour,

Je suis nouveau sur le forum et j'aurais besoin de votre aide pour mon projet.

J'ai fait une macro qui parcourt une plage de cellules dont la plupart ont des dates. Toute la subtilité de mon problème est dans "la plupart" En effet, lorsque la date est inconnue, nous avons écrit "Unknown" dans la cellule correspondante et je souhaite colorer cette cellule et mettre l'écriture en gras.

En parcourant Internet, j'ai trouvé

With ThisWorkbook.Worksheets(1).Range("B1")

.FormatConditions.Delete

.FormatConditions.Add Type:=xlExpression, Formula1:="=$A$1=1"

.FormatConditions(1).Interior.ColorIndex = 46

End With

Mon plus gros souci concerne la formule a indiqué, car il faut qu'elle soit dynamique par rapport au numéro de ligne ou à la colonne...

J'espère avoir été clair dans mes explications...

Je vous remercie d'avance pour vos futures réponses

Bonjour et bienvenue,

Joins un fichier pour une aide adaptée du forum.

Cdlt.

Comme j'ai le code sur mon ordi pro et que je ne peux pas me connecter à un forum, voici la retranscription du code

For NoLigne = 14 To DerLign
       Delivery  = Empty
       Range ("N" & NoLigne).Select
       Do Until IsEmpty(ActiveCell)
                ActiveCell.offset(0,1).Select
       Loop
       ActiveCell.Offset(0,-1).Select
       Delivery = ActiveCell.Value

       Range("AH" & NoLigne).Select
       If Delivery = "X" Or Delivery = "x" Or IsError(Range("AL" & NoLigne)) Then
             ActiveCell.Value = "Unknown"
             'With ActiveCell
            '           .FormatConditions.Delete
            '           .FormatConditions.Add Type:=xlExpression, Formula1:="=SI("AH & NoLigne)="Unknown"
            '           .FormatConditions(1).Interior.ColorIndex = 46
       Else
             ActiveCell.Value = "OK"
       End If
Next NoLigne

J'ai conscience que ce que j'ai écrit et mis en commentaires (la partie With) n'est pas correcte car c'est un copier/coller d'Internet que j'ai essayé d'adapter comme j'ai pu à mon souci...

Je débute en VBA donc je suis très loin de connaître toutes les possibilités de ce langage...

Finalement, j'ai réussi à trouver et c'est beaucoup plus simple que ce que je pensais :

For NoLigne = 14 To DerLign
       Delivery  = Empty
       Range ("N" & NoLigne).Select
       Do Until IsEmpty(ActiveCell)
                ActiveCell.offset(0,1).Select
       Loop
       ActiveCell.Offset(0,-1).Select
       Delivery = ActiveCell.Value

       Range((Split(Adresse1.Address, "$")(1) & NoLigne).Select
       With ActiveCell
             .FormatConditions.Delete
       End With
       If Delivery = "X" Or Delivery = "x" Or IsError(Range((Split(Adresse2.Address, "$")(1) & NoLigne)) Then
             ActiveCell.Value = "Unknown"
            ActiveCell.Interior.Color = RGB (201, 133, 203)
            ActiveCell.Font.FontStyle = Calibri
            ActiveCell.font.Size = 14
            ActiveCell.Font.Bold = True
       Else
             ActiveCell.Value = "OK"
       End If
Next NoLigne
Rechercher des sujets similaires à "mise forme conditionnelle macro"