MFC en VBA

reve24

XLDnaute Occasionnel
Bonjour

je souterais mettre une MFC en VBA sur mon fichier

si colonne X2 valeur ("x") alors A2:F2 fond rouge
et ainsi de suite sur chaque ligne .


merci a vous
 

Pièces jointes

  • MFC(1).xlsm
    16.4 KB · Affichages: 34
  • MFC(1).xlsm
    16.4 KB · Affichages: 42
  • MFC(1).xlsm
    16.4 KB · Affichages: 37

Dull

XLDnaute Barbatruc
Re : MFC en VBA

Salut reve24, le Forum

Peut être comme cela

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim C As Range
For Each C In Range("A2:F2")
C.Interior.ColorIndex = xlNone
C.Font.ColorIndex = 1
If C.Value = "x" Then C.Interior.ColorIndex = 3
Next C
End Sub

Bonne Journée
 

reve24

XLDnaute Occasionnel
Re : MFC en VBA

Bonjour dull
non cela ne fonctionne pas car tu ne met pas pas ou es la valeur X
MOI J AVAIS FAIT CECI mais cela ne fonctionne pas sur la plage complete
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim c As Range
For Each c In Range("A2:F2")
c.Interior.ColorIndex = xlNone
c.Font.ColorIndex = 1
If c.Value = [X2].Value Then
With c
.Interior.ColorIndex = 3
End With
End If
Next c
End Sub
 

reve24

XLDnaute Occasionnel
Re : MFC en VBA

Voila Une solution
MERCI a MOI MEME
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
For i = 2 To 200 'rangées de 2 à 100 (à adapter)
If Range("X" & i) = "" Then
Range("X" & i, "x" & i).Interior.ColorIndex = xlNone

ElseIf Range("A" & i) <> "" And Range("F" & i) <> "" Then
Range("A" & i, "F" & i).Interior.ColorIndex = 3 'rouge

End If
Next i

End Sub

mais cela implique que A B C D E F soit rempli
qui peut faire plus simple car seul si colonne X = valeur alors ABCDEF = rouge
 

Dull

XLDnaute Barbatruc
Re : MFC en VBA

Re reve24, le Forum

Alors comme cela

Code:
Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim C As Range, i as Integer
Application.ScreenUpdating = False
    For i = 1 To 200
        For Each C In Range(Cells(i, 1), Cells(i, 6))
            C.Interior.ColorIndex = xlNone
            C.Font.ColorIndex = 1
            If Cells(i, 24) = "x" Then C.Interior.ColorIndex = 3
        Next C
    Next i
Application.ScreenUpdating = True
End Sub

Bonne Journée
 

Pièces jointes

  • MFC(1).xlsm
    21.8 KB · Affichages: 34
  • MFC(1).xlsm
    21.8 KB · Affichages: 32
  • MFC(1).xlsm
    21.8 KB · Affichages: 33

Statistiques des forums

Discussions
312 677
Messages
2 090 821
Membres
104 677
dernier inscrit
soufiane12