Problème formatage texte d'une TextBox

floup -  
Iama Messages postés 319 Date d'inscription   Statut Membre Dernière intervention   -
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 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 275
 
Bonjour,

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

eric
0
floup
 
Parfait, merci beaucoup!!!
0
floup
 
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 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 275
 
Sans fichier on ne voit pas grand chose
eric
0
Iama Messages postés 319 Date d'inscription   Statut Membre Dernière intervention   14
 
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