Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Problème avec les dates...

  • Initiateur de la discussion Initiateur de la discussion EricD01
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

E

EricD01

Guest
Bonsoir à tous...

Je vous joint un fichier avec lequel j'ai un gros problème avec les dates à savoir que lorsque j'inscris une date dans la zone de saisie par exemple: 02/03/2009 et aprés avoir fait [ENTREE] je souhaiterais faire apparaitre dans la zone LABEL située juste en dessous la date au format: lundi 02 mars 2009 afin d'en extraire le jour pour la suite de mon programme...mais voila il apparait: mardi 03 février 2009 (c'est à dire la date inversée)..

Je manipule souvent des dates mais là!!!!!!!!!!!!!!mystère...cela ne viendrais t'il pas de mo ordi a force d'essayer je me le demande...

Merci d'avance à qui me répondra...
 

Pièces jointes

Re : Problème avec les dates...

Bonsoir EricD01,

Je confirme tes doutes, le problème vient bien de ton PC et non du fichier!

J'ai essayé le fichier sur mon PC, (sans faire aucune modification - ni sur mon PC - ni dans ton fichier), ça fonctionne à la perfection.

Bonne fin de soirée
 
Re : Problème avec les dates...

Bonsoir Eric01,

le problème est que parfois, excel inverse le jour et le mois (il lit ta date à la mode américaine quand le jour est inférieur à 13.
Je n'ai pas reproduit ton bug, et à vrai dire sachant que tu imposes le format de Text1, je ne comprends pas.

J'ai allégé un peu ton code (il est inutile de convertir deux fois Text1 au format que tu souhaites :

Code:
Private Sub Text1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then
Dim jours As String
jours = ("lundi 1 mardi 2 mercredi 3 jeudi 4 vendredi 5 samedi 6 dimanche 7")
Text1 = Format$(Text1, "dddd dd mmmm yyyy")
v = Split(jours, " ")
t = Split(Text1, " ")
For x = 0 To 14 Step 2
  If t(0) = v(x) Then GoTo suite
Next x
suite:
Label2.Caption = Text1
End If
End Sub

a+
EDIT: bonsoir Excel-lent 🙂
 
Dernière édition:
Re : Problème avec les dates...

Allô!

Le format de la date courte de Windows influence le comportement des macros lors de la manipulation de dates.

Si le format serait : jj-MM-aaaa, il y a bien des chances que l'erreur ci-haut mentionnée, n'existerait plus.

Pour vérifier : Panneau de configuration > Options régionales et linguistiques > section : Standards et formats > bouton : Personnaliser > onglet : Date > section : Date courte.

Si le chiffrier est pour être utilisé sur une seule machine, cela va probablement corriger l'erreur.

Si le chiffrier est pour être distribué, il faudrait contourner par un long code :
détection du format de la date : Application.International(xlDateOrder)
placer chacun des segments (jour, mois, année) dans des variables indépendantes
recomposer en variant l'ordre des variables (Select case... )

Il serait bien plus simple si on pouvait déclarer le format de dates au début de la macro.
Si c'est possible, je ne sais pas comment faire.
Mais rien n'est parfait.

GFortin
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

F
Réponses
3
Affichages
628
G
Réponses
8
Affichages
2 K
S
Réponses
5
Affichages
2 K
Stobbart
S
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…