Comment gérer les doublons sur deux colonnes VBA
Résolu
h.bendaoud
Messages postés
21
Date d'inscription
Statut
Membre
Dernière intervention
-
h.bendaoud Messages postés 21 Date d'inscription Statut Membre Dernière intervention -
h.bendaoud Messages postés 21 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je travaille actuellement sur un fichier excel pour mes études et cela fait maintenant deux semaines que je bloque, je cherche sur les forum des solutions mais aucune ne convient.
Alors je vous explique, je cherche dans un premier temps à identifier des doublons mais selon des critères particuliers:
Je cherche à identifier des doublons en les surlignant par rapport à la colonnes A et D petite information les doublons apparaissent lors d'injections d'autres fichiers
Donc si il y a deux numéro identiques dans la colonne A et que dans la colonne D les statuts sont les même je voudrais qu'il soit supprimer par contre si dans la colonne D les statut sont différent je voudrais qu'il apparaissent en vert par exemple ( si possible le premier identifier en vert et le second en rouge ).
Voilà ce que j'aimerais obtenir

J'aimerais également ajouter un bouton permettant d'effectuer cette action en cliquant dessus
En espérant que vous pourrez m'aider,
Cordialement
Je travaille actuellement sur un fichier excel pour mes études et cela fait maintenant deux semaines que je bloque, je cherche sur les forum des solutions mais aucune ne convient.
Alors je vous explique, je cherche dans un premier temps à identifier des doublons mais selon des critères particuliers:
Je cherche à identifier des doublons en les surlignant par rapport à la colonnes A et D petite information les doublons apparaissent lors d'injections d'autres fichiers
Donc si il y a deux numéro identiques dans la colonne A et que dans la colonne D les statuts sont les même je voudrais qu'il soit supprimer par contre si dans la colonne D les statut sont différent je voudrais qu'il apparaissent en vert par exemple ( si possible le premier identifier en vert et le second en rouge ).
Voilà ce que j'aimerais obtenir

J'aimerais également ajouter un bouton permettant d'effectuer cette action en cliquant dessus
En espérant que vous pourrez m'aider,
Cordialement
A voir également:
- Vba supprimer doublons plusieurs colonnes
- Supprimer rond bleu whatsapp - Guide
- Classer par ordre alphabétique excel plusieurs colonnes - Guide
- Supprimer une page word - Guide
- Comment faire des colonnes sur word - Guide
- Doublons photos - Guide
8 réponses
Option Explicit Const coCod = "A" ' colonne code Const coSta = "D" ' colonne statut Const lideb = 2 ' premiere ligne des données Const vert = 50 ' code couleur Const rouge = 3 ' idem Private Sub btOK_Click() Dim li As Long, lifin As Long, cod As Long, sta As String, lili As Long Dim obj As Object, plage As Range ' inhibe la maj de la feuille après chaque modification Application.ScreenUpdating = False ' derniere ligne non vide de la colone cocod lifin = Range(coCod & Rows.Count).End(xlUp).Row ' boucle sur les lignes en partant de la dernière (à cause des suppressions eventuelles de lignes For li = lifin To lideb + 2 Step -1 ' plage où on va rechercher le code cod Set plage = Range(coCod & lideb & ":" & coCod & li - 1) ' code et statut ligne i cod = Range(coCod & li).Value sta = Range(coSta & li).Value ' recherche cod dans plage Set obj = plage.Find(cod, , , xlWhole) ' si cod est trouvé If Not obj Is Nothing Then ' on recupere sa ligne lili = obj.Row ' si le statut ligne lili = statut ligne i alors on supprime la ligne li If Range(coSta & lili).Value = sta Then Rows(li).Delete ' sinon on met en rouge la ligne lili et en vert la ligne li Else Range(coCod & lili & ":" & coSta & lili).Font.ColorIndex = rouge Range(coCod & li & ":" & coSta & li).Font.ColorIndex = vert End If End If Next li ' activation de la maj de la feuille Application.ScreenUpdating = True End Sub
Bon après midi
Pour la couleur de la cellule
Range(coCod & lili & ":" & coSta & lili).Interior.ColorIndex = 4
Cdlmnt
Range(coCod & lili & ":" & coSta & lili).Interior.ColorIndex = 4
Cdlmnt
Donc si il y a deux numéro identiques dans la colonne A et que dans la colonne D les statuts sont les même je voudrais qu'il soit supprimer
lequel ? le premier ou le second ?
lequel ? le premier ou le second ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Un début de réponse à adapter
https://www.cjoint.com/?3CEqnVADpI6
Cdlmnt
https://www.cjoint.com/?3CEqnVADpI6
Cdlmnt
juste une petit question je fais comment pour modifier les colonnes ? à place de la colonne "D" je marque "F"
Oui
Oui
Si c'est fini, merci de mettre le sujet à Résolu (en haut à droite de ton premier message)
Bonne fin de journée
Bonne fin de journée
Bon après midi également
Pourrait-tu m'indiquer comment appliquer une règle de surbrillance à la place de la couleur du texte.
Merci d'avance
Cordialement