renvoie de date d'un combobox a une cellule

  • Initiateur de la discussion Evelynetfrancois
  • Date de début
E

Evelynetfrancois

Guest
bonjour

Pour renvoyer une date d'un conbobox (sur usf)
j'utilise c'est deux lignes

Sheets('Cumul').Range('C1') = ComboBox1.Value
Sheets('Cumul').Range('D1') = ComboBox2.Value

la valeur renvoyé dans C1 est TOUJOUR bonne (bon sens )
la valeur renvoyé dans D1 est quelque fois inversé ?

c1 = 09/04/05 : 9 avril 2005 ok
d1 = 04/09/05 : ????

j'espere etre clair

je vous remercie pour toute l'aide que vous pourriez m'apporter
bonne journee
E et F
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonjour E&F, Pascal, le Forum

La méthode seule CDate, proposée par mon copain Pascal risque de ne rien faire, car en fait ta combo renvoit déjà bien une date mais en format américain...

essaie comme çà

With Sheets('Cumul').Range('C1')
.Value = CDate(ComboBox1.Value)
.NumberFormat = 'DD/MM/YYYY'
End With

Bonne Journée

@+Thierry
 

PascalXLD

XLDnaute Barbatruc
Modérateur
re

En fait Thierry j'avais ce problème

Je tapais des dates au format dd/mm/yyy avec des paramètres windows au format dd/mm/yyyy mais va savoir il me les traduisait au format mm/dd/yyyy lors de la copie sur la feuille si le jour était inférieur à 13 bien sûr

Par contre si je précisais la 'conversion' avec le cdate il comprenait bien le format 'français'

:whistle:
 
E

Evelynetfrancois

Guest
merci a vous deux
j'ai teste les deux exemples(solutions)

et les deux fonctionnent !!!


Sheets('Cumul').Range('D1') = cdate(ComboBox2.Value)
ou

With Sheets('Cumul').Range('C1')
.Value = CDate(ComboBox1.Value)
.NumberFormat = 'DD/MM/YYYY'
End With

me donne les dates dans le bon sens jj mm aaaa
merci beaucoup
bonne journée
E et F
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Re Bonjour à vous deux, enfin trois !

En fait comme le disait Ti dans un Post une fois (oui oui je suis Belge ! LoooL) c'est toujours un X² de soucis de 'manipululer' des dates en VBA, car non, il n'y a pas de 'Va Savoir' Pascal, mais Windows et ses acolytes VB et VBA étant des produits Américains, le format Natif d'une Date est bien MM/DD/YYYY de même que le premier jour de la semaine un Dimanche et bien d'autres etc etc...

Ce qui fait que lorsqu'ils ont fait des versions Internationnales d'Excel, en Français pour ce qui nous/vous concerne, ils ont bien su gérer cette transition de date au sein de l'application Excel elle même et des Formules et Fonctions Intégrées, mais en ce qui concerne les applications 'In House'... C'est toujours assez aléatoire. Surtout si la dîte application est vouée à circuler entre diverses machine de configuration linguistiques différentes...

Donc c'est pour ceci que je conseille de faire la 'totale' !! (CDate & NumberFormat)

Bonne Journée
@+Thierry
 
E

evelynetfrancois

Guest
super tout ca
mon probleme etait identique a celui de pascal76
avec les dates inferieures au 13
mais que pour un seul des deux conbo ???????
je prends donc note avec interet de ta formule 'complete'
et encore sincerement un grand merci !!!!!!!!!!!!!!!
a vous deux
E et F
 

Discussions similaires

Réponses
3
Affichages
2 K

Statistiques des forums

Discussions
312 669
Messages
2 090 740
Membres
104 644
dernier inscrit
MOLOKO67