Modifier format date

Bonsoir à toutes et à tous

Je complète un tableau au moyen d'un formulaire et dans les données introduite il y a la date. Je le rentre sous le format :"21/10/17" par exemple.

Je voudrais que le format change automatique dans le tableau en : "samedi 21 octobre 2017".

Merci d'avance pour votre aide.

Bonjour,

Si ta date ... est vraiment une date ... et pas du texte ...

tu peux utiliser le format personnalisé

dddd dd mmmm yyyy

Bonsoir James007

Merci pour ton aide

Je joind les lignes de code que j'utilise: "'

'Pour le bouton Modifier

'

Private Sub CommandButton2_Click()

Dim Ligne As Long

Dim I As Integer

If MsgBox("Confirmez-vous la modification de cette course ?", vbYesNo, "Demande de confirmation de modification") = vbYes Then

If Me.ComboBox1.ListIndex = -1 Then Exit Sub

Ligne = Me.ComboBox1.ListIndex + 3

Vs.Cells(Ligne, "D") = ComboBox2

For I = 1 To 2

If Me.Controls("TextBox" & I).Visible = True Then

Vs.Cells(Ligne, I + 1) = Me.Controls("TextBox" & I)

End If

Next I

For I = 3 To 3

If Me.Controls("TextBox" & I).Visible = True Then

Vs.Cells(Ligne, I + 2) = Me.Controls("TextBox" & I)

End If

Next I

End If

Range("B3:B39").Select

Range("A1").Select

End Sub"

Mais cela ne fonctionne pas

Si cela peut aider à trouver la solution.Encore merci

Re,

Tu peux tester

Range("B3:B39").NumberFormat = "dddd, mmmm dd, yyyy"

En espèrant que cela aide ...

Bonsoir,

On n'affecte jamais une valeur de TextBox représentant une date à une cellule sans la convertir en date !

Tu ne viendras pas te plaindre quand des problèmes surviendront !

Cordialement.

Bonjour MFerrand

Merci ta remarque m'a bien aidé.

J'ai trouvée la solution.

"If IsDate(TextBox1.Text) Then

End If"

A te relire

Mauvais choix ! Désolé !

Format renvoie une donnée de type String, et non de type Date.

La conversion se fait avec CDate (ou DateValue).

Cordialement.

Pourtant cela fonctionne, mais peux tu m'en dire un peu plus

Merci

Ton exemple n'est pas très probant, car le problème se pose généralement lors de l'affectation d'une valeur de TextBox à une cellule, or toi tu l'affectes à une TextBox (et ton extrait de code n'indique pas d'où vient la valeur...)

De plus, tu lui donnes un format quelque peu ésotérique et basé sur le format américain ! Ce qui en fait plutôt un contre-exemple !

Il faut voir ce que cela devient lors de l'affectation à une cellule... Le cas de ton exemple, s'il est reconnu comme date ne posera pas de problème particulier en raison justement du format américain de la chaîne, mais il peut fort bien ne pas être reconnu et être inséré comme valeur texte !

Cordialement.

Désolé, mais ton résonnement me paraît un peu abscons . Mais j'admet très facilement que je suis un béotien

en ce qui concerne le VBA et donc j'accepte facilement tous les conseils et toutes le critiques.

Pour être plus précis, j'utilise un Userform avec deux comboBox, 3 TextBox et 5 commandButton pour compléter une liste de compétitions.

Dans la TextBox1 j'entre la date sous le forme 22/10/17 par exemple et quand je valide avec le CDB1, la date dans la TextBox1 devient dimanche 22 oct 2017 et ce retranscrit dans la cellule concernée du tableau, de la même manière ce qui me convient parfaitement .

Mais il est certaiement possible de faire mieux.

A te relire.

Avec le code format que tu as indiqué, la date dans la TextBox1 devient : dimanche/oct/22/2017

Et si cela se retranscrit de la même manière dans la cellule, il est fort probable que tu as du texte et non une date. A vérifier ce qui se lit dans la barre de formule lorsque tu es sur la cellule en question...

La question est la gestion des dates, et le fait que cette gestion présente quelques différences sensibles entre Excel et VBA...

Deux types de problèmes sont toujours susceptibles de survenir : un problème d'inversion mois/jour (mais qui ne peut évidemment apparaître que pour les jours inférieurs à 13, et une substitution de valeur texte à une valeur date...

Cordialement.

Effectivement au premier essai j'avais dimanche/oct/22/2017 mais j'avais juste à inverser mmm et dd ma formule maintenant est

ddd dd mmm yyyy et j'obtient dim. 20 oct 2017 par ex.

Merci encore pour tes remarques.

A te relire

Bonne continuation.

A ton prochain écueil sur des dates... !

Rechercher des sujets similaires à "modifier format date"