[VB.Excel] Supprimer & compter les lignes en double

Résolu/Fermé
ProMed1 Messages postés 30 Date d'inscription dimanche 27 mai 2018 Statut Membre Dernière intervention 13 avril 2021 - 9 mars 2019 à 13:39
ProMed1 Messages postés 30 Date d'inscription dimanche 27 mai 2018 Statut Membre Dernière intervention 13 avril 2021 - 11 mars 2019 à 21:21
Bonjour à tous,

j'ai un tableau excel, mon bute est de supprimer toutes les lignes en double et de les compter sur la colonne "G". (voir capture ci-dessous)

j'explique un peut le tableau, prenant l'exemple de la ligne 2:

la cellule "B2" est paramétrait (lier) si vous voulez par la cellule "A2".
de même la cellule "D2" est paramétrait par la cellule "C2".
de même également les cellules "A2", "B2", "C2" et "D2" sont paramétrait par les cellules "E2" et "F2".

Pour moi les lignes 6, 7, 12.13 et 14 sont en double.

j'ai essayer de trouver une manip via Excel et même par les requêtes Access mais en vain, pouvez vous m'aider svp.

merci d'avance.


A voir également:

1 réponse

yg_be Messages postés 22708 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 avril 2024 1 474
9 mars 2019 à 17:03
bonjour, pourquoi les lignes 6, 7, 12.13 et 14 sont-elles en double?
pourquoi veux-tu les supprimer? veux-tu faire cela une seule fois?
0
ProMed1 Messages postés 30 Date d'inscription dimanche 27 mai 2018 Statut Membre Dernière intervention 13 avril 2021
9 mars 2019 à 19:08
bonjour yg_be,

merci pour ton retour, donc je vais vous explique pourquoi la ligne 6 est en double:
la ligne 6 et en double sur la ligne 5.

concentrent nous sur la colonne "B" et "D", pour les lignes 6 et 5 j'ai le (B6=D5) et (B5=D6), bien sûr les autres colonnes sont identiques, c'est juste la direction du déclaration des valeur sur la colonne "B" et "D" qui fait la différence, voila pourquoi cette ligne est en double.

donc je veux une macro qui cherche les lignes, et qui ne prend pas en compte la direction des déclarations des valeurs que pour la colonne "B" et "D", gardez le 1er ligne trouver et supprimer les autres lignes + compter sur la colonne "G" combien de fois cette ligne a été trouvé.

merci.
0
yg_be Messages postés 22708 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 avril 2024 1 474 > ProMed1 Messages postés 30 Date d'inscription dimanche 27 mai 2018 Statut Membre Dernière intervention 13 avril 2021
9 mars 2019 à 19:50
pourquoi veux-tu les supprimer? veux-tu faire cela une seule fois?
l'ordre des lignes est-il important?
0
ProMed1 Messages postés 30 Date d'inscription dimanche 27 mai 2018 Statut Membre Dernière intervention 13 avril 2021
9 mars 2019 à 20:43
bonjour,

l'ordre des lignes n'est pas important.
je veut faire cela chaque fois, car ça peut arriver que cette ligne sera déclarée plus que 2 fois.
je veux les supprimer pour voir combien de fois sont-elles déclarer (et les compter sur la colonne "G").

merci d'avance yg_be.
0
yg_be Messages postés 22708 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 avril 2024 1 474 > ProMed1 Messages postés 30 Date d'inscription dimanche 27 mai 2018 Statut Membre Dernière intervention 13 avril 2021
Modifié le 10 mars 2019 à 12:40
veux-tu faire tout le travail très souvent? pourquoi veux-tu totalement automatiser cela?
la technique habituelle pour faire faire ce genre de travail par Excel, sans trop se fatiguer est de:
- ajouter une formule dans une colonne, qui va donner un résultat identique pour les lignes "identiques"
- remplacer, dans cette colonne, les formules par des valeurs
- trier le tout sur cette colonne
- ajouter une formule dans une colonne, qui compte les doublons
- ajouter une formule dans une colonne qui détermine les lignes à supprimer
- remplacer, dans les 2 nouvelles colonnes, les formules par des valeurs
- supprimer les lignes à supprimer
- supprimer les colonnes inutiles
0
ProMed1 Messages postés 30 Date d'inscription dimanche 27 mai 2018 Statut Membre Dernière intervention 13 avril 2021
10 mars 2019 à 18:11
Merci pour le retour,

vous saviez quoi, je n'ai jamais suivi de cours de programmations, je fais des recherches juste pour mon besoin car ce monde de codage me plais beaucoup.

ci-dessous mon retour concernant vos interrogations:
pas très souvent, mais j’aurai besoin de cette manip de temps en temps.
automatiser la manip oui afin de faciliter ma tâche de vérification.

pour la technique a suivre vous êtes raison, c'est trop fatiguent surtout pour quelqu'un comme moi :)

pouviez-vous m'aider déjà d'où vient l’erreur sur mon code ci-dessous, qui renvoie la valeur "Doublon" sur la colonne "G" pour les lignes identiques, car j'ai passé toute cette après-midi à frapper sur le mûr.

merci.


Sub SetC()
'declaration des variable selon lettre des colonnes
Dim a%, b%, c%, d%, e%, f%, g%, x%
For b = 2 To 17
x = 0
For d = 2 To 17
If Cells(b, 2).Value = Cells(d, 4).Value Then
If Cells(a, 1).Value = Cells(c, 3).Value Then
If Cells(e, 5).Value = Cells(e, 5).Value Then
If Cells(f, 6).Value = Cells(f, 6).Value Then Cells(g, 7).Value = "Doublon"
x = x + 1
Exit For
End If
End If
End If


If d = 17 Then

For a = 2 To 17
If Cells(b, 2).Value = Cells(d, 4).Value Then
If Cells(a, 1).Value = Cells(c, 3).Value Then
If Cells(e, 5).Value = Cells(e, 5).Value Then
If Cells(f, 6).Value = Cells(f, 6).Value Then Cells(g, 7).Value = "Doublon"
x = x + 1
Exit For
End If
End If
End If


If d = 17 And x = 0 Then

End If
Next a
End If
Next d
Next b

MsgBox "Traitement terminé"

End Sub
0