[VBA EXCEL] Problème avec les doublons

Fermé
ben7777 Messages postés 30 Date d'inscription vendredi 19 mai 2006 Statut Membre Dernière intervention 1 août 2007 - 2 août 2006 à 15:45
jacmartun Messages postés 50 Date d'inscription mardi 25 juillet 2006 Statut Membre Dernière intervention 24 mars 2009 - 2 août 2006 à 18:01
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 Date d'inscription lundi 30 janvier 2006 Statut Membre Dernière intervention 3 avril 2008 64
2 août 2006 à 15:55
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 50 Date d'inscription mardi 25 juillet 2006 Statut Membre Dernière intervention 24 mars 2009 4
2 août 2006 à 18:01
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