VBA comparer 2 wkb meme valeur même couleur ligne

Fermé
JaneJudith Messages postés 2 Date d'inscription samedi 8 septembre 2018 Statut Membre Dernière intervention 8 septembre 2018 - Modifié le 8 sept. 2018 à 01:40
JaneJudith Messages postés 2 Date d'inscription samedi 8 septembre 2018 Statut Membre Dernière intervention 8 septembre 2018 - 8 sept. 2018 à 13:57
Bonjour,

Chaque jour on fait une extraction d'articles urgents (numeros dans colonne F) d'une base de donnée, la taille du tableau peut varier d'un jour sur l'autre. Les lignes traitées sont manuellement mises en couleur chaque jour. Le lendemain dans la nouvelle extraction, j'aimerais que les articles traités la veille (quelques lignes mises manuellement en couleur selon l'équipe) et toujours en cours (dont présents dans la nouvelle liste) soient mis en valeur avec leur ligne colorée.
L'idéal serait que le classeur qui comporte la macro soit dédié au transfert et permettre d'ouvrir le classseur 1 puis le 2, de faire l'effet miroir pour les valeurs en F similaires avec la couleur si la ligne est colorée et qu'elle indique le nombre d'articles communs et le nombre d'articles aux lignes colorées commun, le tout en évitant d'écraser par erreur les lignes colorées du classeur de la veille. Mais ce n'est pas obligé.
Pour l'instant j'ai ça:
Sub chercherCellule()
Dim last_row_wkAr As Range
Dim last_row_wkDep As Range
Dim next_row_target As Range

Set last_row_wkAr = ws_wkAr.Cells(Application.Rows.Count, 1).End(vbUp).EntireRow
Set last_row_wkDep = ws_wkDep.Cells(Application.Rows.Count, 1).End(vbUp).EntireRow
Set next_row_target = ThisWorbook.Worksheets(1).Cells(Application.Rows.Count, 1).End(vbUp).Offset(1).EntireRow

Dim row_wkAr As Range
Dim row_wkDep As Range

For Each row_wkAr In ws_wkAr.Range(ws_wkAr.Cells(4, 6), last_row_wkAr)
For Each row_wkDep In ws_wkDep.Range(ws_wkAr.Cells(4, 6), last_row_wkAr).Rows
If row_wkAr.Cells(1).Value = row_wkDep.Cells(1).Value Then

row_wkAr.Cells(1).Interior.Color = row_wkDep.Cells(1).Interior.Color

Set next_row_target = next_row_target.Offset(1)
End If

Next
Next

End Sub

Voilà le type de liste :

Est-ce possible?
Merci d'avance
A voir également:

1 réponse

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
Modifié le 8 sept. 2018 à 08:57
Bonjour,

Sur les classeurs "source", comment sont gérées les couleurs après le transfert: effacement des couleurs ? si oui, par qui et comment ?
combien de lignes dans les classeurs sources ?
Où sont situ&s les classeurs sources et le classeur cible ?
Faut il vérifier que les classeurs source sont à la date du jour ?

0
JaneJudith Messages postés 2 Date d'inscription samedi 8 septembre 2018 Statut Membre Dernière intervention 8 septembre 2018
Modifié le 8 sept. 2018 à 14:30
Merci beaucoup pour votre réponse.

Sur les classeurs "source", comment sont gérées les couleurs après le transfert: effacement des couleurs ? si oui, par qui et comment ?
Les couleurs ne sont pas gérées sur les classeurs "source". Ils arrivent sans couleur. Ce sont les assistants qui surlignent manuellement les articles qu'ils traitent au fur et à mesure.

combien de lignes dans les classeurs sources ?
Le nombre de lignes est aléatoire, cela change tous les jours en fonction des arrivages et des urgences.

Où sont situ&s les classeurs sources et le classeur cible ?
Les classeurs source et le classeur cible se trouvent dans le même dossier. Chaque jour un nouveau classeur est généré et déposé dans ce dossier. Il peut arriver qu'un jour il n'y en ai pas et qu'il y en ait un nouveau le jour d'après.

Faut il vérifier que les classeurs source sont à la date du jour ?
Non, je ne penses pas qu'il y ait besoin de vérifier. Cette partie peut se faire manuellement: Le Jour J, sélectionner le classeur du Jour J et sélectionner le classeur du jour J-1 (ou J-2 si aucun classeur n'a été généré la veille). Les Week-end normalement aucun classeur n'est généré, mais c'est arrivé occasionnellement.

Actuellement, chaque jour, on reprends manuellement le classeur J-n (dernier généré avant J) qui à été partiellement coloré et on cherche un par un si les articles colorés existent dans le nouveau classeur J généré (par leur numero en colonne F), et on recolore les lignes à l'identique. D'autres lignes seront colorées dans la journée par les équipes au fur et à mesure que les articles non colorés sont traités.

C'est cette tache que je souhaiterais automatiser.

N.B. Un article coloré peut changer d'état (colonne M) et donc être traité dans le futur par une autre équipe avec une autre couleur. Mais nous ne tenons compte que de la couleur du fichier précédent, pas avant et nous ne recherchons les numéros d'articles que dans j-n (1 seul classeur, le dernier généré avant jour J).

Liste J-n déjà colorée


Liste J du jour vierge à comparer, colorer à l'identique lignes colorées dans J-n
0