Suppression multi-colonnes VBA

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

dodoremix

XLDnaute Nouveau
Suppression doublon multi-colonnes VBA

Bonjour,

Je commence à cerner un peu le vba mais des fois je m'y perds un peu.
Le but de ce petit script est d'éliminer les doublons possibles dans une feuille.
Le tableau est trié comme il faut donc ce n'est pas un problème.
Dans la colonne A et D j ai des données alpha numerique
Dans la colonne B j ai des donnnées mais de type "chaine de caractère" avec espace, et symbole comme des $ et autres.
Je fais déjà des comparaisons par colonne A puis D puis B ce que je souhaite faire.
Mais ca ne me donne rien de cohérent.
Des lignes sont supprimées mais pas forcement celle que je souhaite.
J ai lu quelques discussions sur le sujet sur le forum mais je n ai pas trouvé mon bonheur.🙁

Je vous joins mon code pour savoir ce que j ai fait et pour que vous puisssiez m indiquer mon(mes) erreur(s).

Sub delete_doublon()

Sheets("COR PAR SSA").Select
pos_dans_feuille = Sheets("COR PAR SSA").Range("A65536").End(xlUp).Row
For i = 2 To pos_dans_feuille
If Range("A" & i).Value = Range("A" & i + 1).Value Then
If Range("D" & i).Value = Range("D" & i + 1).Value Then
If Range("B" & i).Value = Range("B" & i + 1).Value Then
Rows(i & ":" & i).Select
Selection.Delete Shift:=xlUp
End If
End If
End If
Next
End Sub

D'avance Merci
 
Dernière édition:
Re : Suppression multi-colonnes VBA

Bonjour Dodoremix

essaye peut être comme ceci :

Code:
Sub test()
Dim pos_dans_feuille As Integer, i As Integer
Sheets("COR PAR SSA").Select
pos_dans_feuille = Sheets("COR PAR SSA").Range("A65536").End(xlUp).Row
For i = pos_dans_feuille To 2 Step -1
    If Range("A" & i).Value = Range("A" & i + 1).Value And Range("D" & i).Value = Range("D" & i + 1).Value _
        And Range("B" & i).Value = Range("B" & i + 1).Value Then
        Rows(i).Delete
    End If
Next
End Sub

bonne soirée
@+
 
Re : Suppression multi-colonnes VBA

bonjour dodoremix

Tout d'abord pour supprimer des lignes , il est imperatif de commencer par la fin

Teste ceci
Code:
Sub delete_doublon()
 
Sheets("COR PAR SSA").Select
pos_dans_feuille = Sheets("COR PAR SSA").Range("A65536").End(xlUp).Row
For i = pos_dans_feuille to 2 step-1
If Range("A" & i).Value = Range("A" & i + 1).Value Then
  If Range("D" & i).Value = Range("D" & i + 1).Value Then
     If Range("B" & i).Value = Range("B" & i + 1).Value Then
       Rows(i ).Delete 
     End If
  End If
End If
Next
End Sub

Edit : Salut pierrot 🙂
 
Dernière édition:
- 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

  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
497
Réponses
4
Affichages
355
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
69
  • Question Question
Microsoft 365 VBA Transpose
Réponses
11
Affichages
737
Retour