[VBA EXCEL] Problème avec les doublons
ben7777
Messages postés
30
Date d'inscription
Statut
Membre
Dernière intervention
-
jacmartun Messages postés 50 Date d'inscription Statut Membre Dernière intervention -
jacmartun Messages postés 50 Date d'inscription Statut Membre Dernière intervention -
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
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:
- [VBA EXCEL] Problème avec les doublons
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Supprimer les doublons excel - Guide
- Doublons photos - Guide
- Déplacer colonne excel - Guide
2 réponses
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 ...
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 ...
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
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