Suppression de doublons après avoir récupérér des données : UN VRAI CASSE TETE

chris6999

XLDnaute Impliqué
Bonjour le FORUM

Je souhaiterais trouver la macro qui me permettrait de regrouper des données lorsque la valeur contenue dans la colonne 2 est identique à celle présente dans la même colonne sur la ligne précédente.

Analyse pour chaque ligne dans la plage B2 à B50
Si la valeur de la colonne 2 est identique sur la ligne précédente
Alors remonter la valeur contenu dans la colonne 5 dans la première cellule vide de la ligne précédente
Puis supprimer la ligne

Un vrai casse tête quoi!

Je joins un fichier qui est sans doute plus parlant

Si quelqu'un a une idée et l'envie de faire partager son savoir.
Merci d'avance
Cordialement
 

Pièces jointes

  • fichier test doublon.xls
    15.5 KB · Affichages: 39
  • fichier test doublon.xls
    15.5 KB · Affichages: 36
  • fichier test doublon.xls
    15.5 KB · Affichages: 37

suistrop

XLDnaute Impliqué
Re : Suppression de doublons après avoir récupérér des données : UN VRAI CASSE TETE

A tester :
Code:
 Sub cartman() ligne_deb = 1 col_deb = 2 For i = ligne_deb + 1 To Range("B65536").End(xlUp).Row     If Cells(i, col_deb) = Cells(i - 1, col_deb) And _     Cells(i, col_deb + 1) = Cells(i - 1, col_deb + 1) And _     Cells(i, col_deb + 2) = Cells(i - 1, col_deb + 2) And _     Cells(i, col_deb + 2)  "" Then         Cells(i - 1, Range("IV" & i - 1).End(xlToLeft).Column + 1) = Cells(i, col_deb + 3)         Rows(i).Delete Shift:=xlUp         i = i - 1     End If Next i End Sub
 

pierrejean

XLDnaute Barbatruc
Re : Suppression de doublons après avoir récupérér des données : UN VRAI CASSE TETE

Bonjour chris

Salut suistrop

Je l'ai fait , je le propose
 

Pièces jointes

  • fichier test doublon.xls
    38.5 KB · Affichages: 46
  • fichier test doublon.xls
    38.5 KB · Affichages: 51
  • fichier test doublon.xls
    38.5 KB · Affichages: 53

chris6999

XLDnaute Impliqué
Re : Suppression de doublons après avoir récupérér des données : UN VRAI CASSE TETE

PierreJean

Pourriez-mettre des commentaires dans le code car j'ai déplacé ma plage en C2 (au lieu de B2) et je parviens pas à adapter la macro

Merci
 

pierrejean

XLDnaute Barbatruc
Re : Suppression de doublons après avoir récupérér des données : UN VRAI CASSE TETE

Re

Voila avec commentaires (j'ai fait au mieux mais ce n'est pas ma specialité !!)
 

Pièces jointes

  • fichier test doublon.xls
    39 KB · Affichages: 48
  • fichier test doublon.xls
    39 KB · Affichages: 54
  • fichier test doublon.xls
    39 KB · Affichages: 50

chris6999

XLDnaute Impliqué
Re : Suppression de doublons après avoir récupérér des données : UN VRAI CASSE TETE

Re Pierrejean
Ca fait un moment que je me creuse avec ce code qui dépasse mon petit niveau débutant

J'ai essayé de le modifier suite au changement de plage C2 à C50 mais il me remonte aussi les valeurs de la colonne C. Je ne comprends pas pourquoi

Je mets le code modifié


Sub test()
Application.ScreenUpdating = False
'parcourir les lignes de la derniere a a la seconde
For n = Range("C" & Rows.Count).End(xlUp).Row To 2 Step -1
'si la concatenation de la ligne n (colonnes B à D) est egale a la concatenation de la ligne n-1 (colonnes de B à D) alors
If Range("C" & n) & Range("D" & n) & Range("E" & n) = Range("C" & n - 1) & Range("D" & n - 1) & Range("E" & n - 1) Then
'chercher la derniere colonne ecrite de la ligne n-1 et ajouter 1 (pour avoir la premiere cellule vide de la ligne n-1)
col = Range("IV" & n - 1).End(xlToLeft).Column + 1
'chercher la derniere colonne ecrite de la ligne n et alouter 1 poiur avoir la premiere cellule vide de la ligne n
col2 = Range("IV" & n).End(xlToLeft).Column + 1
'copier les cellules de la ligne n de la 5eme colonne a la colonne col (voir plus haut)
Range(Cells(n, 5), Cells(n, col2)).Copy
'selectionner la premiere cellule vide de la ligne n-1
Cells(n - 1, col).Select
'coller
ActiveSheet.Paste
'effacer la ligne n
Rows(n).Delete
End If
'ligne suivante
Next
Application.ScreenUpdating = True
End Sub

C'est tellement frustrant d'être aussi nul!

Si tu peux me venir en aide
Merci
 

Discussions similaires

Réponses
7
Affichages
322