Sélection date avec combobox 12/01/2015 mais dans cellule 1 déc.

Linebaker Messages postés 50 Date d'inscription   Statut Membre Dernière intervention   -  
Linebaker Messages postés 50 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Lorsque je sélectionne une date à l'aide d'un combobox (12/01/2015), la date copiée dans le cellule est le 1 déc. 2015.

Donc, comment avoir la date 12 janv. 2015 ?

Merci


A voir également:

8 réponses

NHenry Messages postés 15219 Date d'inscription   Statut Modérateur Dernière intervention   365
 
12/01/2015
jj/mm/aaaa (france)
ou
mm/jj/aaaa (anglophone)
?
0
Linebaker Messages postés 50 Date d'inscription   Statut Membre Dernière intervention   1
 
Bonjour, NHenry,

Je sélectionne 12/01/2015 (jj/mm/aaaa) et je veux aaaa/mm/jj pour qu'il soit affiché 12 janv. 2015.

Voici ma ligne de code pour alimenter le combobox :

If Controls("Combobox" & I).ListIndex = -1 Then Controls("Combobox" & I).AddItem cell

et la ligne de transfert : ActiveCell.Offset(0, 1) = CDate(ComboBox16)

Merci de ton aide
0
NHenry Messages postés 15219 Date d'inscription   Statut Modérateur Dernière intervention   365
 
As-tu regardé la fonction Format$ ?
format$(CDate(...),"...")
0
Linebaker Messages postés 50 Date d'inscription   Statut Membre Dernière intervention   1
 
Bonjour NHenry,

J'ai changé la ligne :

ActiveCell.Offset(0, 1) = Format$(CDate(ComboBox16), "dd mmm yyyy")

mais j'ai toujours le 1 déc. 2015 qui s'inscrit dans la cellule.

Est-il possible que mon combobx qui s'alimente avec les dates dd mmm yyyy convertisse ce format car lorsque je choisis une date ce qu'il y a dans le combobox est dd/mm/yyyy donc pas le même format que la cellule de départ ?

Merci
0
NHenry Messages postés 15219 Date d'inscription   Statut Modérateur Dernière intervention   365
 
Espionnes la valeur retournée par CDate et compares-la à la valeur de Now, tu verra si l'inversion est faite lors du CDate ou si c'est la cellule qui inverse.
0
Linebaker Messages postés 50 Date d'inscription   Statut Membre Dernière intervention   1
 
Salut,

CDate me donne 2015-11-01 et combobox me donne 11/01/2015.

Comment on corrige cela ?

Merci
0
NHenry Messages postés 15219 Date d'inscription   Statut Modérateur Dernière intervention   365
 
Apparemment, le CDate prend le format de ton combobox comme mm/jj/aaaa.
Je pense donc qu'un simple manipulation de chaine pour transformer jj/mm/aaa en mm/jj/aaa serait suffisant pour corriger ton problème.
Voir la fonction : Mid$(...)
0

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

Posez votre question
Linebaker Messages postés 50 Date d'inscription   Statut Membre Dernière intervention   1
 
Salut,

Je ne vois comment MID$() pourrait résoudre le problème ???

Merci
0
NHenry Messages postés 15219 Date d'inscription   Statut Modérateur Dernière intervention   365
 
Avec Mid$, tu reformatte la chaine, en inversant jj et mm.
Puis tu passe le tout à CDate.
0
Linebaker Messages postés 50 Date d'inscription   Statut Membre Dernière intervention   1 > NHenry Messages postés 15219 Date d'inscription   Statut Modérateur Dernière intervention  
 
Alors là je ne sais vraiment pas comment faire.
0
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
0
Linebaker Messages postés 50 Date d'inscription   Statut Membre Dernière intervention   1
 
Rien à faire, mon combobox dd mmm yyyy se transfert toujours en mmm dd yyyy.
0
NHenry Messages postés 15219 Date d'inscription   Statut Modérateur Dernière intervention   365
 
Quel code de changement de format as-tu utilisé ?
As-tu regardé le lien de Le Pivert ?
0
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
Bonjour,
Salut tout le monde,

Bonne année à tous.

Que te réponds ce test ?
Sub Test()
MsgBox Application.International(xlMDY)
End Sub

0
Linebaker Messages postés 50 Date d'inscription   Statut Membre Dernière intervention   1
 
Salut,

La réponse : Faux.

Probablement mes paramètres régionnaux cause ce problème, mais comme c'est un fichier partagé avec chacun ses paramètres, comment forcer le format ?

Merci
0
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761 > Linebaker Messages postés 50 Date d'inscription   Statut Membre Dernière intervention  
 
Non, faux signifie que tes dates sont paramétrées au format dd/mm/yyyy. Donc c'est tout bon.
A mon avis, l'erreur vient du fichier.
Peux tu nous le faire passer?
Pour transmettre un fichier, il faut passer par un site de pièce jointe tel que cjoint.com

Va sur ce site : https://www.cjoint.com/
Clic sur parcourir,
Cherche ton fichier,
clic sur ouvrir,
Clic sur "Créer le lien cjoint",
Copier le lien,
Revenir ici le coller dans une réponse...
0
Linebaker Messages postés 50 Date d'inscription   Statut Membre Dernière intervention   1 > pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention  
 
Salut,

Voici le lien : https://www.cjoint.com/?0AnqMbGAbDc

Merci
0
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761 > Linebaker Messages postés 50 Date d'inscription   Statut Membre Dernière intervention  
 
Le fichier fournit fonctionne parfaitement chez moi.
ActiveCell.Value = CDate(ComboBox16)
donne le résultat voulu...
0
Linebaker Messages postés 50 Date d'inscription   Statut Membre Dernière intervention   1 > pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention  
 
Malheureusement pas ici. De quelle manière je pourrais forcer le format ? Je n'ai plus d'idée.

J'ai essayé : ActiveCell.Offset(0, 1) = formant(CDate(ComboBox16) , yyyy mm dd mais sans succès.
0