Transformer date texte en nombre
Résolu
Co_nexion
Messages postés
333
Statut
Membre
-
Co_nexion Messages postés 333 Statut Membre -
Co_nexion Messages postés 333 Statut Membre -
Bonjour,
J'utilise le code ci-dessous pour que les chiffres rentrés dans une textbox se mettent en format date. Malheureusement c'est un format texte qui ne permet pas de faire de calcul, auriez vous une idée pour qu'il apparaisse de cette manière en format nombre ?
J'utilise le code ci-dessous pour que les chiffres rentrés dans une textbox se mettent en format date. Malheureusement c'est un format texte qui ne permet pas de faire de calcul, auriez vous une idée pour qu'il apparaisse de cette manière en format nombre ?
'Création d'un format Date "../../...."
Private Sub TextBox5_Change()
Dim Valeur As Byte
'Nb caractères maxi autorisé dans le textbox
TextBox5.MaxLength = 10
Valeur = Len(TextBox5)
If Valeur = 2 Or Valeur = 5 Then TextBox5 = TextBox5 & "/"
End Sub
A voir également:
- Transformer date texte en nombre
- Nombre de jours entre deux dates excel - Guide
- Transcription audio en texte word gratuit - Guide
- Transformer une image en icone - Guide
- Transformer majuscule en minuscule word - Guide
- Excel cellule couleur si condition texte - Guide
5 réponses
Bonjour,
a valider des que vous avez atteint les 10 caracteres,
x = CDate(TextBox5.Text) et vous pouvez faire des calculs sur date
a valider des que vous avez atteint les 10 caracteres,
x = CDate(TextBox5.Text) et vous pouvez faire des calculs sur date
Bonjour,
Il suffit d'affecter la valeur de TextBox5 à une variable de type Date
Sub test01()
Dim d As Date
'd = TextBox5.Text
d = "18/05/2012"
MsgBox Format(d, "dddd le dd Mmm yyyy")
End Sub
Il suffit d'affecter la valeur de TextBox5 à une variable de type Date
Sub test01()
Dim d As Date
'd = TextBox5.Text
d = "18/05/2012"
MsgBox Format(d, "dddd le dd Mmm yyyy")
End Sub
Salut,
lorsque tu actives une cellule date dont la valeur se situe à gauche de ta cellule, regarde dans ta barre des formules si une appostrophe se trouve à gauche de la date.
exemple
'21/05/2012
lorsque tu actives une cellule date dont la valeur se situe à gauche de ta cellule, regarde dans ta barre des formules si une appostrophe se trouve à gauche de la date.
exemple
'21/05/2012
Je pense que j'ai du rater quelque chose d'évident mais je n'y arrive vraiment plus à m'y retrouver... Je met mon code en entier et peut être trouverez vous le problème qui me fait défaut.
Merci de m'indiquer ou je me rate concernant la transformation du format date texte en format date nombre
Merci de m'indiquer ou je me rate concernant la transformation du format date texte en format date nombre
'Bouton Validation
Public Sub CommandButton1_Click()
'Demande de saisi si champ(s) non renseigné(s)
If TextBox1 = "" Then
MsgBox " Le prénom doit être saisi"
TextBox1.SetFocus
Exit Sub
End If
If TextBox2 = "" Then
MsgBox "Le nom doit être saisi"
TextBox2.SetFocus
Exit Sub
End If
If TextBox3 = "" Then
MsgBox "L'identifiant doit être documenté"
TextBox3.SetFocus
Exit Sub
End If
If TextBox5 = "" Then
MsgBox "La date de début de contrat doit être saisie"
TextBox5.SetFocus
Exit Sub
End If
If TextBox6 = "" Then
MsgBox "La date de fin de contrat doit être saisie"
TextBox6.SetFocus
Exit Sub
End If
If TextBox7 = "" Then
MsgBox "La quotité doit être saisie"
TextBox7.SetFocus
Exit Sub
End If
'Incremente automatiquement la ligne suivante
Dim Ligne As Long
Ligne = Sheets("CDD").[A65000].End(xlUp).Offset(1, 0).Row
With Sheets("CDD")
.Cells(Ligne, 1) = Me.TextBox1
.Cells(Ligne, 2) = Me.TextBox2
.Cells(Ligne, 3) = Me.TextBox3
.Cells(Ligne, 4) = Me.Label10
.Cells(Ligne, 5) = Me.TextBox4
.Cells(Ligne, 6) = Me.TextBox5
.Cells(Ligne, 7) = Me.TextBox6
.Cells(Ligne, 10) = Me.TextBox7.Value * 1
.Cells(Ligne, 11) = Me.TextBox8
.Cells(Ligne, 12) = Me.TextBox9
End With
'Efface les données des textboxs à la validation
Dim ctrl As Variant
For Each ctrl In Array(TextBox1, TextBox2, TextBox3, TextBox4, TextBox5, TextBox6, TextBox7, TextBox8)
ctrl.Value = ""
Next
TextBox1.SetFocus
'Ferme le userform CDI et renvoi à l'accueil
UserForm_CDDnew.Hide
UserForm_Accueil.Show
End Sub
'Bouton +1
'Même construction que bouton validation
Public Sub CommandButton2_Click()
'Demande de saisi si champ(s) non renseigné(s)
If TextBox1 = "" Then
MsgBox " Le prénom doit être saisi"
TextBox1.SetFocus
Exit Sub
End If
If TextBox2 = "" Then
MsgBox "Le nom doit être saisi"
TextBox2.SetFocus
Exit Sub
End If
If TextBox3 = "" Then
MsgBox "L'identifiant doit être documenté"
TextBox3.SetFocus
Exit Sub
End If
If TextBox5 = "" Then
MsgBox "La date de début de contrat doit être saisie"
TextBox5.SetFocus
Exit Sub
End If
If TextBox6 = "" Then
MsgBox "La date de fin de contrat doit être saisie"
TextBox6.SetFocus
Exit Sub
End If
If TextBox7 = "" Then
MsgBox "La quotité doit être saisie"
TextBox7.SetFocus
Exit Sub
End If
'Incremente automatiquement la ligne suivante
Dim Ligne As Long
Ligne = Sheets("CDD").[A65000].End(xlUp).Offset(1, 0).Row
With Sheets("CDD")
.Cells(Ligne, 1) = Me.TextBox1
.Cells(Ligne, 2) = Me.TextBox2
.Cells(Ligne, 3) = Me.TextBox3
.Cells(Ligne, 4) = Me.Label10
.Cells(Ligne, 5) = Me.TextBox4
.Cells(Ligne, 6) = Me.TextBox5
.Cells(Ligne, 7) = Me.TextBox6
.Cells(Ligne, 10) = Me.TextBox7.Value * 1
.Cells(Ligne, 11) = Me.TextBox8
.Cells(Ligne, 12) = Me.TextBox9
End With
'Efface les données des textboxs
Dim ctrl As Variant
For Each ctrl In Array(TextBox1, TextBox2, TextBox3, TextBox4, TextBox5, TextBox6, TextBox7, TextBox8)
ctrl.Value = ""
Next
TextBox1.SetFocus
End Sub
'Bouton Annuler
Private Sub CommandButton3_Click()
'Efface les données des textboxs
Dim ctrl As Variant
For Each ctrl In Array(TextBox1, TextBox2, TextBox3, TextBox4, TextBox5, TextBox6, TextBox7, TextBox8)
ctrl.Value = ""
Next
TextBox1.SetFocus
'Ferme le userform CDI et renvoi à l'accueil
UserForm_CDDnew.Hide
UserForm_Accueil.Show
End Sub
'Création d'un format Date "../../...."
Private Sub TextBox5_Change()
Dim Valeur As Byte
'Nb caractères maxi autorisé dans le textbox
TextBox5.MaxLength = 10
Valeur = Len(TextBox5)
If Valeur = 10 Then
x = CDate(TextBox5.Text)
End If
If Valeur = 2 Or Valeur = 5 Then TextBox5 = TextBox5 & "/"
End Sub
'Création d'un format Date "../../...."
Private Sub TextBox6_Change()
Dim Valeur As Byte
TextBox6.MaxLength = 10
Valeur = Len(TextBox6)
If Valeur = 10 Then
x = CDate(TextBox6.Text)
End If
If Valeur = 2 Or Valeur = 5 Then TextBox6 = TextBox6 & "/"
End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Dis moi ou dois je incorporer dans mon code ta ligne de code pour que celle-ci fonctionne
a valider des que vous avez atteint les 10 caracteres,
Dans votre Private Sub TextBox5_Change() il faut tester que les 10 caracteres sont atteints.
If Valeur=10 then x = CDate(TextBox5.Text) end ifBonne suite
La date reste à gauche dans la cellule signifiant que c'est un format texte