[VBA] gestion des doublons

Bonjour,

je saisi des données par l'intermédiaire d'une useform (via textbox) qui remplit la colonne ("A:A") d'une feuille Excel. J'aimerai vérifier si dans cette colonne, la valeur du textbox n'existe pas déjà, auquel cas il renvoi un message d'erreur.

Je bloque un peu la dessus pour continuer ma programmation. Si vous pouvez me donner un coup de main, ce serait super...

Merci d'avance
Phileas1412
Configuration: Office 2000

2 réponses

  1. hello,

    je pense que je ferais quelquechose comme ça, (en ayant un bouton appelé cmdOK sur le formulaire pour valider la valeur du TextBox1) :

    Private Sub cmdOK_Click()
        Dim varDoublon As Variant
        
        On Error Resume Next
        Columns(1).Find(TextBox1.Value, , xlValues, xlWhole).Select
        If Err.Number Then
            Range("A65536").End(xlUp).Offset(1, 0).Value = TextBox1.Value
        Else
            MsgBox "Cette valeur existe déjà", vbExclamation, ThisWorkbook.Name
        End If
    End Sub
    

    2
    1. Bonjour,

      Merci beaucoup Kobaya, c'est exactement ça que je cherchais. Je vais pouvoir avancer.

      Au plaisir d'une autre ligne de programmation....

      Phileas1412
      0
  2. bonsoir,

    en torturant un peu le code de Kobaya, et si tu veux faire plus compliqué :

    Private Sub cmdOK_Click()
        If Evaluate("=SUM(IF(A1:A" & Range("A65536").End(xlUp).Row & "=""" & TextBox1.Value & """,1,0))") = 0 Then
            Range("A65536").End(xlUp).Offset(1, 0).Value = TextBox1.Value
        Else
            MsgBox "Cette valeur existe déjà", vbExclamation, ThisWorkbook.Name
        End If
    End Sub


    je n'ai pas testé sur des dates.

    A+
    2