Dédoublonnage sensible à la casse

Bonjour à tous,

Je viens de découvrir (un peu tard) qu'Excel semble ne pas prendre en compte la casse lors d'un dédoublonnage.
Si j'ai :
Octobre 1987
octobre 1987
Il ne gardera qu'une valeur, mais j'ai besoin qu'il conserve les deux !
Avez-vous une solution ?

Merci à tous pour votre aide, et bonne journée.

Tu pourrais poster ton fichier ou au moins la formule que tu utilises ? Sinon c'est pas évident de savoir ce qu'il faut faire.

Bonjour Doux Réveur,

Oui, voici le fichier en pièce jointe.

8doublons2.xlsx (9.86 Ko)

En A5 j'ai 'Octobre 1987'

En A8 j'ai 'octobre 1987'

Le dédoublonnage (via données/supprimer les doublons) ne garde pas ces deux valeurs. Je souhaiterais les garder (une possède une majuscule, l'autre non). Mais c'est un fichier de 100 000 lignes, donc ce n'est pas forcément en début de cellule. Cela pourrait être 'Le 5 Octobre 1987' et 'Le 5 octobre 1987'

Merci et bonne journée

Bonjour à tous,

Un essai ...par macro...

Les données sont sous forme de tableaux structurés...

18doublons2.xlsm (19.50 Ko)

Cordialement,

Sinon cette simple formule ;

=SOMMEPROD(EXACT(A2;$A$2:$A$24)*1)

Merci Doux Rêveur,

Je retiens la formule qui permet de compter, mais sauf erreur de ma part, ne permet pas de dédoublonner les valeurs ?

Si j'effectue données/supprimer les doublons en A1, il ne va pas garder les formes uniques (Cf Octobre 1987 et octobre 1987)

Et un grand merci Xorsanukai,

Je ne peux malheureusement pas tester la macro sur le poste où je suis (blocage de sécurité), mais je teste dès que possible !

Bonne journée

En chargeant les données dans la macro, quand je clique sur le bouton lancer, j'ai "Erreur d’exécution 6. Dépassement de capacité".

Le fichier possède 35 000 lignes.

Une idée pour contourner le problème ?

bonjour mguen, Doux reveur, Xorsankukai,

avec une combinaison des 2 solutions (et en espérant qu'il n'y a rien d'important à côté de ce tableau structuré !!!, sera aussi effacé)

Sub test2()
     With Sheets("feuil1")
          If .AutoFilterMode Then .AutoFilterMode = False
          If .FilterMode Then .ShowAllData

          With .Range("A1").ListObject.Range
               .AutoFilter 3, 1
               If .Columns(1).SpecialCells(xlVisible).Count > 1 Then
                    Application.DisplayAlerts = False
                    .Offset(1).Resize(.Rows.Count - 1).Delete
                   Application.DisplayAlerts = True
               End If
               .AutoFilter
          End With
     End With

End Sub
19doublons2.xlsm (27.05 Ko)

Re,

Salut BsAlv ,

j'ai "Erreur d’exécution 6. Dépassement de capacité".

Le fichier possède 35 000 lignes.

J'ai déclaré la variable i en Integer (%), il faut la déclarer en Long(&)...

Cordialement,

Autre solution moins sophistiquée, on crée une nouvelle colonne dans laquelle on met ;

=SI(SOMMEPROD(EXACT(A2;$A$1:A1)*1)=0;A2;"")

Renvoie le contenu de A2 si pas encore présent au-dessus, sinon met du vide.

On incrémente et on obtient la liste avec des cases vides à la place des doublons, puis on peut l'insérer dans un tableau et filtrer les vides.

Rechercher des sujets similaires à "dedoublonnage sensible casse"