Supprimer les doulons avec excel

Résolu/Fermé
Cyril 39 - 17 sept. 2009 à 09:41
 cyril 39 - 23 sept. 2009 à 15:36
Bonjour,

Bonjour,

je travaille sur le logiciel excel et je voudrais, à l'aide de la VBA supprimer les doublons d'une liste de noms.

Seulement je voudrais que les noms se retrouvent dans l'ordre alphabétique dans la colonne F et qu'il n'y est pas d'espace entre les différents noms et qu'il n'y est plus de doublons.

Donc j'ai déja paramètré une macro j'aimerais que quelqu'un vérifie les erreurs car j'ai d'autres colonnes avec des noms dans ma base de donné. Lorsque j'essaye la macro celle-ci supprime des noms dans d'autres colonnes voisines, alors qu'elle ne doit pas intervenir sur les autres colonnes. Elle me laisse également des doublons et des espaces dans les autres colonnes.

Je voudrais que la macro trie les noms par ordre alphabéthique, me laisse un seul nom lorsqu'il y a 2 fois le même ou plus et qu'il n'y est pas d'espace entre les cellules avec des noms notés à l'intérieur. Je voudrais que la macro agisse dans la colonne de la cellule F3 à F40.


Voici les paramètres de la macro :

Sub Tridoublon()
Dim MaCell As Range
Dim MaCellSuite As Range

Application.ScreenUpdating = False
Worksheets("feuil2").Range("F3").Sort _
Key1:=Worksheets("Feuil2").Range("F3")

Set MaCell = Worksheets("Feuil2").Range("F3")

Do While Not IsEmpty(MaCell)
Set MaCellSuite = MaCell.Offset(1, 0)
If MaCellSuite.Value = MaCell.Value Then
MaCell.EntireRow.Delete
End If
Set MaCell = MaCellSuite
Loop
Application.ScreenUpdating = True

End Sub

J'espère que l'un de vous poura m'aider...Merci
A voir également:

4 réponses

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
21 sept. 2009 à 09:47
Salut,
Ton problème est ici :
MaCell.EntireRow.Delete supprime toute la ligne... Donc les cellules contenues dans les colonnes voisines sont supprimées.
Remplace par MaCell.Delete Le souci c'est que tu ne conserves pas de cohérence dans ton tableau.

Tu dis : Lorsque j'essaye la macro celle-ci supprime des noms dans d'autres colonnes voisines, alors qu'elle ne doit pas intervenir sur les autres colonnes. Elle me laisse également des doublons et des espaces dans les autres colonnes. Si tu ne veux pas qu'elle agisse sur les autres colonnes pourquoi se plaindre qu'elle y laisse des espaces et des doublons? Je ne te comprends pas là. Donne davantage d'explication pour que l'on puisse t'aider.
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
21 sept. 2009 à 12:56
Bonjour Cedric, Coucou Pijaku

Pour épurer une liste sur une colonne sans toucher aux autres, tu pourrais utiliser une" collection"
ci joint demo avec explications (tentatives d'...)
https://www.cjoint.com/?jvm2MoTqrk
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
22 sept. 2009 à 10:05
Salut michel,
Un mot me vient à l'esprit : whaou!! Je ne connaissais pas "collection" et trouve ça super intéressant... Je vais me pencher la dessus. Très beau résultat en tout cas...
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
22 sept. 2009 à 10:15
Salut Pijaku

si tu te penches sur "collection", regardes aussi l'objet "dictionary" beaucoup plus rapide mais ch... pour restituer car nécessitant une variable-tablo (array) intermédiaire
0
Salut michel et pijaku

Merci pour vos réponses, j'ai réussi à paramètrer la macro pour qu'elle supprime les doublons.

cordialement
0