Bonjour
Bon en prenant ma douche ce matin je me suis dit que j'avais pris le truc à l'envers (comme quoi Jean ton truc nous occupe la tête
)
Donc voici la version je pense la plus rapide avec les variables tableau mais en en retirant pas des données mais en ajoutant celles qui ne sont pas doublées
Bonne journée à tous
Sub ordre1()
Dim MonTableauSource As Variant
Dim MonTableauSource2
Dim MonTableauCible()
Dim MaLigne As Long
Dim x As Long, y As Long, z As Long, i As Byte
Dim verif As Boolean
MaLigne = Worksheets('Ordre1').Range('A65536').End(xlUp).Row
MonTableauSource = Sheets('Ordre1').Range('A1
' & MaLigne)
MaLigne = Worksheets('Ordre0').Range('A65536').End(xlUp).Row
z = 0
MonTableauSource2 = Worksheets('ordre0').Range('A1
' & MaLigne)
For x = 1 To UBound(MonTableauSource)
verif = False
For y = 1 To UBound(MonTableauSource2)
If MonTableauSource(x, 1) = MonTableauSource2(y, 1) And MonTableauSource(x, 4) = MonTableauSource2(y, 4) And MonTableauSource(x, 8) = MonTableauSource2(y, 8) And MonTableauSource(x, 10) = MonTableauSource2(y, 10) And MonTableauSource(x, 12) = MonTableauSource2(y, 12) Then
verif = True
Exit For
End If
Next y
If verif = False Then
z = z + 1
ReDim Preserve MonTableauCible(1 To 16, 1 To z)
For i = 1 To 16
MonTableauCible(i, z) = MonTableauSource(x, i)
Next
End If
Next x
Worksheets('1').Range('A1
' & z) = Application.Transpose(MonTableauCible)
End Sub
EDITION : remplacer
par : P sans l'espace
Message édité par: Pascal76, à: 30/06/2005 10:39