Empècher les doublons

Le
Michel
Bonjour,
Je cherche à limiter la saisie de données par le biais de mon user,
j'explique
En a:a j'ai une série de dates saisies via le textbox1 de mon userform
Je voudrais que lorsque une date existe déja un msgbox apparaisse "Date déja
présente"
ce qui m'éviterais de rechercher les doublons et de supprimer la ou les
mauvaises lignes.
J'ai essayé mais sans succès
=RECHERCHEV($a:$a;textbox1;1,0)
Il faudrait aussi que je limite la recherche à 'aujourd'hui' donc toutes les
dates inférieures ou égales
à now.
Si qq à une solution
Merci
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
JB
Le #4758931
Bonjour,

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


http://boisgontierjacques.free.fr/pages_site/formulairebases.htm#VerifDoubl ons
http://boisgontierjacques.free.fr/pages_site/cellules.htm#RechercheDate


JB
http://boisgontierjacques.free.fr/

On 29 août, 08:30, "Michel"
Bonjour,
Je cherche à limiter la saisie de données par le biais de mon user,
j'explique
En a:a j'ai une série de dates saisies via le textbox1 de mon userform
Je voudrais que lorsque une date existe déja un msgbox apparaisse "Date déja
présente"
ce qui m'éviterais de rechercher les doublons et de supprimer la ou les
mauvaises lignes.
J'ai essayé mais sans succès
=RECHERCHEV($a:$a;textbox1;1,0)
Il faudrait aussi que je limite la recherche à 'aujourd'hui' donc toute s les
dates inférieures ou égales
à now.
Si qq à une solution
Merci


lSteph
Le #4758841
Bonjour,

Private Sub TextBox1_beforeUpdate(ByVal Cancel As
MSForms.ReturnBoolean)
Dim tstb1
On Error Resume Next
tstb1 = CDate(TextBox1)
On Error GoTo 0
If IsEmpty(tstb1) Then MsgBox "date invalide": Cancel = True: Exit Sub

With [a1:a10]
If Not .Find(CDate(TextBox1), LookIn:=xlValues) Is Nothing Then
MsgBox "existe déjà"
Cancel = True
End If
End With
End Sub

'LSteph

On 29 août, 08:30, "Michel"
Bonjour,
Je cherche à limiter la saisie de données par le biais de mon user,
j'explique
En a:a j'ai une série de dates saisies via le textbox1 de mon userform
Je voudrais que lorsque une date existe déja un msgbox apparaisse "Date déja
présente"
ce qui m'éviterais de rechercher les doublons et de supprimer la ou les
mauvaises lignes.
J'ai essayé mais sans succès
=RECHERCHEV($a:$a;textbox1;1,0)
Il faudrait aussi que je limite la recherche à 'aujourd'hui' donc toute s les
dates inférieures ou égales
à now.
Si qq à une solution
Merci


lSteph
Le #4758831
...préférable que je l'écrive ainsi:

Private Sub TextBox1_beforeUpdate(ByVal _
Cancel As MSForms.ReturnBoolean)
Dim tstb1
On Error Resume Next
tstb1 = CDate(TextBox1)
On Error GoTo 0
If IsEmpty(tstb1) Then MsgBox "date invalide": Cancel = True: Exit Sub

With [a1:a10]
If Not .Find(tstb1, LookIn:=xlValues) Is Nothing Then
MsgBox "existe déjà"
Cancel = True
End If
End With
End Sub

On 29 août, 08:30, "Michel"
Bonjour,
Je cherche à limiter la saisie de données par le biais de mon user,
j'explique
En a:a j'ai une série de dates saisies via le textbox1 de mon userform
Je voudrais que lorsque une date existe déja un msgbox apparaisse "Date déja
présente"
ce qui m'éviterais de rechercher les doublons et de supprimer la ou les
mauvaises lignes.
J'ai essayé mais sans succès
=RECHERCHEV($a:$a;textbox1;1,0)
Il faudrait aussi que je limite la recherche à 'aujourd'hui' donc toute s les
dates inférieures ou égales
à now.
Si qq à une solution
Merci


Publicité
Poster une réponse
Anonyme