[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
A voir également:

2 réponses

Darshu Messages postés 303 Statut Membre 64
 
Salut.

J'ai jamais fait de VBA, mais en cherchant sur google avec "VBA majuscule" on trouve très rapidement ceci :
https://access.developpez.com/faq/?page=ManipDATA#ConvMajLettr

C'est fou comme c'est dur de chercher une réponse ...
0
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