XL 2019 copier la MEF (mise en forme avec couleurs) dans un menu liste déroulante ?

anthoYS

XLDnaute Barbatruc
Bonjour


Comment faire s'il vous plaît ?


Merci
 

Pièces jointes

  • Classeur43.xlsx
    11.5 KB · Affichages: 5
Solution
Re,

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

anthoYS

XLDnaute Barbatruc
dans la capture, j'ai tenté un menu liste déroulante, mais la MEF ne se copie pas...

Merci pardon du coup, je vais faire des recherches ...

:(
 

Pièces jointes

  • EXCEL_T87zwoa29l.png
    EXCEL_T87zwoa29l.png
    41.5 KB · Affichages: 9
Dernière édition:

mapomme

XLDnaute Barbatruc
Supporter XLD
Re,

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
 

Pièces jointes

  • anthoYS- Couleur fond & cellule- v1.xlsm
    19.1 KB · Affichages: 8

anthoYS

XLDnaute Barbatruc
Re,

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
Merci beaucoup @mapomme :) je vais voir comment transposer ce code pour mon fichier original :)
 

Pièces jointes

  • EXCEL_0UUtExIZoS.png
    EXCEL_0UUtExIZoS.png
    6.7 KB · Affichages: 6

Discussions similaires

Statistiques des forums

Discussions
314 450
Messages
2 109 731
Membres
110 553
dernier inscrit
loic55