A l'aide SVP Macro pour comparer 2 plage de valeurs
A l'aide SVP Macro pour comparer 2 plage de valeurs - VB/VBA/VBS - Programmation
MarshPosté le 07-03-2005 à 13:41:36
Bonjour, je souhaite comparer 2 colonnes b et d de valeurs dans une même feille excel. Si les 2 cellules sont égales, je souhaite mettre dans la cellule a correspondante, la valeur de la cellule d . Les colonnes a et c doivent avoir les memes valeurs . voici mon code: Sub Comparaison() Application.ScreenUpdating = False Dim Collection1 As New Collection, collection2 As New Collection Dim Cellule1 As Range, Cellule2 As Range Dim Element1 As Object, Element2 As Object Dim Time1 As Date, Time2 As Date Time1 = Now()
Workbooks("final.xls" ).Activate For Each Cellule1 In Range("b1:b300" ) Collection1.Add Cellule1 Next Cellule1
Workbooks("final.xls" ).Activate For Each Cellule2 In Range("d1:d1430" ) collection2.Add Cellule2 Next Cellule2
For Each Element1 In Collection1
For Each Element2 In collection2
If Element1 <> Element2 Then Element1.Font.Color = vbRed Else Element1.Font.Color = vbBlack
Exit For End If
Next Element2
Next Element1 Time2 = Now()
Debug.Print "Test collection :" & Format$(Time2 - Time1, "hh:mm:ss" ) Application.ScreenUpdating = True End Sub
Message édité par hmahadi le 07-03-2005 à 14:10:14
3 topics pour un même sujet... C'est pour recevoir plus de réponses?????
--------------- Si on vous donne une info qui marche, DITES-LE!!!! ------ Si vous trouvez seul, AUSSI, votre solution peut servir à d'autres! ------ Je dois la majorité de mes connaissances à mes erreurs!
Marsh Posté le 07-03-2005 à 13:41:36
Bonjour, je souhaite comparer 2 colonnes b et d de valeurs dans une même feille excel. Si les 2 cellules sont égales, je souhaite mettre dans la cellule a correspondante, la valeur de la cellule d . Les colonnes a et c doivent avoir les memes valeurs .
voici mon code:
Sub Comparaison()
Application.ScreenUpdating = False
Dim Collection1 As New Collection, collection2 As New Collection
Dim Cellule1 As Range, Cellule2 As Range
Dim Element1 As Object, Element2 As Object
Dim Time1 As Date, Time2 As Date
Time1 = Now()
Workbooks("final.xls" ).Activate
For Each Cellule1 In Range("b1:b300" )
Collection1.Add Cellule1
Next Cellule1
Workbooks("final.xls" ).Activate
For Each Cellule2 In Range("d1:d1430" )
collection2.Add Cellule2
Next Cellule2
For Each Element1 In Collection1
For Each Element2 In collection2
If Element1 <> Element2 Then
Element1.Font.Color = vbRed
Else
Element1.Font.Color = vbBlack
Exit For
End If
Next Element2
Next Element1
Time2 = Now()
Debug.Print "Test collection :" & Format$(Time2 - Time1, "hh:mm:ss" )
Application.ScreenUpdating = True
End Sub
Message édité par hmahadi le 07-03-2005 à 14:10:14