melinette35
Messages postés68Date d'inscriptionmercredi 23 mai 2012StatutMembreDernière intervention27 juillet 2012
-
5 juin 2012 à 19:53
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018
-
7 juin 2012 à 10:29
Bonjour, suite à un nouveau problème haut en couleur, je reviens vers vous.
Je cherche à surligner dans le fichier referenceX les lignes qui sont pareilles que dans Nom1. Pour la ligne B colonne 1 à 9 surlignes.
Cependant voici les trois solutions que j'ai trouvées, et qui bien évidemment ne marchent pas:
- La solution entirerow qui surligne l'ensemble de la ligne, ce que je ne souhaite pas.
- la solution (commentaire dans macro); cel.Range(Cells(B, 1), Cells(B, 9)).Interior.ColorIndex = 25
avec cette ligne, j'ai bien le surlignage mais de la colonne 3 à 11, il y a donc un décalage de deux colonnes.
- Ma dernière solution: 'cel.offset(,-2).Range(Cells(B, 1), Cells(B,9)).Interior.ColorIndex = 26
avec cette ligne, j'ai bien les colonnes 1 à 9 de surligner. Cependant, les lignes ne correspondent plus (décalage de 2)
Voici mon problème illustrer:
Set referenceX = Workbooks(NomX).Worksheets("sheet1")
Y = referenceX.Range("B3").End(xlDown).Row ' on calcule le nombre de ligne dans le fichier référence
For B = 4 To Y
Set cel = Test.Range(Test.[C3], Test.Cells(Z, 3)).Find(referenceX.Cells(B, 7))
If Not cel Is Nothing Then
firstAddress = cel.Address
Do
Set cel = Test.Range(Test.[C3], Test.Cells(Z, 3)).FindNext(cel)
If cel.Offset(, 1) = referenceX.Cells(B, 8).Value Then
'cel.Range(Cells(B, 1), Cells(B, 9)).Interior.ColorIndex = 25
cel.EntireRow.Interior.ColorIndex = 26
'cel.offset(,-2).Range(Cells(B, 1), Cells(B, 9)).Interior.ColorIndex = 26
Else
End If
Loop While Not cel Is Nothing And cel.Address <> firstAddress
End If
Next B
J'espère avoir été claire dans mes explications, merci de me demander plus d'infos si besoin.
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 7 juin 2012 à 10:29
Etonnant !
et qu'avais-dit ?
mercredi 6 juin 2012 à 07:32:03
Attention, hein :
un range se définit par une cellule de départ cells(x0,y0) et une cellule de fin cells(x1,y1)
=>>>
Cells(x0,y0) et cells(x1,y1) concernent la feuille active et ne sont pas :
cel.cells(x0,0) et cel.cells(x1,y1)
Ceci étant dit : je vois maintenant exactement ce que tu voulais faire.
Je reviens donc cet après-midi avec un code à exécution nettement plus rapide. Tu verras.
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ