OVH Cloud OVH Cloud

Entrées à l'aide d'un Userform et SANS DOUBLONS

4 réponses
Avatar
Jean Pierre Belfort
Bonjour Amis,

J'ai fait userform pour entrer les noms de mes petites amies dans une base
de donnée à l'aide d'un Sub comme ceci :

num = Sheets("Amies").Range("C65536").End(xlUp).Row + 1
Sheets("Amies").Activate
Range("A" & num).Value = TextBox1.Value
Range("B" & num).Value = ComboBox2.Value
Range("C" & num).Value = TextBox3.Value

Unload UserForm1
End Sub

Le problème est que je peux entrer 2 fois le même nom.
Comment faire apparaitre une MsgBox : "Déjà entrée" ?

Merci
JPB

4 réponses

Avatar
Michel
Salut,

un truc vite fait :

Sub essai()
Sheets("Amies").Select
Range("A65536").Select
Selection.End(xlUp).Select
FINLIGNE = ActiveCell.Row

For I = 1 To FINLIGNE
If Range("A" & num).Value = TextBox1.Value Then
TOTO = MsgBox("EXISTE DEJA", vbOKOnly)
Exit Sub
End If
Next I
'TON CODE
End Sub

@+

Michel.


P.S. : si ca ne marche pas, trouve plutot qu'une seule copine..... :o)

"Jean Pierre Belfort" a écrit
dans le message de news:

Bonjour Amis,

J'ai fait userform pour entrer les noms de mes petites amies dans une base
de donnée à l'aide d'un Sub comme ceci :

num = Sheets("Amies").Range("C65536").End(xlUp).Row + 1
Sheets("Amies").Activate
Range("A" & num).Value = TextBox1.Value
Range("B" & num).Value = ComboBox2.Value
Range("C" & num).Value = TextBox3.Value

Unload UserForm1
End Sub

Le problème est que je peux entrer 2 fois le même nom.
Comment faire apparaitre une MsgBox : "Déjà entrée" ?

Merci
JPB


Avatar
JB
Bonsoir,

Pour une BD importante, + rapide avec Find:

Set result = Sheets("Amies").Range("A9:A10000").Find(What:=Me.nom,
LookIn:=xlValues, lookat:=xlWhole)
If Not result Is Nothing Then
MsgBox "Existe déjà"
Exit Sub
End If

http://cjoint.com/?ipwMMxYZd5

Cordialement JB

Bonjour Amis,

J'ai fait userform pour entrer les noms de mes petites amies dans une base
de donnée à l'aide d'un Sub comme ceci :

num = Sheets("Amies").Range("C65536").End(xlUp).Row + 1
Sheets("Amies").Activate
Range("A" & num).Value = TextBox1.Value
Range("B" & num).Value = ComboBox2.Value
Range("C" & num).Value = TextBox3.Value

Unload UserForm1
End Sub

Le problème est que je peux entrer 2 fois le même nom.
Comment faire apparaitre une MsgBox : "Déjà entrée" ?

Merci
JPB


Avatar
Clément Marcotte
Bonjour,

Tu peux aussi t'inspirer de ça. La source est une colonne de feuille de
calcul et le résultat est un ListBox rempli, mais c'est l'objet Dictionary
qui fait la job.:

http://www.excelabo.net/xl/listes.php#listesansdoublon




"Jean Pierre Belfort" a écrit
dans le message de news:

Bonjour Amis,

J'ai fait userform pour entrer les noms de mes petites amies dans une base
de donnée à l'aide d'un Sub comme ceci :

num = Sheets("Amies").Range("C65536").End(xlUp).Row + 1
Sheets("Amies").Activate
Range("A" & num).Value = TextBox1.Value
Range("B" & num).Value = ComboBox2.Value
Range("C" & num).Value = TextBox3.Value

Unload UserForm1
End Sub

Le problème est que je peux entrer 2 fois le même nom.
Comment faire apparaitre une MsgBox : "Déjà entrée" ?

Merci
JPB


Avatar
Jean Pierre Belfort
Oui! Merci pour vos réponses, je n'y avait pas pensé

Bonne Nuit