[VBA EXCEL] Problème avec les doublons

ben7777 Messages postés 30 Statut Membre -  
jacmartun Messages postés 52 Statut Membre -
Bonjour,

j'ai une colonne que je trie alphabétiquement et sur laquelle je supprime les doublons avec ce code :

Range("a2").Select
ActiveCell.CurrentRegion.Sort Key1:=Range("a2"), Order1:=xlAscending, Header:=xlYes
donnee1 = ActiveCell
ActiveCell.Offset(1, 0).Select
While ActiveCell <> ""

If ActiveCell= donnee1 Then
ActiveCell.EntireRow.Delete
ActiveCell.Offset(-1, 0).Select
donnee1 = ActiveCell
ActiveCell.Offset(1, 0).Select

Else
donnee1 = ActiveCell
ActiveCell.Offset(1, 0).Select

Le problème c'est qu'il me garde les doublons qui ne sont pas écrit de la même façon. Je m'explique :
Il va me supprimer tous les Jean DUPONT qui ne servent à rien mais me laisser Jean dupont, JEAN DUPONT, jean Dupont, ou encore jean DUPONT, etc.

C'est un problème de majuscules il me semble donc si vous avez une solution pour mettre toutes les cellules en majuscules par exemple, je suis preneur !

Merci d'avance

2 réponses

  1. jacmartun Messages postés 52 Statut Membre 4
     
    Bonjour ben 777, le forum

    Essaye comme ca , ca devrait repondre a ton souci

    Sub maj()

    Range("a2").Select

    Do Until IsEmpty(ActiveCell)

    ActiveCell.Value = StrConv(ActiveCell, vbUpperCase)
    ActiveCell.Offset(1, 0).Select

    Loop

    Range("a2").Select
    ActiveCell.CurrentRegion.Sort Key1:=Range("a2"), Order1:=xlAscending, Header:=xlYes
    donnee1 = ActiveCell
    ActiveCell.Offset(1, 0).Select
    While ActiveCell <> ""

    If ActiveCell = donnee1 Then
    ActiveCell.EntireRow.Delete
    ActiveCell.Offset(-1, 0).Select
    donnee1 = ActiveCell
    ActiveCell.Offset(1, 0).Select

    Else
    donnee1 = ActiveCell
    ActiveCell.Offset(1, 0).Select

    End If
    Wend
    End Sub
    0