Private Sub Worksheet_Change(ByVal Target As Range)
Dim xrg As Range, x, i&, col&
If Intersect(Target, Columns("f:g")) Is Nothing Then Exit Sub
For Each x In Intersect(Target, Columns("f:g")).Cells
x.Interior.ColorIndex = xlColorIndexNone: x.Font.ColorIndex = xlColorIndexAutomatic
col = IIf(x.Column = [f1].Column, 1, 2)
i = Application.IfError(Application.Match(x.Value, Columns(col), 0), 0)
If i > 0 Then x.Interior.Color = Cells(i, col).Interior.Color: x.Font.Color = Cells(i, col).Font.Color
Next x
End Sub
pardon je parle de mise en forme, pas MEFC, je me suis trompé dans l'explication...Bonsoir @anthoYS ,
Vous n'êtes pas un perdreau de l'année et pourtant vous postez une demande minimaliste .
- Aucune explication ni dans le corps du message ni dans le classeur.
- Pas de MEFC dans le classeur alors comment la copier ou recopier ?
On n'a rien à se mettre sous la dent.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim xrg As Range, x, i&, col&
If Intersect(Target, Columns("f:g")) Is Nothing Then Exit Sub
For Each x In Intersect(Target, Columns("f:g")).Cells
x.Interior.ColorIndex = xlColorIndexNone: x.Font.ColorIndex = xlColorIndexAutomatic
col = IIf(x.Column = [f1].Column, 1, 2)
i = Application.IfError(Application.Match(x.Value, Columns(col), 0), 0)
If i > 0 Then x.Interior.Color = Cells(i, col).Interior.Color: x.Font.Color = Cells(i, col).Font.Color
Next x
End Sub
Merci beaucoup @mapomme je vais voir comment transposer ce code pour mon fichier originalRe,
Un essai (vite fait donc à vérifier) avec une macro évènementielle.
Modifiez les valeurs des colonnes F ou G.
Le code est dans le module de la feuille Feuil1 :
VB:Private Sub Worksheet_Change(ByVal Target As Range) Dim xrg As Range, x, i&, col& If Intersect(Target, Columns("f:g")) Is Nothing Then Exit Sub For Each x In Intersect(Target, Columns("f:g")).Cells x.Interior.ColorIndex = xlColorIndexNone: x.Font.ColorIndex = xlColorIndexAutomatic col = IIf(x.Column = [f1].Column, 1, 2) i = Application.IfError(Application.Match(x.Value, Columns(col), 0), 0) If i > 0 Then x.Interior.Color = Cells(i, col).Interior.Color: x.Font.Color = Cells(i, col).Font.Color Next x End Sub