Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Corriger doublons automatiquement

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

N

niala

Guest
Bonjour,
Dans un tableau excel, j'ai des doublons.
Je voudrai supprimer automatiquement ceux-ci par VBA.
Le problème est que certain doublons ne sont que dans la colonne A, d'autres dans les colonnes A et B.
Comment supprimer le doublon le moins complet ( uniquement dans la colonne A par exemple et conserver celui qui est en A et B)
Suis-je clair?
Merci de votre aide.
 

Pièces jointes

Re : Corriger doublons automatiquement

Bonjour à tous
à tester
Code:
Sub Doublon()
    Range("A1:D10").Select
    With ActiveWorkbook.Worksheets("Feuil1").Sort
        .SortFields.Clear
        .SortFields.Add Range("A2:A10"), xlSortOnValues, Ascending, xlSortNormal
        .SortFields.Add Range("B2:B10"), xlSortOnValues, xlAscending, xlSortNormal
        .SortFields.Add Range("C2:C10"), xlSortOnValues, xlAscending, xlSortNormal
        .SortFields.Add Range("D2:D10"), xlSortOnValues, xlAscending, xlSortNormal
        .SetRange Range("A1:D10")
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    ActiveSheet.Range("$A$1:$D$10").RemoveDuplicates Columns:=1, Header:=xlYes
End Sub
 
Re : Corriger doublons automatiquement

Bonjour jp,

J'ai installé cette macro, et quand je l'exécute, j'ai une erreur 400.
Je n'arrive pas à trouver d'explication.
Merci d votre aide
Alain
 
Re : Corriger doublons automatiquement

bonjour niala , jpb388 🙂

si beaucoup de lignes passer par un tablo & dico



j'ai change le code pas bon par celui la

Code:
Sub es()
 Dim m As Object, i As Long, z As Variant, x As Byte, y As Byte
      Application.ScreenUpdating = 0
    Range("$A$2:$D$" & Cells(Rows.Count, 1).End(3).Row).RemoveDuplicates Columns:=Array(1, 2, 3, 4)
    [a2:d1000].Sort Key1:=[a2], Order1:=xlAscending, Header:=xlGuess
    Set m = CreateObject("Scripting.Dictionary")
    For i = Cells(Rows.Count, 1).End(3).Row To 2 Step -1
    z = Cells(i, 1) & Cells(i, 2)
    If Not m.Exists(z) Then
     m.Add z, z
     Else
     x = Application.WorksheetFunction.CountA(Range(Cells(i, 1), Cells(i, 4)))
     y = Application.WorksheetFunction.CountA(Range(Cells(i + 1, 1), Cells(i + 1, 4)))
    If y < x Then Rows(i + 1).Delete Else Rows(i).Delete
    End If
   Next i
End Sub
 
Dernière édition:
Re : Corriger doublons automatiquement

Bonsoir Laetitia90 et jpb388,
Grand merci à tous les deux.
ça marche impec.
J'ai effectivement beaucoup de lignes et la macro de Laetitia est un poil plus rapide.
Bonne soirée à tous les deux
Sympa de m'avoir aidé.
A+
Alain
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
17
Affichages
707
Réponses
9
Affichages
533
  • Question Question
XL 2021 Doublons
Réponses
7
Affichages
226
Réponses
18
Affichages
584
  • Question Question
Microsoft 365 Doublon
Réponses
4
Affichages
179
Réponses
2
Affichages
498
Réponses
1
Affichages
359
  • Question Question
Microsoft 365 Tableau
Réponses
5
Affichages
254
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…