Format données envoyées par USF

Résolu
Villette54 Messages postés 300 Date d'inscription   Statut Membre Dernière intervention   -  
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   -
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   Statut Modérateur Dernière intervention   2 761
 
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   Statut Membre Dernière intervention   28
 
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   Statut Modérateur Dernière intervention   2 761
 
Oui.
If Echeance1.Value <> "" Then .Cells(ligne, 21) = CDate(Echeance1.Value)
0
Villette54 Messages postés 300 Date d'inscription   Statut Membre Dernière intervention   28
 
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   Statut Modérateur Dernière intervention   2 761
 
De rien.
Bon week end à toi également
0