colorer ligne entière si A1 n'est pas égal à B1

loiclass

XLDnaute Occasionnel
Bonjour,

Je cherche une macro pour colorer entièrement une ligne si la valeur saisie en A et différente de celle en B.

Merci d'avance
 

DoubleZero

XLDnaute Barbatruc
Re : colorer ligne entière si A1 n'est pas égal à B1

Bonjour, loiclass, le Forum,

Peut-être avec ce code (à placer dans le module de l'onglet concerné) :

Code:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Long
Application.ScreenUpdating = False
    If Not Intersect(Target, Range("A2:b65535")) Is Nothing Then
        For i = 2 To Range("A65536").End(xlUp).Row
            If Range("A" & i).EntireRow.Interior.Color = 9763491 Then Range("A" & i).EntireRow.Interior.Color = xlNone
            If Range("A" & i).Value <> Range("A" & i).Offset(, 1).Value Then Range("A" & i).EntireRow.Interior.Color = 9763491
        Next
    End If
Application.ScreenUpdating = True
End Sub

A bientôt :)
 

job75

XLDnaute Barbatruc
Re : colorer ligne entière si A1 n'est pas égal à B1

Bonsoir loiclass, DoubleZero :)

Pourquoi une macro ? Une MFC sur toute la feuille fait parfaitement l'affaire :

- sélectionner toutes les cellules

- formule de la Mise en forme conditionnelle :

Code:
=ET($A1<>"";$B1<>"";$A1<>$B1)
Fichier joint.

A+
 

Pièces jointes

  • MFC(1).xls
    24.5 KB · Affichages: 35
  • MFC(1).xls
    24.5 KB · Affichages: 36
  • MFC(1).xls
    24.5 KB · Affichages: 34

job75

XLDnaute Barbatruc
Re : colorer ligne entière si A1 n'est pas égal à B1

Bonjour le forum,

S'il peut y avoir des valeurs d'erreur il est possible de les gérer.

Fichier (2).

A+
 

Pièces jointes

  • MFC(2).xls
    25 KB · Affichages: 25
  • MFC(2).xls
    25 KB · Affichages: 28
  • MFC(2).xls
    25 KB · Affichages: 42

job75

XLDnaute Barbatruc
Re : colorer ligne entière si A1 n'est pas égal à B1

Re,

J'ai simplifié la formule, fichier (3).

A+
 

Pièces jointes

  • MFC(3).xls
    25 KB · Affichages: 36
  • MFC(3).xls
    25 KB · Affichages: 40
  • MFC(3).xls
    25 KB · Affichages: 38

job75

XLDnaute Barbatruc
Re : colorer ligne entière si A1 n'est pas égal à B1

Re,

Une autre solution VBA, dans le code de la feuille :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Range, v1$, v2$
Set r = Intersect(Target, Range("A2:B" & Rows.Count), Me.UsedRange)
If r Is Nothing Then Exit Sub
For Each r In r.EntireRow.Rows 'si plusieurs cellules sont modifiées
  v1 = r.Cells(1).Text:  v2 = r.Cells(2).Text
  r.Interior.ColorIndex = IIf(v1 <> "" And v2 <> "" And v1 <> v2, 6, xlNone)
Next
End Sub
Fichier joint.

A+
 

Pièces jointes

  • Coloration par VBA(1).xls
    48 KB · Affichages: 22

Discussions similaires

Réponses
21
Affichages
384
Réponses
31
Affichages
1 K

Membres actuellement en ligne

Statistiques des forums

Discussions
312 489
Messages
2 088 855
Membres
103 976
dernier inscrit
kaizertv2001@gmailcom