Transfert date Textbox vers cellule // Format France à USA

Bonjour à tous les experts en VBA,

Après de longues recherches sur le forum, je fais appel à vous pour un problème que je ne pense pas être le seul à avoir rencontré.

Dans un projet Excel avec UserForm et tableau dans un onglet, j’ai un souci dans la conservation du format des dates entre le UF et les cellules du tableau. En effet, je stocke dans dates dans un UF via une TextBox sous forme jj/mm/aaaa et les renvoie vers un tableau excel via les fonctions suivantes :

[…]
        Range("G59").Value = Me.TextBox18.Value
        Range("T59").Value = Me.TextBox19.Value
        Range("G61").Value = Me.TextBox20.Value
[…]

Le problème est que les dates passent du format jj/mm à mm/jj. Pour exemple, une date qui était le 01/07/2014 ( 1 juillet 2014 ) dans la TB 19, une fois renvoyée dans le tableau Excel, devient 07/01/2014 ( 7 janvier 2014. J’ai trouvé la fonction CDate et ai donc testé la fonction :

[…]
        Range("G59").Value = Me.TextBox18.Value
        Range("T59").Value = CDate(TextBox19.Value)
        Range("G61").Value = Me.TextBox20.Value
[…]

Cela fonctionne parfaitement mais il m’arrive de laisser des TB avec N/A ou tout autre chaine de caractère quand je n’ai pas de date à y inscrire. Assez logiquement, la fonction CDate plante quand la TB ne contient pas de date.

J’ai donc besoin de votre aide car je sèche ! Avec vous une idée pour tester si la TB19 contient une date et donc la renvoyer sous la forme jj/mm/aaaa originelle (donc sans inversion de chiffres) mais que si elle contient une chaine de caractère quelconque qu’elle la copie dans l’état ?

Merci d’avance pour votre aide, qui comme d’habitude sera parfaite 8)

Jonathan

Bonsoir,

essaie avec

if isdate(textbox19.value) then Range("T59").Value = CDate(TextBox19.Value)
Rechercher des sujets similaires à "transfert date textbox format france usa"