Suppression de doublons contenu dans une ligne

13q-doublons.xlsm (20.52 Ko)

Bonjour, je souhaite supprimer les doublons par ligne.

J'ai mis le jeu de données dans une première feuille, ce que je souhaite obtenir dans une deuxième et ce que j'obtiens pour le moment dans une troisième. N'hésitez pas à me questionner.

Merci pour votre aide

bonjour juSuGar

Sub suppdouble()
     With Sheets("Données")
          lastRow = .Cells(Rows.Count, "C").End(xlUp).Row     ' Trouver la dernière ligne dans la feuille
          For j = 2 To lastRow              ' Commencer à la ligne 2 pour ignorer les en-têtes
                 k = .Cells(j, Columns.Count).End(xlToLeft).Column 'dernière colonne de cette ligne
               For k0 = k To 5 Step -1
                    If WorksheetFunction.CountIf(.Cells(j, "E").Resize(, k0 - 4), .Cells(j, k0).Value) > 1 Then: .Cells(j, k0).Delete shift:=xlToLeft
               Next
          Next
     End With
End Sub

Merci beaucoup je venais justement d'essayer de faire une boucle inverse et ça a marché aussi de mon côté.

Sub suppdouble()

    ' Trouver la dernière ligne dans la feuille
    lastRow = Cells(Rows.Count, "C").End(xlUp).Row

     For j = 2 To lastRow ' Commencer à la ligne 2 pour ignorer les en-têtes
         ' Définir la plage de DT pour l'affaire en cours
         Set dtRange = Range(Cells(j, "D"), Cells(j, Cells(j, Columns.Count).End(xlToLeft).Column))

         ' Parcourir chaque cellule de la plage
         For i = dtRange.Cells.Count To 1 Step -1
            Set dtCell = dtRange.Cells(i)
            If Not IsEmpty(dtCell.Value) Then
                ' Vérifier si la valeur du DT existe déjà dans la plage de DT (sauf la cellule en cours)
                If Application.WorksheetFunction.CountIf(dtRange, dtCell.Value) > 1 Then
                    dtCell.Delete Shift:=xlShiftToLeft
                End If
            End If
         Next i
     Next j

End Sub

Merci encore

Rechercher des sujets similaires à "suppression doublons contenu ligne"