Erreur d’exécution ‘13

Bonjour j’ai un problème avec ma formule de date qui fonctionne une fois sur 5.

Je fais un formulaire avec une listbox pour transférer des données ( nom, prénom, date de naissance, matricule et autres indication comme date de validité, ......). Merci de m’aider.

Voici ma formule:

Private sub TextBoxDDN_change()

Me.TextBoxDDN=CDate(Me.TextBoxDDN)

End Sub

Bonjour Kolia et bienvenue, bonjour le forum,

L'utilisation de l'événement Change n'est pas, il me semble, approprié dans ce cas. En effet, dès que tu vas taper le premier caractère de la date ça va déclencher le code et la Textbox va prendre la valeur d'une date en fonction du premier caractère tapé (entre le 31/12/1899 pour 1 et 02/01/1900 pour 3). Ensuite, tu vas taper le second digit de ta date qui va se rajouter à la date déjà existante et là, plantage !

Utilise de préférence l'événement AfterUpdate ou Exit...

Private Sub TextBox1_AfterUpdate()
Me.TextBox1.Value = CDate(Me.TextBox1.Value)
End Sub
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Me.TextBox1.Value = CDate(Me.TextBox1.Value)
End Sub

Merci bcp.

Cependant, j’ai une question concernant l’affichage de mes dates.

J’ai essayé tout ce que je savais faire et je n’y arrive pas.

Sur la liste box les dates sont dans ce format : XX/mm/yyyy et je retrouve sur le formulaire avec des chiffres et par contre sur l’exportation j’ai bien XX/mm/yyyy.

J’ai encore besoin de votre savoir.🙏🏾🙏🏾🙏🏾

Re,

Oui c'est hélas un problème récurent. Normalement quand tu renvoies la valeur du contrôle vers une cellule au lieu de faire par exemple :

Range("A1").Value = TextBox1.Value

essaie comme ça :

Range("A1").Value = CDate(TextBox1.Value)

Si ça ne fonctionne pas on essaiera autre chose...

Rechercher des sujets similaires à "erreur execution"