Transformer date texte en nombre
Résolu
Co_nexion
Messages postés
328
Date d'inscription
Statut
Membre
Dernière intervention
-
Co_nexion Messages postés 328 Date d'inscription Statut Membre Dernière intervention -
Co_nexion Messages postés 328 Date d'inscription Statut Membre Dernière intervention -
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 majuscule en minuscule word - Guide
- Transformer une image en icone - 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.
Bonne suite
La date reste à gauche dans la cellule signifiant que c'est un format texte