[VBA] gestion des doublons

phileas1412 Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   -  
JvDo Messages postés 1978 Date d'inscription   Statut Membre Dernière intervention   -
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
A voir également:

2 réponses

Kobaya Messages postés 282 Date d'inscription   Statut Membre Dernière intervention   214
 
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
phileas1412 Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
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
JvDo Messages postés 1978 Date d'inscription   Statut Membre Dernière intervention   859
 
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