Vérifier si une date existe

Bonjour a tous.

Après la saisie d'une date dans ma textbox53, je souhaite vérifier dans ma feuille "DATA" si cette date à déjà été saisie.

si c'est le cas, alors un message n'indique que la date à été déjà entrée, et me demande si je souhaite continuer avec cette même date, ou pour m'obliger à en saisir une autre après effacement de la valeur de textbox53.

voici mon code

Private Sub TextBox53_AfterUpdate()

Dim rg As Date

' Vérifie si les valeurs de la périodes sont déja entrées dans DATA
Set rg = Sheets("DATA").Range("BA4:BA18").Find(TextBox53)

If Not rg Is Nothing Then

Rep = MsgBox("Attention" & vbCrLf & "La date pour cette période, est déja entrée." & vbCrLf & "Voulez-vous continuer.", vbYesNo + vbExclamation, "Vérification")
    If Rep = vbNo Then
TextBox53 = ""

Else
End If
End If
....

je dois certainement avoir fais une erreur, car ce code ne fonctionnement pas.

merci encore de votre aide.

titi32600

bonjour,

car ce code ne fonctionnement pas.

peux-tu en dire plus ? Comme la ligne posant problème par exemple.

salut

en fait, si la date notée dans ma textbox53 est déjà inscrite dans la plage "BA4:BA18" de ma feuille DATA, le code fait comme si la date n'existe pas et continu sans y prêter attention.

je pense que le problème provient de "rg", mais je ne trouve pas.

merci encore

titi32600

Bonjour Titi, bonjour le forum,

Essaie comme ça :

Private Sub TextBox53_AfterUpdate()
Dim RG As Date
Dim DL As Date
Dim TV As Variant

RG = DateSerial(Year(Me.TextBox53.Value), Month(Me.TextBox53.Value), Day((Me.TextBox53.Value)))
TV = Sheets("DATA").Range("BA4:BA18")
For I = 1 To UBound(TV, 1)
    DL = DateSerial(Year(TV(I, 1)), Month(TV(I, 1)), Day((TV(I, 1))))
    If DL = RG Then
        If MsgBox("Attention" & vbCrLf & "La date pour cette période, est déja entrée." & vbCrLf & "Voulez-vous continuer.", vbYesNo + vbExclamation, "Vérification") = vbNo Then TextBox53 = ""
    End If
End If
End Sub

Peut être que le problème vient du type de rg essaye avec la fonction CDate

Edit: si qqun sait comment supprimer son message je suis preneur

Salut Thau thème,

c'est cool, ton code me conviens très bien aussi,

je vais quand même essayer de comprendre pourquoi le mien ne fonctionne pas

tit32600

salut Vince

je vais essayer avec Cdate

tit32600

Re,

Le problème avec Excel et les dates c'est quelle sont reconnues automatiquement mais surtout qu'elles peuvent s'afficher complètement différemment de ce qui a été tapé. Par exemple tu tapes 01/01/2019 et la cellule, en fonction du format choisi, peut afficher mardi 1 janvier 2019. La fonction Find dans ce cas n'est plus très fiable...

Merci encore Thau Theme

Effectivement, travailler avec les dates n'est pas toujours facile .

Je garde ton code, qui me convient bien.

Titi32600

Rechercher des sujets similaires à "verifier date existe"