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

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

Réponses
10
Affichages
361
Réponses
2
Affichages
466
Réponses
2
Affichages
327

Statistiques des forums

Discussions
315 284
Messages
2 118 014
Membres
113 406
dernier inscrit
NI-ZE