Tri automatique selon valeur et couleur de cellule

Bonjour à tous,

Afin d'organiser du mieux possible la charge de travail d'un atelier d'usinage, je souhaiterai "trier" les produits restant à fabriquer par type d'opération et en fonction du délai.

Quotidiennement j’extrais (de l'ERP vers Excel) un tableau de production recensant l'ensemble des produits en fabrication, les temps alloués à chaque opération ainsi que le délai de livraison.

L'ERP attribue automatiquement la couleur VERTE à une opération finie (lorsqu'un opérateur a terminé et clôturé informatiquement cette opération), cependant le temps alloué à cette opération est toujours matérialisé. Il faut donc que je ne tienne pas compte des cellules VERTES.

Afin d'éclaircir et d'illustrer mes propos, j'ai synthétisé les données sous forme d'un exemple simple ci-joint.

Dans cet exemple :

  • les PRODUITS à fabriquer sont remplacés par les PIÈCES (Colonne B);
  • les OPÉRATIONS sont remplacées les TRAVAUX (Cellules D2, E2 et F2)

Les cellules vertes signifient que le TRAVAIL est réalisé et terminé.

Finalité :

Je souhaiterai pourvoir classer (dans un nouveau tableau) par type de TRAVAUX, les PIÈCES restant à faire en fonction du DÉLAI.

Exemple :

Pour le travail nommé "ÉLECTRICITÉ", je souhaiterai obtenir le tableau à droite sur le fichier joint.

Voilà, j'espère que j'ai été clair...

D'avance merci pour votre aide précieuse

Thomarius

S'il n'y a pas de solution, c'est qu'il n'y a pas de problème.

62classeur1.xlsx (10.10 Ko)

Salut Thomarius,

si j'ai bien compris...

Il te suffit de cliquer sur l'en-tête des travaux souhaités.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'
Application.ScreenUpdating = False
'
If Not Intersect(Target, Range("D2:F2")) Is Nothing Then
    iCol = Target.Column
    sCol = Split(Columns(iCol).Address(ColumnAbsolute:=False), ":")(1)
    iRow = Range("B" & Rows.Count).End(xlUp).Row
    Range("B3:G" & iRow).Sort key1:=Range("G3"), order1:=xlAscending, key2:=Range(sCol & 3), order2:=xlAscending
    '
    [L1] = UCase(Range(sCol & 2).Value)
    Range("L3:N" & iRow).ClearContents
    Range("L3:N" & iRow).Borders.LineStyle = xlLineStyleNone
    iLig = 2
    For x = 3 To iRow
        If Range(sCol & x).Interior.Color = RGB(255, 255, 255) Then
            iLig = iLig + 1
            Range("L" & iLig).Value = Range("B" & x).Value
            Range("M" & iLig).Value = Range("C" & x).Value
            Range("N" & iLig).Value = Range("G" & x).Value
        End If
    Next
    Range("L3:N" & iLig).Borders.LineStyle = xlContinuous
End If
'
Application.ScreenUpdating = True
'
End Sub

Bon travail!

A+

58pieces.xlsm (17.86 Ko)

Merci beaucoup curulis57,

En dehors du fait que cela fonctionne, j'ai compris la manip !!

Il me reste à l’adapter à mon besoin précis !!

Au top

Bonne journée.

Thomarius

curulis57,

J'ai bien réussi à adapter la macro à mon sujet.

Je souhaiterai y apporter une petite amélioration mais malgré plusieurs essais, je n'y arrive pas...

L'idée est la même, il faudrait en plus que viennent seulement ce classer les cellules dont la valeur est supérieure à 0.

Dans le fichier que tu m'as envoyé, en cliquant sur "eau" je souhaiterai donc retrouver dans le classement seulement les cellules supérieures à 0 et non vertes, c'est à dire : SDB 12 15/11/2017.

D'avance merci pour ton aide.

Thomarius

S'il n'y a pas de solution, c'est qu'il n'y a pas de problème.

Bonjour Thomarius,

ça, c'est trop facile pour que je te donne la réponse ainsi!

Puisque tu as trouvé la condition supplémentaire, il te suffit de l'intégrer... là!

For x = 3 To iRow

If Range(sCol & x).Interior.Color = RGB(255, 255, 255) Then

iLig = iLig + 1

Range("L" & iLig).Value = Range("B" & x).Value

Range("M" & iLig).Value = Range("C" & x).Value

Range("N" & iLig).Value = Range("G" & x).Value

End If

Next

A+

je le sais bien mais je dois mal me débrouiller car ce n'est pas concluant...

Bonsoir Thomarius,

tu aurais pu trouver...

If Range(sCol & x).Interior.Color = RGB(255, 255, 255) And Range(sCol & x).Value > 0 Then

Non?

A+

Effectivement.

A vouloir chercher compliqué...

Merci beaucoup

A+

Rechercher des sujets similaires à "tri automatique valeur couleur"