Microsoft 365 Boucle sur condition ligne fixe

chris6999

XLDnaute Impliqué
Bonjour

Encore une petite question car je bloque sur la manière d'écrire une boucle.

Je ne trouve pas le moyen d'écrire la condition suivante "si la valeur ligne 2 est égale à "X" alors exécute le code "
Quelqu'un peut-il m'éclairer sur la manière de l'écrire car là je sèche.
En général j'utilise offset pour faire référence à la ligne ou la colonne suivant précédante mais je ne sais plus faire référence à une ligne fixe.

Merci par avance pour votre aide
Bonne soirée


Sub test()
'dernière cellule non vide sur la colonne B
Derlig = Range("C" & Rows.Count).End(xlUp).Row
Dercol = Cells(4, Columns.Count).End(xlToLeft).Column

For Each c In Range(Cells(3, "F"), Cells(Derlig, Dercol))

'condition recherchée
'si valeur de la ligne 2 colonne = "X" alors
'if .......THEN

If c.Value = "A" Then

c.Value = ""
c.Interior.ColorIndex = 16
Next

End If
End If

End Sub
 

Pièces jointes

  • boucle référence valeur ligne fixe.xlsm
    22.4 KB · Affichages: 3

Lolote83

XLDnaute Barbatruc
Bonjour,
J'ai pas tout compris mais peut être comme ça
VB:
Sub test() 'ce'st le bon
   
    'dernière cellule non vide sur la colonne B
    Derlig = Range("C" & Rows.Count).End(xlUp).Row
    Dercol = Cells(4, Columns.Count).End(xlToLeft).Column
   
    For Each C In Range(Cells(3, "F"), Cells(Derlig, Dercol))
        'si valeur de la ligne 2 colonne = "X" alors
        If Cells(2, C.Column) = "X" Then
            C.Value = ""
            C.Interior.ColorIndex = 16
        End If
    Next C
End Sub

Sinon, plus simple et sans VBA, avec une simple MFC (Mise en Forme Conditionnelle)

1633619314161.png



@+ Lolote83
 

chris6999

XLDnaute Impliqué
Bonjour,
J'ai pas tout compris mais peut être comme ça
VB:
Sub test() 'ce'st le bon
  
    'dernière cellule non vide sur la colonne B
    Derlig = Range("C" & Rows.Count).End(xlUp).Row
    Dercol = Cells(4, Columns.Count).End(xlToLeft).Column
  
    For Each C In Range(Cells(3, "F"), Cells(Derlig, Dercol))
        'si valeur de la ligne 2 colonne = "X" alors
        If Cells(2, C.Column) = "X" Then
            C.Value = ""
            C.Interior.ColorIndex = 16
        End If
    Next C
End Sub

Sinon, plus simple et sans VBA, avec une simple MFC (Mise en Forme Conditionnelle)

Regarde la pièce jointe 1117632


@+ Lolote83
Merci Lolote

J'ai testé le code proposé et il fonctionne nickel

merci encore
Bonne journée
 

Discussions similaires

Statistiques des forums

Discussions
314 663
Messages
2 111 674
Membres
111 256
dernier inscrit
cvwvoizhjf