Supprimer les doulons avec excel
Résolu
Cyril 39
-
cyril 39 -
cyril 39 -
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
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:
- Supprimer les doulons avec excel
- Supprimer rond bleu whatsapp - Guide
- Liste déroulante excel - Guide
- Supprimer page word - Guide
- Word et excel gratuit - Guide
- Supprimer pub youtube - Accueil - Streaming
4 réponses
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.
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.
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
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