Format de date différent entre Excel et VBA [Résolu]

cs_Florian85 4 Messages postés mercredi 15 septembre 2010Date d'inscription 16 septembre 2010 Dernière intervention - 15 sept. 2010 à 16:31 - Dernière réponse : cs_Florian85 4 Messages postés mercredi 15 septembre 2010Date d'inscription 16 septembre 2010 Dernière intervention
- 16 sept. 2010 à 08:29
Bonjour à tous !

Je tente de développer un formulaire VBA pour saisir et rechercher des informations dans un tableau Excel. Certaines de ces infos sont des dates, et là c'est la tuile.
Lorsque je veux saisir des dates dans mes textbox au format jj/mm/aa, elles sont directement converties au format mm/jj/aa dans mon tableau Excel.
Je pense que Excel pense que VBA lui communique des dates au mauvais format et les modifie... il faudrait donc passer VBA en mode jj/mm/aa. Cela est-il possible? Y a-t-il une autre solution?

Merci d'avance pour votre aide. J'ai beau épuiser les forums, je sèche.


Florian85
Afficher la suite 

Votre réponse

9 réponses

Meilleure réponse
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 15 sept. 2010 à 17:32
3
Merci
transmets lui une DATE et non du texte, je me tue a te le dire.

si tu fais :

MaCellule.Value = MonTextBox1.Text

autant lui donner

MaCellule.Value = "04/09/2010"


faire donc :

MaCellule.Value = CDate(MonTextBox1.Text)

agrémenté peut etre d'un
If IsDate(MonTextBox1.Text)

Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp

Merci Renfield 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 81 internautes ce mois-ci

Commenter la réponse de Renfield
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 15 sept. 2010 à 16:37
0
Merci
Excel gère, fort heureusement les parametres regionnaux.

toute date saisie est, par default consideree comme les respectant.

A toi de bien typer tes cellules et tes variables.

si tu as du code a nous soumettre...

Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
Commenter la réponse de Renfield
the_little_big_man 86 Messages postés lundi 22 janvier 2007Date d'inscription 14 février 2011 Dernière intervention - 15 sept. 2010 à 16:42
0
Merci
myDate = Format(myDate, "dd/mm/yy")


A good excercise for the Heart is to bend down and help another up...
Commenter la réponse de the_little_big_man
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 15 sept. 2010 à 16:46
0
Merci
Surtout pas, malheureux... on ne force jamais une format de date. Jamais .

sauf pour l'obtenir sous une forme universelle, comme yyyy-mm-dd
par exemple

Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
Commenter la réponse de Renfield
cs_Florian85 4 Messages postés mercredi 15 septembre 2010Date d'inscription 16 septembre 2010 Dernière intervention - 15 sept. 2010 à 16:48
0
Merci
Ok Little Big Man, pour l'astuce.
Ca marche je suis d'accord.

Cependant il faut taper ce bout de code pour chaque date, or j'en ai une dizaine...
Est-ce que ce n'est pas possible de trouver une solution plus générale?

N'y a-t-il pas un moyen pour que Excel et Vba fonctionnent tous les deux avec des dates au format jj/mm/dd?

Florian85
Commenter la réponse de cs_Florian85
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 15 sept. 2010 à 16:54
0
Merci
reprenons (echo ?)

une date est stockée dans excel comme pour VBA comme un nombre de jour depuis une date donnée.
quand Excel t'affiche 15/09/2010 c'est uniquement pour l'utilisateur... c'est un format d'affichage.

si tu tapes une date en dur dans ton code, par exemple, il ne faut absolument pas faire :

Date = "15/09/2010" (encore que là ca passe, puisque 15 est obligatoirement le jour...)
faire, plutot:
Date = DateSerial(2010, 09, 15)
ou
Date = #2010-09-15# (j'suis pas fan de cette ecriture trompeuse)



Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
Commenter la réponse de Renfield
cs_Florian85 4 Messages postés mercredi 15 septembre 2010Date d'inscription 16 septembre 2010 Dernière intervention - 15 sept. 2010 à 17:06
0
Merci
Ok merci pour l'astuce.
Mais dans mon cas la date est inscrite dans une textbox.
Et elle est entrée par l'utilisateur en date française. Le code que j'ai créé prend cette date et l'insère dans une cellule Excel.
Mon problème est qu'à ce moment la date est passée au format américain...


Florian85
Commenter la réponse de cs_Florian85
the_little_big_man 86 Messages postés lundi 22 janvier 2007Date d'inscription 14 février 2011 Dernière intervention - 15 sept. 2010 à 17:12
0
Merci
pourqoui au moment d'ecrire dans ta cellule tu ne ferait pas un

Range("TaCellule").NumberFormat = "d/m/yy"


A good excercise for the Heart is to bend down and help another up...
Commenter la réponse de the_little_big_man
cs_Florian85 4 Messages postés mercredi 15 septembre 2010Date d'inscription 16 septembre 2010 Dernière intervention - 16 sept. 2010 à 08:29
0
Merci
Merci Renfield ça marche nickel. J'avais pas compris l'utilisation du CDate...

Un grand merci à ceux qui ont pu m'aider sur ce sujet...


Florian85
Commenter la réponse de cs_Florian85

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.