Pb Date inversé
Bonjour,
je cherche déjà depuis plusieurs jours mais ne trouve pas la solution a mon problème, alors je vous énonce mon problème:
j'ai créé une IHM pour renseigner un tableau de traitement de nom conformité.
cette IHM reprend donc plusieurs éléments lorsque j'enregistre ma non conformité (ex: N° défaut, article, désignation, réf, date du défaut, ect)
j'ai un souci quand je rentre ma date jj/mm/aaaa lors de mon enregistrement initial, lorsque ma date apparaît dans mon tableau excel le jour et le mois est inversé.
comment résoudre ce problème?
même problème lorsque je fais une modification.
Kéline18, le forum,
La première étape, ferme Excel, va dans la "Panneau de configuration", Langue, ou Région et langue" selon les versions de Windows.
Cherche les dates.
Date courte et date longue, sont-elles au format que tu désires partout dans Windows ?
Change les au besoin.
LaCéline
Bonjour,
ta_cellule=cdate(ta_date)
eric
Bonjour !
Si même avec tout ceci ça ne fonctionne toujours pas tu peux aussi essayer :
Sélectionne tes dates puis va dans "Données" --> Convertir --> Suivant --> Suivant --> puis tu clique sur "date JMA" et tu valides !
Cdt
Merci pour vos solution, malheureusement aucune d'entre elle ne change mon problème
je n'arrive pas à faire fonctionner la formule avec "cdate", est ce que je dois au niveau de mon bouton "enregistrer" ou de ma "textbox"?
et aussi est ce que je dois noté le format de ma date en jj/mm/aaaa ou dd/mm/yyyy?
merci pour votre aide
je vous mets un bout de mon programme si ça peux vous aider à me donner une solution.
il y a les textbox des cellules dans lesquelles je renseigne la date et les 2 boutons enregistrer et modifier
Private Sub EMISSION_Change()
'Code permettant de mettre une date au format 00/00/0000 dans une textbox
Dim valeur As Byte
EMISSION.MaxLength = 10 'nb caractères maxi autorisé dans le textbox
valeur = Len(EMISSION)
If valeur = 2 Or valeur = 5 Then EMISSION = EMISSION & "/"
End Sub
Private Sub VU_Change()
'Code permettant de mettre une date au format 00/00/0000 dans une textbox
Dim valeur As Byte
VU.MaxLength = 10 'nb caractères maxi autorisé dans le textbox
valeur = Len(VU)
If valeur = 2 Or valeur = 5 Then VU = VU & "/"
End Sub
Private Sub TRAITER_Change()
'Code permettant de mettre une date au format 00/00/0000 dans une textbox
Dim valeur As Byte
TRAITER.MaxLength = 10 'nb caractères maxi autorisé dans le textbox
valeur = Len(TRAITER)
If valeur = 2 Or valeur = 5 Then TRAITER = TRAITER & "/"
End Sub
Private Sub SOLDERAC_Change()
'Code permettant de mettre une date au format 00/00/0000 dans une textbox
Dim valeur As Byte
SOLDERAC.MaxLength = 10 'nb caractères maxi autorisé dans le textbox
valeur = Len(SOLDERAC)
If valeur = 2 Or valeur = 5 Then SOLDERAC = SOLDERAC & "/"
End Sub
' permet l'enregistrement d'un nouveau RAC
Private Sub ENREGISTRER_Click()
Sheets("RAC").Activate
Range("A1").Select
Selection.End(xlDown).Select 'on se positionne sur la derniere ligne non vide
Selection.Offset(1, 0).Select 'on se décale d'une ligne vers le bas
ActiveCell = PCRAC.Value
ActiveCell.Offset(0, 2).Value = EMISSION 'date
ActiveCell.Offset(0, 3).Value = SEMAINE
ActiveCell.Offset(0, 4).Value = SOLDERAC 'date
ActiveCell.Offset(0, 5).Value = REDACTEUR
ActiveCell.Offset(0, 6).Value = RMA
ActiveCell.Offset(0, 7).Value = N°RAC
ActiveCell.Offset(0, 8).Value = VU 'date
ActiveCell.Offset(0, 9).Value = TRAITER 'date
ActiveCell.Offset(0, 10).Value = DECISION
ActiveCell.Offset(0, 11).Value = AQ
ActiveCell.Offset(0, 12).Value = ENGIN
ActiveCell.Offset(0, 13).Value = REFERENCE
ActiveCell.Offset(0, 14).Value = DESIGNATION
ActiveCell.Offset(0, 15).Value = OF
ActiveCell.Offset(0, 16).Value = NUMERO
ActiveCell.Offset(0, 17).Value = QT
ActiveCell.Offset(0, 18).Value = DEFAUT
ActiveCell.Offset(0, 19).Value = DESSSENS
ActiveCell.Offset(0, 20).Value = SERIESSENS
ActiveCell.Offset(0, 21).Value = DESCRIPTIF
ActiveCell.Offset(0, 22).Value = ACTION
ActiveCell.Offset(0, 23).Value = OBSERVATION
ActiveCell.Offset(0, 24).Value = CAUSERACINE
ActiveCell.Offset(0, 25).Value = CAUSE
ActiveCell.Offset(0, 26).Value = TDEF
ActiveCell.Offset(0, 27).Value = IMPUTATION
ActiveCell.Offset(0, 28).Value = ACTIVITES
ActiveCell.Offset(0, 30).Value = PLANACTION
ActiveCell.Offset(0, 32).Value = EAG2
ActiveCell.Offset(0, 33).Value = RECURRENT
ActiveCell.Offset(0, 34).Value = PROGDEFAUT
ActiveCell.Offset(0, 35).Value = AQREBUT
ActiveCell.Offset(0, 36).Value = REFREBUT
ActiveCell.Offset(0, 37).Value = SEREBUT
ActiveCell.Offset(0, 38).Value = QTREBUT
ActiveCell.Offset(0, 39).Value = COUT
ActiveCell.Offset(0, 40).Value = TTCOUT
ActiveCell.Offset(0, 41).Value = PF
'invertion date/mois
MsgBox "Données ENREGISTRE", vbOKOnly + vbInformation, "CONFIRMATION"
End Sub
' permet la modication d'un RAC existant
Private Sub MODIFIER_Click()
Dim no_ligne As Integer
Sheets("RAC").Select
no_ligne = rechercheRAC.ListIndex + 2
If rechercheRAC.Value = "" Then
Else
Cells(no_ligne, 1) = PCRAC.Value
Cells(no_ligne, 3) = EMISSION.Value 'date
Cells(no_ligne, 4) = SEMAINE.Value
Cells(no_ligne, 5) = SOLDERAC.Value 'date
Cells(no_ligne, 6) = REDACTEUR.Value
Cells(no_ligne, 7) = RMA.Value
Cells(no_ligne, 8) = N°RAC.Value
Cells(no_ligne, 9) = VU.Value 'date
Cells(no_ligne, 10) = TRAITER.Value 'date
Cells(no_ligne, 11) = DECISION.Value
Cells(no_ligne, 12) = AQ.Value
Cells(no_ligne, 13) = ENGIN.Value
Cells(no_ligne, 14) = REFERENCE.Value
Cells(no_ligne, 15) = DESIGNATION.Value
Cells(no_ligne, 16) = OF.Value
Cells(no_ligne, 17) = NUMERO.Value
Cells(no_ligne, 18) = QT.Value
Cells(no_ligne, 19) = DEFAUT.Value
Cells(no_ligne, 20) = DESSSENS.Value
Cells(no_ligne, 21) = SERIESSENS.Value
Cells(no_ligne, 22) = DESCRIPTIF.Value
Cells(no_ligne, 23) = ACTION.Value
Cells(no_ligne, 24) = OBSERVATION.Value
Cells(no_ligne, 25) = CAUSERACINE.Value
Cells(no_ligne, 26) = CAUSE.Value
Cells(no_ligne, 27) = TDEF.Value
Cells(no_ligne, 28) = IMPUTATION.Value
Cells(no_ligne, 29) = ACTIVITES.Value
Cells(no_ligne, 31) = PLANACTION.Value
Cells(no_ligne, 33) = EAG2.Value
Cells(no_ligne, 34) = RECURRENT.Value
Cells(no_ligne, 35) = PROGDEFAUT.Value
Cells(no_ligne, 36) = AQREBUT.Value
Cells(no_ligne, 37) = REFREBUT.Value
Cells(no_ligne, 38) = SEREBUT.Value
Cells(no_ligne, 39) = QTREBUT.Value
Cells(no_ligne, 40) = COUT.Value
Cells(no_ligne, 41) = TTCOUT.Value
Cells(no_ligne, 42) = PF.Value
AUJOURDHUI.Value = Format(Now, "dd/mm/yyyy")
MsgBox "Confirmez-vous la modification des données?", vbOKOnly + vbInformation, "CONFIRMATION"
End If
End Sub
Bonjour,
si textbox1 contient "12/06/2017" alors :
cells(1,1)=cdate(textbox1)
eric
merci eriiic pour ta réponse mais je ne comprend pas ou je dois écrire "cells(1,1)=cdate(textbox1)" dans mon programme
si on part du principe que ma textbox1 soit renommer EMISSION, comment dois je écrire le code? (en entier svp)
Heuuu, c'est vraiment toi qui l'a écrit ? Tu ne fais pas beaucoup d'effort...
Cells(no_ligne, 3) = cdate(EMISSION.Value) 'date
Même si ça fonctionne pareil la propriété par défaut d'un textbox est .Text normalement, pas .Value
Quand tu colles du code met-lui la balise Code qu'il soit plus lisible.
merci ça semble fonctionner!
sinon oui c'est moi qui ai créé le code, en total débutante, je m'aide de tuto vidéo et des forums pour réalisé mon programme.
heureusement que vous existez
Bonjour,
Remarque hors sujet : tu devrais commencer par des cours de base, tu apprendrais ainsi à remplacer ton code interminable et indigeste par des boucles...
Cordialement.