UserForm - ajout date

Bonjour,

J'ai créé il y a quelques mois une macro pour un Userform afin d'enregistrer plus simplement des données dans une base de données.

A l'époque, le jour et le mois était inversé, j'avais lu sur le forum qu'il fallait échanger dans la macro le mois et le jour afin de répondre au format anglais. Ce qui donne :

Sheets("Dpt BDD").Range("C" & DernLigne).Value = Format(TextBox23.Value, "mm/dd/yyyy")

Problème, depuis début janvier, ca ne fonctionne plus... Le jour et le mois sont de nouveau inversés.

Existe t'il une solution définitive afin d'être sûr que la date soit au format Francais ?

De plus, j'ai un contrôle pour savoir si la journée a déjà été enregistrée et du coup ca ne fonctionne plus non plus

Dim rg As Range
Dim strSearch As Date
strSearch = Format(TextBox23.Text, "mm/dd/yyyy")
Set rg = Sheets("ENTREES BDD").Range("A:A").Find(strSearch)

If Not rg Is Nothing Then

    MsgBox "Journée déjà enregistrée"
    Cancel = True
    Unload Me
 Exit Sub
End If

Merci d'avance pour votre aide

Excellente journée, Bon weekend

Loic

Ps : voici le code de la TextBox lors de l'initialisation :

TextBox23.Value = Format(Now, "mm/dd/yyyy")

Bonjour,

Remplace par

TextBox23.Value = CDate(Now)

Hello,

Merci

Cela semble fonctionner mais ca affiche l'heure aussi, puis-je masquer l'heure ?

De plus, je peux ré-enregistrer la journée plusieurs fois

Excellente journée et encore merci,

Loic

Re,

Au lieu de mettre NOW, place DATE

Bonjour,

Date est un type de données particulier.

Une TextBox n'accueille par définition que du texte.

La fonction Format ne produit également que du texte.

Lors de l'affectation d'une valeur issue d'une TextBox, représentant une date, à une feuille de calcul Excel, il convient de toujours convertir la chaîne (type String) extraite de la TextBox en Date, au moyen de CDate ou DateValue, de façon que la reconnaissance en tant que Date se fasse selon les paramètres régionaux FR.

Sinon VBA reconnaîtra une date, la convertira automatiquement, mais selon les paramètres qui lui sont natifs.

Et bannir toute utilisation de la fonction Format dans cette opération, qui n'aboutirait qu'à convertir en donnée String une date déjà convertie, explicitement ou non, qui fera alors l'objet d'une reconversion sauvage (ou si elle n'est plus reconnue d'une affectation sous forme texte et non date).

Dans Excel, le format est l'affaire du format de cellule...

Cordialement.

Bonjour,

Merci beaucoup pour les réponses, j'ai enfin trouvé grâce à vos indiquations

Excellente journée et excellent weekend,

Loic

Rechercher des sujets similaires à "userform ajout date"