• Initiateur de la discussion Initiateur de la discussion jad73
  • 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 !

jad73

XLDnaute Occasionnel
bonjour le forum
J'essaie d'utiliser cette macro pour eliminer les doublons d'une plage de données(A2:E500), mais elle ne trie que la colonne A et B qu'elle recopie en G.
que faut-il rajouter pour quelle trie aussi les colonnes C,D,E
merci

Sub doublons()
'
' doublons Macro
' Macro enregistrée le 24/10/2010 par jacky
'
Dim monDico As Object
Dim zone As Excel.Range, curCell As Excel.Range

Set monDico = CreateObject("Scripting.Dictionary")

With ThisWorkbook.Sheets("Feuil1")

'récupérer la zone de cellule de la colonne A
Set zone = .Range("A2:A" & .Range("A" & .Rows.Count).End(xlUp).Row)

'boucler sur chaque cellule de la zone
For Each curCell In zone.Cells

'essayer d'ajouter l'élément au dictionnaire (il n'accepte pas les doublons)
On Error Resume Next
monDico.Add curCell.Value, curCell.Value
On Error GoTo 0

Next curCell

'récupérer la zone de cellule de la colonne B
Set zone = .Range("B2:B" & .Range("B" & .Rows.Count).End(xlUp).Row)

'boucler sur chaque cellule de la zone
For Each curCell In zone.Cells

'essayer d'ajouter l'élément au dictionnaire (il n'accepte pas les doublons)
On Error Resume Next
monDico.Add curCell.Value, curCell.Value
On Error GoTo 0

Next curCell

'récupérer la zone de cellule de la colonne C
Set zone = .Range("C2:C" & .Range("C" & .Rows.Count).End(xlUp).Row)

'boucler sur chaque cellule de la zone
For Each curCell In zone.Cells

'essayer d'ajouter l'élément au dictionnaire (il n'accepte pas les doublons)
On Error Resume Next
monDico.Add curCell.Value, curCell.Value
On Error GoTo 0

Next curCell

'récupérer la zone de cellule de la colonne D
Set zone = .Range("D2😀" & .Range("D" & .Rows.Count).End(xlUp).Row)

'boucler sur chaque cellule de la zone
For Each curCell In zone.Cells

'essayer d'ajouter l'élément au dictionnaire (il n'accepte pas les doublons)
On Error Resume Next
monDico.Add curCell.Value, curCell.Value
On Error GoTo 0

Next curCell

'récupérer la zone de cellule de la colonne E
Set zone = .Range("E2:E" & .Range("E" & .Rows.Count).End(xlUp).Row)

'boucler sur chaque cellule de la zone
For Each curCell In zone.Cells

'essayer d'ajouter l'élément au dictionnaire (il n'accepte pas les doublons)
On Error Resume Next
monDico.Add curCell.Value, curCell.Value
On Error GoTo 0

Next curCell

'afficher en colonne C le résultat
.Range("G2").Resize(monDico.Count, 1).Value = WorksheetFunction.Transpose(monDico.Items)

End With

Set monDico = Nothing

End Sub
 
- 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

Discussions similaires

Réponses
5
Affichages
572
Réponses
5
Affichages
905
Réponses
4
Affichages
754
Retour