je cherche comment remplir automatiquement la couleur d'une cellule.
dans le fichier joint, les colonnes I, J et K se remplissent automatiquement avec une fonction SI.
De plus, si la cellule contient "Non", elle se noircit avec une règle.
Comment faire pour que lorsque les cellules des colonnes I J K reprennent une valeur des colonnes E F G, et qu'elle n'aura pas "Non", elle se recopie avec la même couleur de remplissage que dans E F G?
Merci pour votre aide.
Bonjour et merci de prendre le temps de me répondre.
C'est moi qui détermine et colorise les cellules en colonnes EFG.
Ce que je souhaite, c'est que ce remplissage de couleur se reproduise dans les colonnes IJK si la valeur de la cellule y est reproduite.
En fait, comment avec la fonction SI, reproduire la valeur et la mise en forme d'une cellule.
Sub test()
Dim I As Integer, J As Integer
For I = 1 To 22
For J = 1 To 3
If Cells(I, 4 + J) = Cells(I, 8 + J) Then
Cells(I, 8 + J).Interior.Color = Cells(I, 4 + J).Interior.Color
End If
Next J
Next I
End Sub
Attention! Un changement de couleur (dans les colonnes E à G) ne provoque aucun évènement qu'on peut intercepter. Il faut donc veiller à exécuter la macro (par le bouton Hop!) si on change des couleurs.
Le code est dans le module de la feuille "Feuil1":
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
coloriage
End Sub
Sub coloriage()
On Error GoTo FIN: Application.ScreenUpdating = False: Application.EnableEvents = False
Range(Range("e1"), Range("g1").End(xlDown)).Copy
Range("i1").PasteSpecial xlPasteFormats
With Selection.FormatConditions
.Delete
.Add Type:=xlCellValue, Operator:=xlEqual, Formula1:="=""Non"""
Selection.FormatConditions(1).Interior.Color = vbBlack
End With
FIN: Application.CutCopyMode = False: Application.EnableEvents = True
End Sub