Msgbox si il y a doublon

Bonjour ,

Je voudrais savoir comment écrire un " if " qui me permettrait d'afficher une Msgbox si il y a des doublons sur la colonne A par exemple.

Merci d'avance.

Bonjour

Juste avec un If pas sur mais inclus dans une boucle

Sub test()
Dim J As Long

  For J = 1 To Range("A" & Rows.Count).End(xlUp).Row
    If Application.CountIf(Columns(1), Range("A" & J)) > 1 Then
      MsgBox "Doublon"
      Exit Sub
    End If
  Next J
End Sub

Merci beaucoup c'est exactement ce que je cherchais.

Re,

Ton code marche mais je dois l'utiliser sur une colonne de plus de 25000 lignes , il y a t-il une autre solution qui permet d'effectuer l'opération plus rapidement?

Bonjour

Après quelques tests cela fonctionne

Sub Macro1()

  Rows(1).Insert
  Range("A1") = "Titre"
  Range("A1:A" & Range("A" & Rows.Count).End(xlUp).Row).AdvancedFilter Action:=xlFilterInPlace, Unique:=True
  Rows(1).Delete
  If Application.Subtotal(103, Columns(1)) <> Application.CountA(Columns(1)) Then
    ActiveSheet.ShowAllData
    MsgBox "Doublon dans cette colonne"
  End If
End Sub

Merci pour ton aide. Ton code permet de repérer si ma colonne de 25000 cellules contient des doublons ou pas en environ 1min 10 sec.

J'ai entendu parler des dictionnary pour un traitement plus rapide des données, mais 1min est déjà très correcte.

Bonjour

1 minute c'est beaucoup

C'est juste un filtre

Tes données en colonne A

Essayes la méthode manuelle suivante

Si ta colonne ne contient pas de titre insères une ligne et écris ce que tu veux dans le titre de la colonne

Ensuite tu fais un filtre élaboré de ta colonne (avec XL 2003 : C'est menu Données ---> Filtrer ----> Filtre élaboré ---> dans la fenêtre qui apparait coches "Extraction sans doublon" ---> Ok)

Dans une cellule tu tapes

=SI(NBVAL(A:A)-SOUS.TOTAL(103;A:A)>0;"Doublon";"")

C'est ce que la macro fait

Ne pas oublier après de ré-afficher toutes les lignes (Avec XL 2003 : Menu Données ----> Filtrer ----> Afficher tout

Oui mais je voulais vraiment que le reperage de doublon se fasse de facon automatique et tres rapidement. 1 min me convient personnelement mais je ne suis evidemment pas contre une solution plus efficace.

Rechercher des sujets similaires à "msgbox doublon"