Bonjour,
Je fais du VBA depuis peu et je n'arrive pas optimiser mon code.
Je cherche à supprimer les doublons tout en gardant les différences entre les lignes de doublons. C'est à dire que les doublons ont tous 4 cases de différentes.
Lorsque je dédoublonne je récupère les 4 cases et je les mets à la fin du code. Cela fonctionne pour environ 200/300 lignes c'est assez rapide mais mon fchier fait presque 6000 lignes et là Excel plante et ne répond plus...
Je fais du VBA depuis peu et je n'arrive pas optimiser mon code.
Je cherche à supprimer les doublons tout en gardant les différences entre les lignes de doublons. C'est à dire que les doublons ont tous 4 cases de différentes.
Lorsque je dédoublonne je récupère les 4 cases et je les mets à la fin du code. Cela fonctionne pour environ 200/300 lignes c'est assez rapide mais mon fchier fait presque 6000 lignes et là Excel plante et ne répond plus...
Code:
Sub Concatene()
Dim i As Integer, Id As Long
Dim e As Integer, y As Integer
Sheets("Feuil1").Select
For i = Range("A1").SpecialCells(xlCellTypeLastCell).Row To 1 Step -1
' Id = LCase(Cells(i, 1).Value)
Id = Cells(i, 1)
'si Id différent de vide alors
If Id > 0 Then
'Compare si autre ligne méme texte
For e = i - 1 To 1 Step -1
' Debug.Print (Cells(e, 1))
'If LCase(Cells(e, 1)) = Id Then
If Cells(e, 1) = Id Then
'il y a un Doublon
' Debug.Print ("OK")
'on déplace les valeurs en L
Cells(e, 14) = Cells(i, 12)
'on déplace les valeurs en M
Cells(e, 15) = Cells(i, 13)
'Supprimé la ligne
Rows(i).Delete
End If
Next e
End If
Next i
End Sub