1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
Dim nom As String, adresse As String, i As Long, e As Long ' declaration des variable
Sub tri_les_doublon_par_le_nom_et_les_adresse()
' on apelle la verif des espaces apres la derniere lettre du nom avant de faire le tri
Application.ScreenUpdating = fase ' pour eviter de voir syntiller ton ecran
verification_des_espaces_apres_les_noms
For i = 2 To Range("d" & Rows.Count).End(xlUp).Row '1 ere boucle sur la colonne des nom
nom = Cells(i, "d") 'a chaque tour de boucle la variable nom prend la valeur de la celulle"D" en ligne "i"
adresse = Cells(i, "d").Offset(0, 1) 'a chaque tour de boucle la variable adresse prend la valeur de la celulle"e" en ligne "i"
For e = 3 To Range("d" & Rows.Count).End(xlUp).Row '2eme boucle sur la colonne"d"
'1ere condition
'si la cellule "D" en ligne e = nom et celle d'a coté a droite = adresse
If Cells(e, "d").Value = nom And Cells(e, "d").Offset(0, 1).Value = adresse Then
'2eme Condition
'si la ligne e est differnete de i alors on supprime la ligne
If Cells(e, "d").Row <> Cells(i, "d").Row Then
Cells(e, "d").EntireRow.Delete
End If
End If
Next e
Next i
End Sub
' ATTENTION' ATTENTION' ATTENTION' ATTENTION' ATTENTION' ATTENTION' ATTENTION' ATTENTION
' ATTENTION L'ORS DE L'ESSAI DE MA MACRO IL Y AVAIT DES ERREURS POUR LA SIMPLE ET BONNE RAISON QUE LES NOM MEME SI IL ONT L'AIR PAREIL
'il y a un espace qui sui le nom sur certains nom identique alors forcement il est pris comme différent
'exemple:
'"toto"
'"toto "
' alors avant de faire le tri on verifie les espaces apres la derniere lettre du nom
Function verification_des_espaces_apres_les_noms()
For i = 2 To Range("d" & Rows.Count).End(xlUp).Row
If Right(Cells(i, "d"), 1) = " " Then Cells(i, "d") = Left(Cells(i, "d"), Len(Cells(i, "d")) - 1)
Next |
Partager