Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 vbacopiercouleur

YOUYOU25

XLDnaute Junior
Bonsoir à tous,

J'ai un tableau de suivi de personnel au travail et je souhaiterais svp lorsque je sélectionne une donnée issue d'une liste déroulante en colonne à partir de a2, valeurs auxquelles j'ai ajoutés des mises en formes conditionnelles si texte égale remplissage , que la même couleur de remplissage se reporte en colonne à partir de b2 lorsque je rempli une cellule de cette dernière et que l'insertion d'une nouvelle ligne soit prise en compte

Serait il possible d'avoir la solution en vba avec bouton serait super

j'ai mis en pj un exemple

merci d'avance et bonne soirée à tous
 

Pièces jointes

  • SUIVIPERSO.xlsx
    11.1 KB · Affichages: 6

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonsoir Youyou,
Pourquoi ne pas supprimer la MFC et faire tout en VBA, tant qu'à faire, avec :
VB:
Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Fin: If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, [A2:A100]) Is Nothing Then
        If Target = "" Then Range(Target.Address).Interior.Color = xlNone
        Select Case UCase(Target)
            Case "A": Range(Target.Address).Interior.Color = RGB(0, 112, 192)
            Case "B": Range(Target.Address).Interior.Color = RGB(255, 0, 0)
            Case "C": Range(Target.Address).Interior.Color = RGB(255, 255, 0)
            Case "D": Range(Target.Address).Interior.Color = RGB(0, 176, 80)
            Case "E": Range(Target.Address).Interior.Color = RGB(255, 192, 0)
        End Select
    End If
    If Not Intersect(Target, [B2:B100]) Is Nothing Then
        If Cells(Target.Row, "A") = "" Then Range(Target.Address).Interior.Color = xlNone
        If Target = "" Then
            Range(Target.Address).Interior.Color = xlNone
        Else
            Range(Target.Address).Interior.Color = Cells(Target.Row, "A").Interior.Color
        End If
    End If
Fin:
Application.ScreenUpdating = True
End Sub
Sinon vous pouvez utiliser DisplayFormat pour lire le format de la MFC, mais sur non vieux XL2007 et VBA 6.3cette fonction n'est pas connue.
 

Pièces jointes

  • SUIVIPERSO.xlsm
    16.9 KB · Affichages: 1

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Youyoy,
Ceci dit, après réflexion, on aurait pu résoudre le problème avec une seule et simple MFC :
VB:
=SI(COLONNE()=1;SI($A2="A";1;0);SI(ET($A2="A";$B2<>"");1;0))
 

Pièces jointes

  • SUIVIPERSO (2).xlsx
    10.5 KB · Affichages: 3

Discussions similaires

Réponses
9
Affichages
380
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…