Problème format de date

Bonjour,

J'avais publié sur ce thème en pensant résoudre mon problèmen mais ce n'est pas le cas...

Voilà mon soucis je definis un format de date dans ma macro sous forme dd/mm/yyyy que j'affecte à une cellule spécifiée.

Mais lorsque que j'éxécute ma macro le format de la cellule est mm/dd/yyyy ...

-Mon PC est bien en français

-Lorsque je remplace les slashs pas des tirets ça fonctionne

-si je mets juste mm/yyyy ça fonctionne

Dès lors que j'ajoute le jour suivis du slash, cela s'inverse ...

Je suis partie d'une feuille vierge pour essayer d'isoler mon problème, au cas où une autre ligne de ma macro poserait problème mais c'est pareil.

Voici le code basic et qui comprend toutes les ligne de code (donc pas de problème avec d'autres lignes)

Sub test()

Dim A As Date

A = InputBox("ee") 'juste pour tester

Range("A2") = Format(A, "dd/mm/yyyy")

End Sub

Alors j'ai pensé que ça pouvais être du fait qu'en VBA on utilise DD/MM/YYYY et dans la feuille de calcule on utilise JJ/MM/AAAA ...

Si vous avez une idée, Merci à vous

Bonjour

Une imputbox retourne du texte donc il faut vérifier que c'est une date recevable et, si oui, convertir en date

Format renvoie aussi du texte

Bonjour AZQW

Problème de débutant

Les instructions en VBA sont en anglais, pour le format date, c'est la même chose.
Il faut donc mettre dans le code

Range("A2").Value = Format(A, "mm/dd/yyyy")

ou

Range("A2").Value = CDate(A)

Qui prends le format de date système

A+

Edit : bonjour chris

Bonjour à tous,

je suis pas sur que celà fonctionnera Bruno ; 78Chris indique que le format récupéré par l'input box c'est du texte et pas un nombre donc Cdate ou format ne fonctionnera pas ;

il faut recomposer la date.

Sub test()
Dim A As String
A = InputBox("ee") 'juste pour tester
Range("A2") = DateSerial((Mid(A, 7, 4) * 1), (Mid(A, 4, 2) * 1), (Left(A, 2) * 1))

End Sub

J'ai trouvé une parade, mais qui ne résoud pas le problème initial.

Pour le coup j'ai juste transformé en texte comme ça plus de problème de date

Range("C" & derlign).NumberFormat = "@"  
Range("C" & derlign).Value = datemanuelle

'Ce sont les lignes du vrai programme

Je vais essayer avec le code de Xmenpl, je vous tiens au courant

J'ai oublié de te répondre BrunoM45 :

Aaaaah d'accord tout s'explique ! pourtant je m'étais fait la reflexion, mais je suis pas allé au bout de mon raisonnement (Effectivement erreur de débutant )

Bon par contre il me semblait déjà avoir fait cette ligne de code, et que ça ne fonctionne pas non plus. Bon là ça a l'air de fonctionner Merci bien !

et sinon pour le code de Xmenpl, la ligne de code fonctionne bien aussi ! je ne connaissais pas cette possibilité.

Bon j'espère que ça va résoudre une bonne fois pour toute mon problème !

Merci à tous @+

Bonjour le fil

Juste pour dire à Xmenpl que mes solutions fonctionnent, il suffit de les tester pour savoir

A+

Bonjour !

Bon ... comment dire ... ce matin ça ne fonctionne plus ... Je ne comprends pas je n'ai rien touché.

là j'ai :

Range("C" & derlign).Value = format(datemanuelle, "mm/dd/yyyy")

où derlign vaut :

Dim derlign As Integer
derlign = Sheets("BDD").Range("B" & Rows.Count).End(xlUp).Row + 1

d'ailleur je viens de me ddemander si je ne dois pas mettre plutôt :

Dim derlign as range
set derlign = Sheets("BDD").Range("B" & Rows.Count).End(xlUp).Row + 1

J'ai également essayé avec :

Range("C" & derlign).Value = CDate(datemanuelle)

en sachant que datemanuelle est un textbox dans un UF.

En tout cas hier ça fonctionnait bien, c'est vraiment étrange

Bonjour AZQW,

A priori d'après ce que vous avez dis hier à 14:16 vous avez changé le format de date... donc

Sinon prenez la méthode à Xmenpl, qui bien que plutôt usine à gaz à mes yeux, fait très bien son job (normalement)

A+

Bonjour, avec un fichier exemple on comprendra peut-être mieux ?

- La première question concerne une date dans une input box ( et après avoir testé ; malgré les "format" ou "Cdate" ; moi aussi la date était inversée dans ma version excel.

- Maintenant on parle d'une textbox.... Je n'ai jamais eu ce problème en utilisant les formats proposés par Bruno quand la date se trouve dans une textbox.

Salut Xmenpl

Encor un souci de PEBKAC certainement

Rebonjour !

Je crois avoir trouvé ! En fait BrunoM45 avait raison c'est "un sousci de PEBKAC" mon code n'allait pas ... Je regarderai demain pour être certain du truc et je vous redirai :-)

Le fait de vous avoir lu m'a aiguillé quand même. (Ne parlons pas trop vite on va voir demain )

@+

Bonjour à tous,

Bon j'ai trouvé mon erreur.

Pour expliquer simplement, c'est seulement qu'en fait, j'avais ma macro qui renseignait ma textbox avec une date, ce qui fonctionnait mais dans une autre macro j'avais également dit de mettre la date dans cette même textbox. D'où la confusion sur la mise au format je pense.

Voilà donc oui je pense bien que c'est une erreur de débutant . Je commence à avoir pas mal de ligne et ça devient le chantier pour moi là

Merci à vous, d'avoir échangé ça m'a permis de voir mon code autrement.

@+

Rechercher des sujets similaires à "probleme format date"