[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
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
A voir également:
- [VB.Excel] Supprimer & compter les lignes en double
- Double ecran - Guide
- Whatsapp double sim - Guide
- Supprimer compte instagram - Guide
- Supprimer une page word - Guide
- Excel trier par ordre alphabétique en gardant les lignes - Guide
1 réponse
yg_be
Messages postés
23478
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
2 mars 2025
Ambassadeur
1 568
9 mars 2019 à 17:03
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?
pourquoi veux-tu les supprimer? veux-tu faire cela une seule fois?
9 mars 2019 à 19:08
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.
9 mars 2019 à 19:50
l'ordre des lignes est-il important?
9 mars 2019 à 20:43
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.
Modifié le 10 mars 2019 à 12:40
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
10 mars 2019 à 18:11
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