L
lestan
Guest
Bonjour tout le monde,
voilà ma galère je veux comparer des cellules de deux classeurs différents et mémoriser ces cellules si les valeurs sont pareilles parce que dans une deuxième macro si les deux cellules de mon tableau sont pareils je vais comparer les quatre lignes suivantes et si elles sont pas pareils pas de comparaison. J'ai essayé avec une macro avec des collections mais ça marche pas quand j'essai de copier l'élement de ma collection ça copie rien.
Merci d'avance pour votre aide en plus j avoue je suis un peu nul
Sub essai()
Application.ScreenUpdating = False
Dim Collection1 As New Collection, collection2 As New Collection, collection3 As New Collection, collection4 As New Collection
Dim Cellule1 As Range, Cellule2 As Range
Dim Element1 As Object, Element2 As Object, Element3 As Object
Dim Time1 As Date, Time2 As Date
Time1 = Now()
Workbooks("macro selection.xls").Activate
Worksheets("Feuil2").Activate
For Each Cellule1 In Range("F1:F100")
Collection1.Add Cellule1
Next Cellule1
Workbooks("tableau référence.xls").Activate
Worksheets("Feuil1").Activate
For Each Cellule2 In Range("B19:B500")
collection2.Add Cellule2
Next Cellule2
For Each Element1 In Collection1
For Each Element2 In collection2
If Element1.Value = Element2.Value Then
collection3.Add Element1
collection4.Add Element2
Else
Element1.Font.Color = vbGreen
'Exit For
End If
Next Element2
Next Element1
Workbooks("macro selection.xls").Activate
Worksheets("Feuil2").Activate
For Each Element3 In collection3
Element3.Copy
Worksheets(2).Range("k" & 1).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone
End
Next Element3
Time2 = Now()
Debug.Print "Test collection :" & Format$(Time2 - Time1, "hh:mm:ss")
Application.ScreenUpdating = True
End Sub
voilà ma galère je veux comparer des cellules de deux classeurs différents et mémoriser ces cellules si les valeurs sont pareilles parce que dans une deuxième macro si les deux cellules de mon tableau sont pareils je vais comparer les quatre lignes suivantes et si elles sont pas pareils pas de comparaison. J'ai essayé avec une macro avec des collections mais ça marche pas quand j'essai de copier l'élement de ma collection ça copie rien.
Merci d'avance pour votre aide en plus j avoue je suis un peu nul
Sub essai()
Application.ScreenUpdating = False
Dim Collection1 As New Collection, collection2 As New Collection, collection3 As New Collection, collection4 As New Collection
Dim Cellule1 As Range, Cellule2 As Range
Dim Element1 As Object, Element2 As Object, Element3 As Object
Dim Time1 As Date, Time2 As Date
Time1 = Now()
Workbooks("macro selection.xls").Activate
Worksheets("Feuil2").Activate
For Each Cellule1 In Range("F1:F100")
Collection1.Add Cellule1
Next Cellule1
Workbooks("tableau référence.xls").Activate
Worksheets("Feuil1").Activate
For Each Cellule2 In Range("B19:B500")
collection2.Add Cellule2
Next Cellule2
For Each Element1 In Collection1
For Each Element2 In collection2
If Element1.Value = Element2.Value Then
collection3.Add Element1
collection4.Add Element2
Else
Element1.Font.Color = vbGreen
'Exit For
End If
Next Element2
Next Element1
Workbooks("macro selection.xls").Activate
Worksheets("Feuil2").Activate
For Each Element3 In collection3
Element3.Copy
Worksheets(2).Range("k" & 1).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone
End
Next Element3
Time2 = Now()
Debug.Print "Test collection :" & Format$(Time2 - Time1, "hh:mm:ss")
Application.ScreenUpdating = True
End Sub