Bonjour BsAlv,
Bonjour Ottema et
Une petite présentation ICI serait la bienvenue
Si vous ne l'avez pas encore fait, je vous invite à lire la charte du forum [A LIRE AVANT DE POSTER]
qui vous aidera dans vos demandes et réponses sur ce forum
Ainsi que sur les fonctionnalités (Nouveau Forum au bas de page notamment)
Merci de votre participation
Concernant votre problématique et si j'ai bien compris, voici un code qui devrait faire l'affaire
' Utilisation d'une collection pour éviter les doublons
Sub SuppressionDoublon()
Dim dLig As Long, Lig As Long
Dim MaCol As Collection
Dim sKey As String
Dim MonTab() As String
Dim Ind As Long
'
Set MaCol = New Collection
' Dernière ligne remplie de la colonne A
dLig = Range("A" & Rows.Count).End(xlUp).Row
' Parcourir les lignes
For Lig = 2 To dLig
sKey = Range("A" & Lig) & "_" & Range("B" & Lig)
MaCol.Add sKey, sKey
Next Lig
' Dernière ligne remplie de la colonne D
dLig = Range("D" & Rows.Count).End(xlUp).Row
' Parcourir les lignes, ne permet pas les doublons
On Error Resume Next
For Lig = 2 To dLig
sKey = Range("D" & Lig) & "_" & Range("E" & Lig)
MaCol.Add sKey, sKey
Next Lig
On Error GoTo 0
' retour des valeurs
Dim sTmp As String
For Ind = 1 To MaCol.Count
ReDim Preserve MonTab(1, Ind)
sTmp = Left(MaCol.Item(Ind), InStr(1, MaCol.Item(Ind), "_") - 1)
MonTab(0, Ind) = sTmp
sTmp = Mid(MaCol.Item(Ind), InStr(1, MaCol.Item(Ind), "_") + 1)
MonTab(1, Ind) = sTmp
Next Ind
' Effacer les colonnes D et E
' Range("D:E").ClearContents
' Inscrire le nouveau tableau en G1 pour exemple et test
Range("G1").Resize(Ind, 2) = Application.Transpose(MonTab)
End Sub
En revanche dans votre fichier vous avez des espaces à supprimer à la fin de certains termes
A+