Format données envoyées par USF

Résolu/Fermé
Villette54 Messages postés 300 Date d'inscription vendredi 15 mars 2013 Statut Membre Dernière intervention 31 juillet 2018 - Modifié par Villette54 le 25/07/2014 à 12:04
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 25 juil. 2014 à 14:44
Bonjour,

J'ai un petit soucis avec un USF, celui-ci sert juste de formulaire pour implanter des données dans un tableau Excel afin de ne pas avoir à naviguer partout dans le tableau.

Jusqu'ici tout va bien, cela fonctionne parfaitement. Le soucis survient après l'implantation des données, en effet tout ce que l'userform envoie dans le tableau Excel reste au fomat texte de base... Y compris les dates...

Cela me pause donc des soucis au niveau de mon tableau puisqu'à la place d'avoir des dates qui s'imbriquent correctement dans les filtres pour les recherches par mois par exemple, ou pour les formules qui récupère le jour/mois de la date en question.

Pour info, il me suffit juste d'activer la cellule comme si je souhaitais la modifier et de valider pour que la date se remette au bon format..

J'aurais aimé savoir s'il existait une solution à ce problème afin que mon USF envoie directement les données au bon format ? J'ai essayé avec un Cells(x,x).activate Mais cela ne fonctionne pas du tout evidemment ça serait trop simple.

Ci dessous un exemple simplifié de la façon don't je renvoie mes données :


Private Sub Valider_Click()
With Sheets("Base RDP")

'Action 1
.Cells(ligne, 19) = Action1.Value
.Cells(ligne, 20) = Responsable1.Value
.Cells(ligne, 21) = Echeance1.Value
.Cells(ligne, 22) = Realisation1.Value
.Cells(ligne, 23) = DteCloture1.Value

End With
End sub

Les deux lignes qui pausent problème sont donc Echeance1 et DteCloture1, qui sont toutes les deux des dates ! Les autres sont du texte donc pas de soucis.

Merci d'avance, et bonne journée !
A voir également:

1 réponse

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
25 juil. 2014 à 12:28
Bonjour,

Cela ne pose pas de problème chez moi...
Mais bon.
Essaye de transformer en Date la valeur de ton Textbox, comme ceci :

.Cells(ligne, 21) = CDate(Echeance1.Value)
0
Villette54 Messages postés 300 Date d'inscription vendredi 15 mars 2013 Statut Membre Dernière intervention 31 juillet 2018 28
25 juil. 2014 à 13:33
Hello,

Merci pour ta réponse.

Effectivement ta solution fonctionne très bien, si une valeur est saisie elle est automatiquement transpose au bon format mais il se peut que parfois cette textbox reste vide, auquel cas j'ai une erreur 13 mismatch qui apparait...

Une idée ?
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
25 juil. 2014 à 14:18
Oui.
If Echeance1.Value <> "" Then .Cells(ligne, 21) = CDate(Echeance1.Value)
0
Villette54 Messages postés 300 Date d'inscription vendredi 15 mars 2013 Statut Membre Dernière intervention 31 juillet 2018 28
25 juil. 2014 à 14:41
Parfait !

(J'ai honte de ne pas y avoir pensé...)

Un grand merci pour m'avoir, encore une fois, aidé..

Bon week-end !
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
25 juil. 2014 à 14:44
De rien.
Bon week end à toi également
0