Mise sur une ligne de pseudo-doublons

  • Initiateur de la discussion Initiateur de la discussion Berg1664
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Berg1664

XLDnaute Occasionnel
Bonjour,

Voici un problème pus coriace qu’il n’en n’a l’air et qui dépasse mes modestes compétences :

Dans mon tableau certaines lignes sont identiques à la dernière colonne près, je souhaiterais ne conserver qu’une seule de ces lignes presque identiques en renvoyant les différentes valeurs de la dernière colonne dans des colonnes supplémentairs en fin de tableau crées à cet effet

Admiratif devant le talent et la connaissance de certains membres de la communauté je suis confiant.

Voir exemple en pj (avant/ après)

Merci
Cordialement
Berg1664
 

Pièces jointes

Re : Mise sur une ligne de pseudo-doublons

Bonjour et merci à vous

Précisions pour TOTOTITI la colonne E indique la présence de doublon sur la colonne A, c'est donc bien normal qu'elle soit à zéro

PierreJean, ta solution est super,bravo, j'ai cependant une précision à te demander pour l'adapter à mon besoin.

Que faut il modifier dans tes lignes de codes pour que la macro continue à fonctionner si on insére "x" colonnes avant la colonne P, 6 colonnes par exemple, je n'ai pas réussi de manière intuitive

Encore merci j'ai repris le contenu des lignes de ta macro :

Sub test()
Dim n As Integer
Dim m As Integer
Dim x As Integer
Dim id1 As String
Dim id2 As String
Application.ScreenUpdating = False
For n = 4 To Range("A4").End(xlDown).Row
For m = n + 1 To Range("A4").End(xlDown).Row
For x = 1 To 5
id1 = id1 & Cells(n, x).Value
id2 = id2 & Cells(m, x).Value
Next x
If id2 = id1 Then
Cells(3, Cells(n, 256).End(xlToLeft).Column + 1) = Chr(Asc(Cells(3, Cells(n, 256).End(xlToLeft).Column)) + 1)
Cells(n, Cells(n, 256).End(xlToLeft).Column + 1) = Cells(m, 6)
Cells(m, 6).Interior.ColorIndex = 3
End If
id1 = ""
id2 = ""
Next m
Next n
For n = Range("F65536").End(xlUp).Row To 1 Step -1
If Range("F" & n).Interior.ColorIndex = 3 Then Rows(n).Delete
Next n
Range("C1") = "APRES"
Application.ScreenUpdating = True
End Sub
 
Re : Mise sur une ligne de pseudo-doublons

Re

Qu'y a-t-il dans ces 6 colonnes ??
Doivent elles etre controlées au même titre que les precedentes ?

Rappel :Un petit fichier nous en dit toujours plus qu'une explication (ou les sous-entendus, evidents pour le redacteur, ne le sont que rarement pour le lecteur)
 
Re : Mise sur une ligne de pseudo-doublons

Re

Code modifié:

Code:
Dim x As Integer
Dim id1 As String
Dim id2 As String
Application.ScreenUpdating = False
For n = 4 To Range("A4").End(xlDown).Row
 For m = n + 1 To Range("A4").End(xlDown).Row
    For x = 1 To [COLOR=blue]11[/COLOR]
      id1 = id1 & Cells(n, x).Value
      id2 = id2 & Cells(m, x).Value
    Next x
    If id2 = id1 Then
      Cells(3, Cells(n, 256).End(xlToLeft).Column + 1) = Chr(Asc(Cells(3, Cells(n, 256).End(xlToLeft).Column)) + 1)
      Cells(n, Cells(n, 256).End(xlToLeft).Column + 1) = Cells(m, [COLOR=blue]12[/COLOR])
      Cells(m, 6).Interior.ColorIndex = 3
    End If
    id1 = ""
    id2 = ""
 Next m
Next n
For n = Range("F65536").End(xlUp).Row To 1 Step -1
If Range("F" & n).Interior.ColorIndex = 3 Then Rows(n).Delete
Next n
Range("C1") = "APRES"
Application.ScreenUpdating = True
End Sub
 
Re : Mise sur une ligne de pseudo-doublons

Bonjour ,

je ne comprends pas ce qui se passe , après avoir fonctionné impeccablement comme prévu , cela me donne adésormais autre chose

Je souhaiterais uniquement dans l'exemple joint que l'affaire N°1768246 et ses doublons tienne sur une seule ligne, avec "PAN" "Win" et "Acq" sur la même ligne dans les colonnes Q,R et S

Or j'ai bien "PAN" "Win" et "Acq" sur la même ligne , mais je continue à avoir des doublons et des cellules deviennent rouge colonne F...?

Pierre jean tu as certainement la clef !

D'avance merci
Bonne soirée
Berg1664
 

Pièces jointes

Re : Mise sur une ligne de pseudo-doublons

Re

Voila

pour effacer les lignes doublons je colore en rouge une cellule puis je viens controler et j'efface les lignes
mais pour cela il faut reperer la derniere ligne et si la colonne est vide le reperage n'a pas lieu
je le faisais sur la colonne F, la je l'ai déplacé en colonne A
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour