Surligné une ligne en fonction d'une condition

Bonjour,

Je voudrais surligner ma ligne en gris si ma cellule est égale à "ok" et en rouge si la cellule est égale à "nok". Voici mon code :

For I = 1 To .ListRows.Count
                    If remontée = "ok" Then
                    ligne.Range.Interior.ColorIndex = 15
                    Else
                    ligne.Range.Interior.ColorIndex = 3
                    End If
Next I

Seulement, toutes mes lignes ressortent surlignées en gris... Et je ne vois pas mon erreur. Est ce normal?

Lucas

Bonjour

Pas facile de vous répondre avec un code partiel

Cordialement

Bonjour,

Voici le code entier

Sub surligneur()
Dim I As Integer
Dim ligne As ListRow

For I = 1 To .ListRows.Count
                    remontée = .ListColumns("Remontées N+1?").DataBodyRange(I)
                    If UCase(remontée) = "OK" Then
                    ligne.Range.Interior.ColorIndex = 15
                    Else
                    ligne.Range.Interior.ColorIndex = 3
                    End If

Next I

End Sub

Cordialement

Lucas

Impossible que cela fonctionne. Le code va déjà s'arrêter sur la ligne .listrows.count

Mettez votre fichier en ligne (sans données confidentielles). Ce sera plus facile

Cordialement

Voici deux fichiers. le code se situe dans le fichier de destination. Il s'agit d'un import puis d'une mise en forme conditionnelle.

Le problème se situe au niveau du surlignage. Ca ne surligne pas ce que je souhaite c'est à dire :

- gris si c'est OK

- rouge si c'est NOK

Il s'agit d'un import puis d'une mise en forme conditionnelle.

Heu non. Vous coloriez simplement les cellules en fonction du Ok ou NOK.

Comment fonctionnez vous ? Si je vois bien les données ne sont pas effacées avant l'importation. Donc soit vous ajoutez ou vous remplacez les Ok par NOK (ou l'inverse) depuis le fichier Source

Edit :
- en y repensant pourquoi ne pas faire 2 MFC avec valeur "Ok" et "NOK"
- Si oui il vous suffit de la prévoir sur la première lignes de votre tableau puis de supprimer l'instruction IF remontée = OK jusqu'au END IF

Bonjour dan,

Pour la MFC, j'ai tenté mais ça ne fonctionne pas, je ne sais pour quelle raison.

Mon code consiste à importer dans le fichier de destination, les données du fichier source qui n'ont pas encore été importer dans le fichier de destination. Voilà pourquoi les fichiers ne sont pas effacées.

Pour la MFC, j'ai tenté mais ça ne fonctionne pas, je ne sais pour quelle raison.

Essayez avec le fichier joint

Si ok -->

Merci @Dan, ça fonctionne!

Rechercher des sujets similaires à "surligne ligne fonction condition"