Bonjour
Cette question revient souvent.
J'ai bidouillé un truc (à adapter à ton fichier) qui fonctionne chez moi.
Mais je ne suis pas répondeur ici. Et je ne serais pas capable de
l'adapter à ton cas.
Si tu touche un peu le VBA, tu comprendras le principe.
Bonne chance.
Sub FiltreCouleur()
Dim couleur, colonne, position
Set position = ActiveCell
If ActiveCell.Row < 3 Then [a65536].End(xlUp).Select: Exit Sub
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
If ActiveSheet.DrawingObjects("BoutCoul").Caption = "FILTRE COULEUR" Then
ActiveSheet.DrawingObjects("BoutCoul").Caption = "FILTRER COULEUR"
ActiveSheet.DrawingObjects("BoutCoul").ShapeRange.Fill.ForeColor.SchemeColor
= 22
Range("A2").AutoFilter field:=5, Criteria1:="<>"""""
ActiveWindow.FreezePanes = False
Application.Goto Reference:="R3C2"
ActiveWindow.FreezePanes = True
[a65536].End(xlUp).Select
Range("O1").FormulaLocal = "=N1/U1"
Range("Q1").FormulaLocal = "=P1/U1"
Range("C2") = "Nbre"
Application.EnableEvents = True
Application.ScreenUpdating = True
ActiveCell.Select
Application.Calculation = xlAutomatic
Exit Sub
End If
colonne = ActiveCell.Column
couleur = ActiveCell.Interior.ColorIndex
Application.ScreenUpdating = False
Range("A65536").End(xlUp).Offset(0, colonne - 1).Select
If couleur > 0 Then
Range("O1") = "=N1/I1": Range("Q1") = "=P1/G1": Range("S1") = "Sur I"
ActiveSheet.DrawingObjects("BoutCoul").ShapeRange.Fill.ForeColor.SchemeColor
= couleur + 7 '3 'vert
Else
Range("O1") = "=N1/U1": Range("Q1") = "=P1/U1": Range("S1") = "Sur U"
ActiveSheet.DrawingObjects("BoutCoul").ShapeRange.Fill.ForeColor.SchemeColor
= 9
End If
ActiveSheet.DrawingObjects("BoutCoul").Caption = "FILTRE COULEUR"
Do
If ActiveCell.Interior.ColorIndex = couleur Then
ActiveCell.Offset(-1, 0).Select
If ActiveCell.Row = 2 Then
Application.ScreenUpdating = True
[a65536].End(xlUp).Select
position.Select
Application.Calculation = xlCalculationAutomatic
Application.EnableEvents = True
Exit Sub
End If
Else
ActiveCell.EntireRow.Hidden = True
ActiveCell.Offset(-1, 0).Select
If ActiveCell.Row = 2 Then
Application.ScreenUpdating = True
position.Select
Exit Do
End If
End If
Loop
Application.ScreenUpdating = True
ActiveWindow.LargeScroll Down:=-5
Application.EnableEvents = True
Range("O1").FormulaLocal = "=N1/I1"
Range("Q1").FormulaLocal = "=P1/G1"
position.Select
'Range("C2").FormulaR1C1 = "ÊlcSpe(R3C:R[65000]C)"
Application.Calculation = xlCalculationAutomatic
End Sub
"suze32" a écrit dans le message de news:
Bonjour à tous,
J'ai déjà posé un post ce matin, mais je me suit mal expliqué don je
réitère ma demande.
J'ai une base de donnée ou j'ai coloré des lignes entières par type,
et j'aimerai avoir une macro ou une fonction me permettant de faire un
tri de mes cellules par couleurs.
Je vous remercie de vos réponses, bonne aprèm
Bonjour
Cette question revient souvent.
J'ai bidouillé un truc (à adapter à ton fichier) qui fonctionne chez moi.
Mais je ne suis pas répondeur ici. Et je ne serais pas capable de
l'adapter à ton cas.
Si tu touche un peu le VBA, tu comprendras le principe.
Bonne chance.
Sub FiltreCouleur()
Dim couleur, colonne, position
Set position = ActiveCell
If ActiveCell.Row < 3 Then [a65536].End(xlUp).Select: Exit Sub
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
If ActiveSheet.DrawingObjects("BoutCoul").Caption = "FILTRE COULEUR" Then
ActiveSheet.DrawingObjects("BoutCoul").Caption = "FILTRER COULEUR"
ActiveSheet.DrawingObjects("BoutCoul").ShapeRange.Fill.ForeColor.SchemeColor
= 22
Range("A2").AutoFilter field:=5, Criteria1:="<>"""""
ActiveWindow.FreezePanes = False
Application.Goto Reference:="R3C2"
ActiveWindow.FreezePanes = True
[a65536].End(xlUp).Select
Range("O1").FormulaLocal = "=N1/U1"
Range("Q1").FormulaLocal = "=P1/U1"
Range("C2") = "Nbre"
Application.EnableEvents = True
Application.ScreenUpdating = True
ActiveCell.Select
Application.Calculation = xlAutomatic
Exit Sub
End If
colonne = ActiveCell.Column
couleur = ActiveCell.Interior.ColorIndex
Application.ScreenUpdating = False
Range("A65536").End(xlUp).Offset(0, colonne - 1).Select
If couleur > 0 Then
Range("O1") = "=N1/I1": Range("Q1") = "=P1/G1": Range("S1") = "Sur I"
ActiveSheet.DrawingObjects("BoutCoul").ShapeRange.Fill.ForeColor.SchemeColor
= couleur + 7 '3 'vert
Else
Range("O1") = "=N1/U1": Range("Q1") = "=P1/U1": Range("S1") = "Sur U"
ActiveSheet.DrawingObjects("BoutCoul").ShapeRange.Fill.ForeColor.SchemeColor
= 9
End If
ActiveSheet.DrawingObjects("BoutCoul").Caption = "FILTRE COULEUR"
Do
If ActiveCell.Interior.ColorIndex = couleur Then
ActiveCell.Offset(-1, 0).Select
If ActiveCell.Row = 2 Then
Application.ScreenUpdating = True
[a65536].End(xlUp).Select
position.Select
Application.Calculation = xlCalculationAutomatic
Application.EnableEvents = True
Exit Sub
End If
Else
ActiveCell.EntireRow.Hidden = True
ActiveCell.Offset(-1, 0).Select
If ActiveCell.Row = 2 Then
Application.ScreenUpdating = True
position.Select
Exit Do
End If
End If
Loop
Application.ScreenUpdating = True
ActiveWindow.LargeScroll Down:=-5
Application.EnableEvents = True
Range("O1").FormulaLocal = "=N1/I1"
Range("Q1").FormulaLocal = "=P1/G1"
position.Select
'Range("C2").FormulaR1C1 = "ÊlcSpe(R3C:R[65000]C)"
Application.Calculation = xlCalculationAutomatic
End Sub
"suze32" <suzescobar@gmail.com> a écrit dans le message de news:
462f3c75-6001-4734-a086-b59789265938@g31g2000yqc.googlegroups.com...
Bonjour à tous,
J'ai déjà posé un post ce matin, mais je me suit mal expliqué don je
réitère ma demande.
J'ai une base de donnée ou j'ai coloré des lignes entières par type,
et j'aimerai avoir une macro ou une fonction me permettant de faire un
tri de mes cellules par couleurs.
Je vous remercie de vos réponses, bonne aprèm
Bonjour
Cette question revient souvent.
J'ai bidouillé un truc (à adapter à ton fichier) qui fonctionne chez moi.
Mais je ne suis pas répondeur ici. Et je ne serais pas capable de
l'adapter à ton cas.
Si tu touche un peu le VBA, tu comprendras le principe.
Bonne chance.
Sub FiltreCouleur()
Dim couleur, colonne, position
Set position = ActiveCell
If ActiveCell.Row < 3 Then [a65536].End(xlUp).Select: Exit Sub
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
If ActiveSheet.DrawingObjects("BoutCoul").Caption = "FILTRE COULEUR" Then
ActiveSheet.DrawingObjects("BoutCoul").Caption = "FILTRER COULEUR"
ActiveSheet.DrawingObjects("BoutCoul").ShapeRange.Fill.ForeColor.SchemeColor
= 22
Range("A2").AutoFilter field:=5, Criteria1:="<>"""""
ActiveWindow.FreezePanes = False
Application.Goto Reference:="R3C2"
ActiveWindow.FreezePanes = True
[a65536].End(xlUp).Select
Range("O1").FormulaLocal = "=N1/U1"
Range("Q1").FormulaLocal = "=P1/U1"
Range("C2") = "Nbre"
Application.EnableEvents = True
Application.ScreenUpdating = True
ActiveCell.Select
Application.Calculation = xlAutomatic
Exit Sub
End If
colonne = ActiveCell.Column
couleur = ActiveCell.Interior.ColorIndex
Application.ScreenUpdating = False
Range("A65536").End(xlUp).Offset(0, colonne - 1).Select
If couleur > 0 Then
Range("O1") = "=N1/I1": Range("Q1") = "=P1/G1": Range("S1") = "Sur I"
ActiveSheet.DrawingObjects("BoutCoul").ShapeRange.Fill.ForeColor.SchemeColor
= couleur + 7 '3 'vert
Else
Range("O1") = "=N1/U1": Range("Q1") = "=P1/U1": Range("S1") = "Sur U"
ActiveSheet.DrawingObjects("BoutCoul").ShapeRange.Fill.ForeColor.SchemeColor
= 9
End If
ActiveSheet.DrawingObjects("BoutCoul").Caption = "FILTRE COULEUR"
Do
If ActiveCell.Interior.ColorIndex = couleur Then
ActiveCell.Offset(-1, 0).Select
If ActiveCell.Row = 2 Then
Application.ScreenUpdating = True
[a65536].End(xlUp).Select
position.Select
Application.Calculation = xlCalculationAutomatic
Application.EnableEvents = True
Exit Sub
End If
Else
ActiveCell.EntireRow.Hidden = True
ActiveCell.Offset(-1, 0).Select
If ActiveCell.Row = 2 Then
Application.ScreenUpdating = True
position.Select
Exit Do
End If
End If
Loop
Application.ScreenUpdating = True
ActiveWindow.LargeScroll Down:=-5
Application.EnableEvents = True
Range("O1").FormulaLocal = "=N1/I1"
Range("Q1").FormulaLocal = "=P1/G1"
position.Select
'Range("C2").FormulaR1C1 = "ÊlcSpe(R3C:R[65000]C)"
Application.Calculation = xlCalculationAutomatic
End Sub
"suze32" a écrit dans le message de news:
Bonjour à tous,
J'ai déjà posé un post ce matin, mais je me suit mal expliqué don je
réitère ma demande.
J'ai une base de donnée ou j'ai coloré des lignes entières par type,
et j'aimerai avoir une macro ou une fonction me permettant de faire un
tri de mes cellules par couleurs.
Je vous remercie de vos réponses, bonne aprèm
Bonjour à tous,
J'ai déjà posé un post ce matin, mais je me suit mal expliqué don je
réitère ma demande.
J'ai une base de donnée ou j'ai coloré des lignes entières par type ,
et j'aimerai avoir une macro ou une fonction me permettant de faire un
tri de mes cellules par couleurs.
Je vous remercie de vos réponses, bonne aprèm
Bonjour à tous,
J'ai déjà posé un post ce matin, mais je me suit mal expliqué don je
réitère ma demande.
J'ai une base de donnée ou j'ai coloré des lignes entières par type ,
et j'aimerai avoir une macro ou une fonction me permettant de faire un
tri de mes cellules par couleurs.
Je vous remercie de vos réponses, bonne aprèm
Bonjour à tous,
J'ai déjà posé un post ce matin, mais je me suit mal expliqué don je
réitère ma demande.
J'ai une base de donnée ou j'ai coloré des lignes entières par type ,
et j'aimerai avoir une macro ou une fonction me permettant de faire un
tri de mes cellules par couleurs.
Je vous remercie de vos réponses, bonne aprèm