Problème formatage texte d'une TextBox

Fermé
floup - 14 août 2014 à 23:23
Iama Messages postés 319 Date d'inscription mercredi 13 janvier 2010 Statut Membre Dernière intervention 27 mars 2020 - 16 août 2014 à 14:52
Bonjour,

J'ai un souci avec mon UserForm: j'ai des TextBox dans lesquelles des dates doivent être saisies. Je veux ensuite pouvoir trier mon tableau en fonction de ces dates.
Mon problème est pour formater le cellule remplie par le formulaire en date.
J'utilise le script suivant pour rajouter les "/" entre jour/mois/année:
Private Sub TextBox5_Change()
Dim Valeur As Byte

Valeur = Len(TextBox5)
If Valeur = 2 Or Valeur = 5 Then TextBox5 = TextBox5 & "/"
End Sub

Puis celui-ci pour formater le texte récupéré:
Range("E" & L).Value = Format(TextBox5, "dd/mm/yy")

Mais la cellule dans la feuille de calcul n'est pas reconnue comme une date et du coup je peux pas trier le tableau par cette colonne...

Je ne sais pas si je me suis bien exprimé, j'espère que l'un d'entre vous aura une solution à m'apporter!

Merci d'avance :)


A voir également:

3 réponses

eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 7 238
15 août 2014 à 00:18
Bonjour,

essaie avec
Range("E" & L).Value = cdate(TextBox5)

eric
0
Parfait, merci beaucoup!!!
0
Je me permets de poser une autre question (différente mais portant sur le même code):
J'aimerais tester que toutes les textbox sont remplies avant d'ajouter une nouvelle ligne à mon tableau mais lorsque je fais:

    If TextBox1 = vbNullString Then MessageBox ("Veuillez remplir la zone " & Me.Label1.Caption) Else range("A" & L).Value = TextBox1
If TextBox2 = vbNullString Then MessageBox ("Veuillez remplir la zone " & Me.Label2.Caption) Else range("B" & L).Value = TextBox2
If TextBox3 = vbNullString Then MessageBox ("Veuillez remplir la zone " & Me.Label3.Caption) Else range("C" & L).Value = TextBox3
If TextBox4 = vbNullString Then MessageBox ("Veuillez remplir la zone " & Me.Label4.Caption) Else range("D" & L).Value = Format(Replace(TextBox4, ".", ","), "Currency")
If TextBox5 = vbNullString Then MessageBox ("Veuillez remplir la zone " & Me.Label5.Caption) Else range("E" & L).Value = CDate(TextBox5)
If TextBox6 = vbNullString Then MessageBox ("Veuillez remplir la zone " & Me.Label6.Caption) Else range("F" & L).Value = TextBox6
If TextBox7 = vbNullString Then MessageBox ("Veuillez remplir la zone " & Me.Label7.Caption) Else range("G" & L).Value = TextBox7
If TextBox8 = vbNullString Then MessageBox ("Veuillez remplir la zone " & Me.Label8.Caption) Else range("H" & L).Value = TextBox8
If TextBox9 = vbNullString Then MessageBox ("Veuillez remplir la zone " & Me.Label9.Caption) Else range("I" & L).Value = Format(Replace(TextBox9, ".", ","), "Currency")
If TextBox10 = vbNullString Then MessageBox ("Veuillez remplir la zone " & Me.Label10.Caption) Else range("J" & L).Value = Format(Replace(TextBox10, ".", ","), "Currency")

J'ai le message d'erreur "sub or function not defined" portant sur le "if textbox"
Pourtant si j'enlève la condition et laisse uniquement l'instruction du else (range.value=textbox) tout marche bien, ce qui prouve que mes textbox sont bien déclarées...
Je vois pas trop comment faire!

Merci d'avance
0
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 7 238
15 août 2014 à 17:49
Sans fichier on ne voit pas grand chose
eric
0
Iama Messages postés 319 Date d'inscription mercredi 13 janvier 2010 Statut Membre Dernière intervention 27 mars 2020 14
16 août 2014 à 14:52
bonjour

Eric à raison, mais à ton hasard

If TextBox1 = vbNullString Then MessageBox ("Veuillez remplir la zone " & Me.Label1.Caption) Else range("A" & L).Value = TextBox1

Essaye
If TextBox1 = vbNullString Then
MessageBox ("Veuillez remplir la zone " & Me.Label1.Caption)
Else
range("A" & L).Value = TextBox1
end if
0