Problème de date et textbox

Résolu
tyron2002 Messages postés 8 Date d'inscription mercredi 23 juin 2010 Statut Membre Dernière intervention 2 juillet 2010 - 23 juin 2010 à 17:43
Adn56 Messages postés 1172 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 28 septembre 2013 - 2 juil. 2010 à 13:17
Bonjour à tous,

Je vous demande un petit coup de mains car j'ai fait un petit programme dans lequel l'utilisateur doit renseigner une date dans une textbox. Cette dernière affiche par défaut la date du jour. Quand je renvoi la date dans une cellule excel si l'utilisateur n'a pas modifié la date par défaut celle-ci s'affiche au format dd/mm/yyyy ( pas de soucis ) par contre si il à rentré une date autre celle ci s'affiche au format mm/dd/yyyy.

Je pense que je ne suis pas le premier à rencontrer ce soucis mais malgré tout ce que j'ai put lire à droite à gauche sur les forums je n'ai pas trouvé de solution et j'en ai essayé pas mal...

Merci d'avance pour votre aide si je n'ai pas été clair n'hésitez pas à ma le dire !!

9 réponses

tyron2002 Messages postés 8 Date d'inscription mercredi 23 juin 2010 Statut Membre Dernière intervention 2 juillet 2010
24 juin 2010 à 08:17
Ca y'est j'ai trouvé !!! ( enfin ça fait vraiment très longtemps que je cherchai et la solution est vraiment écœurante de simplicité ... )

Là ça marche :

Public vntIntervention As String

Private Sub TxtDate_Change()

vntIntervention = TxtDate.Value

End Sub

Private Sub CmdFin_Click()
vntIntervention = format(vntIntervention, "mm/dd/yyyy")
Cells(intL1, intC1).Value = vntIntervention

End Sub



Merci pour ton aide adn56 ce n'était pas forcement la solution mais le fait d'aborder le problème d'un autre angle m'a permis de trouver la solution ;)
3
Adn56 Messages postés 1172 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 28 septembre 2013 1
23 juin 2010 à 19:16
salut, je ne connais pas le vba des derniéres versions d'office, mais à mon époque je passais par une concaténation :
cell(x,y).value = XX.day & "/" & XX.month &/& XX.year (XX la variable qui contient la date).
cordialement.
0
tyron2002 Messages postés 8 Date d'inscription mercredi 23 juin 2010 Statut Membre Dernière intervention 2 juillet 2010
24 juin 2010 à 08:01
Ton idée me paraissait pas mal mais voila le message qu'il me renvoi :"qualificateur incorrect"

Et que je déclare XX ( ma variable) en Date ou String ça ne change rien.
grosso modo voila ce que je fais :

Public vntIntervention As Date
'( j'ai essayer avec String ca ne marche pas mieux )

Private Sub TxtDate_Change()

vntIntervention = TxtDate.Value

End Sub

Private Sub CmdFin_Click()

Cells(intL1, intC1).Value = vntIntervention

End Sub

Merci d'avance pour votre aide
0
Adn56 Messages postés 1172 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 28 septembre 2013 1
24 juin 2010 à 12:33
arf, le pire c'est que je viens de regarder ce matin au taff une vieille source est j'allais te poster ce midi la soluce avec format
Mais c'est toujours mieux de trouver par soi même
++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
tyron2002 Messages postés 8 Date d'inscription mercredi 23 juin 2010 Statut Membre Dernière intervention 2 juillet 2010
24 juin 2010 à 13:09
Merci quand même.

++
0
tyron2002 Messages postés 8 Date d'inscription mercredi 23 juin 2010 Statut Membre Dernière intervention 2 juillet 2010
1 juil. 2010 à 15:35
Bon je relance ce sujet car la solution que j'ai trouvé marche très bien chez moi et mon excel 2007 mais pas chez un collègues avec excel 2003. J'ai lut des trucs comme quoi il faudrai mettre M/D/yyyy à la place de mm/dd/yyyy ça vous dit quelques choses ?
0
Adn56 Messages postés 1172 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 28 septembre 2013 1
1 juil. 2010 à 16:47
Salut, Utilise plutot ceci, car ce codage fonctionne trés bien.

Range("A2").NumberFormat = "d-mmm-yy"


Affiche par exemple : 01-juin-10

(code Excel 2002.)

++
0
tyron2002 Messages postés 8 Date d'inscription mercredi 23 juin 2010 Statut Membre Dernière intervention 2 juillet 2010
2 juil. 2010 à 09:06
Range("A2").NumberFormat = "d-mmm-yy"


Change la mise en forme de la date mais ne résout pas le problème d'inversion entre le mois et le jour provenant de la norme américaine.
0
Adn56 Messages postés 1172 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 28 septembre 2013 1
2 juil. 2010 à 13:17
'inscrit la date (mois et jours inversé pour pouvoir filtrer la date en francais avec excel)
Range("a2").Value = Calendar1
' fonctionne grace à l'astuce de la mise en forme de la date (en/fr)
Range("A2").NumberFormat = "d-mmm-yy"

Voila ce que j'ai dans ma macro et le résultat est OK (selection via une datetimepicker)
Tiens d'ailleur ce control fait buguer le classeur
cela marchait bien y'a 1 an !

bon ben voila...++
0
Rejoignez-nous