Comparer cellule avec condition VBA

Bonjour,

je souhaiterais développer en VBA un macro qui me permettrai de changer la font d'une cellule en fonction d'un critère.

"De la première à la dernière ligne (ligne 7 colonne B)

IF valeur colonne B se termine par "Bis" THEN valeur en Y doit être égale à valeur Y du dessus. (row termine par "Bis"-1) ELSE IF mettre cellule Y en jaune (.Interior.ColorIndex = 6).

Voir exemple résultat que je souhaite couleur jaune"

Voir exemple fichier ci-joint.

Merci beaucoup !

Bonne journée

Bonjhour Allardinho, bonjour le forum,

Peut-être comme ça :

Sub Macro1()
Dim SH As Worksheet 'déclare la variable SH (SHeet)
Dim DL As Integer 'déclare la variable DL (Dernière Ligne)
Dim I As Integer 'déclare la variable I (Incrément)

Set SH = Sheets("Sheet1") 'définit l'onglet SH
DL = SH.Cells(Application.Rows.Count, 2).End(xlUp).Row 'définit la dernière ligne éditée DL de la colonne 2 (=B)
For I = 9 To DL 'boucle des ligne 9 à DL
    If Right(SH.Cells(I, 2).Value, 3) = "Bis" Then 'condition : si les trois derniers caractères de la cellule ligne I, colonne 2 sont "Bis"
        SH.Cells(I, 25).Value = SH.Cells(I - 1, 25) 'récupere dans la colonne 25 (=Y) la valeur de la ligne au-dessus
        SH.Cells(I, 25).Interior.ColorIndex = xlNone 'supprime une éventuelle couleur
    Else 'sinon
        SH.Cells(I, 25).Interior.ColorIndex = 6 'colore la cellule colonne 25 (=Y) en jaune
    End If
Next I 'prochaine ligne de la boucle
End Sub

Bonjour,

Essaye le code suivant :

Sub test()
    For Each cel In Range("Y9:Y15")
        If Right(cel.Offset(0, -23), 3) = "Bis" And cel <> cel.Offset(-1, 0) Then
                cel.Offset(-1, 0).Interior.ColorIndex = 6
        End If
    Next cel
End Sub

Merci à vous deux !

Rechercher des sujets similaires à "comparer condition vba"