Simplification de macro avec Target.column

Bonjour à tous, j'ai cette macro:

If Target.Column = 2 Then

thisrow = Target.Row

If Target.Value = "OK" Then

Range("E" & thisrow).Interior.Color = 5287936

If Target.Value = "OK" Then

Range("E" & thisrow).Interior.Color = 255

End if

Avec cette macro, je veux colorer en vert ou rouge si une cellule dans la colonne 2 est validée NotOK ou en vert si la cellule contient OK.

Le souci est que je valide ainsi 22 colonnes avec la même type de macro ce qui m'a conduit à écrire environ 176 fois la mêmligne avec juste le numéro de colonne changeant.

Je souhaiterai simplifier la macro. J'ai essayé avec une boucle "For i= 2 to 23" avec i représentant le numéro de colonne mais cela ne fonctionne pas. Quelqu'un aurait il une idée pour simplifier ces lignes. La macro me va, elle est fonctionnelle, mais je pense que l'on doit pouvoir simplifier son écriture et la compacter.

D'avance merci pour votre aide.

Hello racounet,

En supposant que la feuille active est la bonne feuille, et que tes données sont de la ligne 5 à la ligne 500, il suffit d'exécuter cette procédure.

Sub coloriage()
Dim numLigne As Integer

For numLigne = 5 To 500
    If Range("B" & numLigne) = "OK" Then
        Range("B" & numLigne).Interior.Color = vbGreen
    Elseif  Range("B" & numLigne) = "NotOK" Then
        Range("B" & numLigne).Interior.Color = vbRed
    End If
Next numLigne

Néanmoins ta demande me perturbe, pourquoi ne pas utiliser de mise en forme conditionnelle???? Sais-tu t'en servir? Cela ne convient pas à ton besoin?

En fait, utiliser une MFC, chose que je faisais avant est effectivement une solution. Je me suis lancé dans VBA en pensant que c'était simple, c'est plus compliqué que ce que je croyais, d'autant que je dois faire une macro par an, voir tous les deux ans.

Les résultats de ce fichier sont ensuite exploités par Sage et donc je pensais qu'avec des macros ce serait plus facile. Je vais passer par une MFC, plus simple et plus rapide.

J'ai quand même des macros qui tournent pour des calculs.

Merci

Rechercher des sujets similaires à "simplification macro target column"