surligner en jaune les lignes de résultat d'une macro dans une autre feuille

dmariko

XLDnaute Nouveau
Bonjour à Tous,

Je souhaite executer des macros de comparaisons d'une feuille sur l'autre dans un workbook, afin que les matchs dans la feuille d'arrivée soient surlignés en jaune ainsi que la ligne à laquelle ils appartiennent. Il faut que ce soit une macro et pas une MFC car je copie colle les feuilles à partir d'exports csv tous les jours et donc j'écrase le contenu à chaque fois.



J'ai tenté cette approche très msdn:
après selection d'une plage de données sur la feuille REQ je lance :

Sub Find_Matches()
Dim CompareRange As Variant, x As Variant, y As Variant

Set CompareRange = Worksheets("REQ").Range("A1:A600")

For Each x In Selection
For Each y In CompareRange
If x = y Then y.Offset(0, 0) = vbYellow
Next y
Next x
End Sub

en espérant que les variables correspondantes au moins seront surlignées en jaune dans la feuille OVERALL mais évidemment ca plante, il me manqué la définition de l'objet qui aura la variable y comme propriété ? Ou quoi ?
Et comment demander que la ligne entière soit surlignée à partir de la variable correspondante ? Définir un pointeur ? Appeler l'objet par sa valeur ? Comment ?

Toute idée sera la bienvenue...

Merci par avance aux éventuels contributeurs !
 

Pièces jointes

  • Test.xlsm
    22 KB · Affichages: 48
  • Test.xlsm
    22 KB · Affichages: 52
  • Test.xlsm
    22 KB · Affichages: 55

Lolote83

XLDnaute Barbatruc
Re : surligner en jaune les lignes de résultat d'une macro dans une autre feuille

Salut,
Pas sur d'avoir tout compris.
Peux être çà alors en faisant la sélection sur l'onglet OVERALL (colonne A seulement)
Code:
Sub Find_Matches()
    Dim CompareRange As Variant, x As Variant, y As Variant
    Set CompareRange = Worksheets("REQ").Range("A1:A600")
    For Each x In Selection
        For Each y In CompareRange
            If x = y Then Range(Cells(x.Row, "A"), Cells(x.Row, "E")).Interior.ColorIndex = 6
        Next y
    Next x
End Sub
Cordialement
Lolote83
 

dmariko

XLDnaute Nouveau
Re : surligner en jaune les lignes de résultat d'une macro dans une autre feuille

Pardon de répondre aussi tardivement,
oui, effectivement, ca m'aide déja beaucoup,

Dans mon fichier réel j'ai plus de 2000 lignes dans OVERALL et je ne sais pas ou sont les références dont j'ai besoin. Ce que je cherche à faire c'est selectioner une dizaine de cellules dans QUOT ou REQ, qui auront elles aussi des centaine de références, pour que la macro me montre ou sont les correspondances dans OVERALL. Donc je dois impérativement faire ma séléction sur une autre feuille que la feuille d'arrivée ?
Ce que je dois trouver c'est la méthode qui indique comment surligner la cellule ou la plage de cellule dans laquelle se trouve la correspondance x = y, ou au moins surligner la cellule ou se trouve la valeur de x= y, dans une autre feuille ?
Une autre idée...?

Merci quoi qu'il en soit, avec ce que tu m'as donné j'ai déja le début de mon contrôle
 

dmariko

XLDnaute Nouveau
Re : surligner en jaune les lignes de résultat d'une macro dans une autre feuille

Ca y est , j'ai compris ....:rolleyes:
Code:
Sub Find_Matches_OVERALL()
    Dim CompareRange As Variant, x As Variant, y As Variant
    Set CompareRange = Worksheets("OVERALL").Range("A1:A600")
    For Each x In Selection
        For Each y In CompareRange
            If x = y Then CompareRange.Cells(y.Row, "A").Interior.ColorIndex = 6
        Next y
    Next x
End Sub

Voilavoila, me reste plus qu'a trouver comment colorer la ligne au lieu de la cellule..
 

Discussions similaires

Statistiques des forums

Discussions
312 104
Messages
2 085 332
Membres
102 863
dernier inscrit
Selemani