Macro format plusieur cellule
bonjour,
Dans mon fichier excel, il y a une macro qui met en couleur des cellules d'une colonne d'après les informations d'une autre colonne.
J'aimerais reproduire cette mise en forme couleur sur d'autres colonnes via cette macro mais je ne sais pas comment ajouté dans la macro les colonne souhaiter.
Colonne en jaune par rapport a la colonne en orange.
En PJ le fichier avec la macro.
Mot de passe : LILA
merci d'avance.
Bonjour,
Dans ton fichier exemple, tu as mis en jaune les colonnes sur lesquelles tu veux un traitement.
Y a-t-il une erreur sur les colonnes AD et AJ ?
Est-ce que le but recherché est le traitement sur les colonnes dont l'entête est "REALISE" ?
Si c'est le cas ...
Un essai ...
Dans la feuille Synthese ...
Private Sub Worksheet_Change(ByVal Target As Range)
Dim DCol As Integer, DLig As Integer, X As Integer
Dim CL As Range
DCol = Cells(6, Columns.Count).End(xlToLeft).Column
DLig = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
If Not Intersect(Target, Range(Cells(7, "H"), Cells(DLig, DCol))) Is Nothing Then
Application.ScreenUpdating = False
For X = 9 To DCol
If Cells(6, X).Value = "REALISE" Then
DLig = Cells(Rows.Count, X).End(xlUp).Row
For Each CL In Range(Cells(7, X), Cells(DLig, X))
If (Cells(CL.Row, X - 1).Value - Cells(CL.Row, X).Value) * 100 > 10 Then
Cells(CL.Row, X).Interior.Color = 1057006
Else
If Cells(CL.Row, X).Value < Cells(CL.Row, X - 1).Value Then
Cells(CL.Row, X).Interior.Color = 168444
Else
Cells(CL.Row, X).Interior.Color = 5296274
End If
End If
Next CL
End If
Next X
End If
End Sub
ric
MERCI BEAUCOUP
Cela fonctionne, non en AD et AJ petite erreur de ma part.
Et oui je voudrais voir la différence en les objectifs et le réalisé.
Ce que tu as fais me semble niquel
Encore merci.
Bonjour,
Dans ton fichier exemple, tu as mis en jaune les colonnes sur lesquelles tu veux un traitement.
Y a-t-il une erreur sur les colonnes AD et AJ ?
Est-ce que le but recherché est le traitement sur les colonnes dont l'entête est "REALISE" ?
Si c'est le cas ...
Un essai ...
Dans la feuille Synthese ...
Private Sub Worksheet_Change(ByVal Target As Range)
Dim DCol As Integer, DLig As Integer, X As Integer
Dim CL As Range
DCol = Cells(6, Columns.Count).End(xlToLeft).Column
DLig = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
If Not Intersect(Target, Range(Cells(7, "H"), Cells(DLig, DCol))) Is Nothing Then
Application.ScreenUpdating = False
For X = 9 To DCol
If Cells(6, X).Value = "REALISE" Then
DLig = Cells(Rows.Count, X).End(xlUp).Row
For Each CL In Range(Cells(7, X), Cells(DLig, X))
If (Cells(CL.Row, X - 1).Value - Cells(CL.Row, X).Value) * 100 > 10 Then
Cells(CL.Row, X).Interior.Color = 1057006
Else
If Cells(CL.Row, X).Value < Cells(CL.Row, X - 1).Value Then
Cells(CL.Row, X).Interior.Color = 168444
Else
Cells(CL.Row, X).Interior.Color = 5296274
End If
End If
Next CL
End If
Next X
End If
End Sub
ric
[/quote]