XL 2019 Souci de formatage de TxtBox au format date

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 !

egman

XLDnaute Occasionnel
Bonjour à tous,
je viens solliciter votre aide pour un souci de formatage de txtbox au format date.
J'ai récupéré une table Access où j'avais pas mal de dates, or quand je veux récupérer ces dates de mon tableau excel dans le userform elles apparaissent sous forme numérique.
J'ai regardé un peu partout comment faire mais je ne trouve pas de solution qui fonctionne.
Je vous joint un petit fichier explicatif avec ce que j'ai fait.....mais sans succès
D'avance merci pour votre aide
 
Bonjour,

Le fichier est resté coincé dans les tuyaux.
Si les dates sont sous forme numérique telle que 43634 (pour aujourd'hui) peut-être que TextBox1.Text = Format(LaDateNumérique,"dd/mm/yyyy")
le ferait mais sinon, pousser le fichier plus loin dans les tuyaux.
Bon fin d'après-midi
 
Boujour.
Normalement si on affecte une valeur Date à une TextBox elle l'affiche sous forme jj/mm/aaaa.
Si ce n'est pas le cas dans votre classeur, pouvez vous pousser le .xlsm, qu'on puisse trouver pourquoi ?
Bonsoir Dranreb. Merci de porter attention à mon souci de format.
Je n'ai pas joint le fichier car c'est un fichier de séances de patients, de plus il fait 4Mo.
Je vois pas trop comment le scinder en petits bouts.
Est ce que le code suffirait en texte ?
 
Faite un fichier avec trois lignes de séances bidons reproduisant le problème et virez tout ce qui ne le concerne pas.
Sinon vérifiez que vos cellules contiennent bien des dates et non du texte et faites des essais de renseignement de TextBox dans un petit UserForm très simple à partir de ces valeurs de cellules
 
Par exemple j'ai mis ça dans un nouvel UserForm1 que j'ai muni d'une TextBos1 dans un nouveau classeur :
VB:
Option Explicit
Private Sub UserForm_Initialize()
   ActiveSheet.Cells(1, 1).Value = Date
   TextBox1.Text = ActiveSheet.Cells(1, 1).Value
   End Sub
En faisant F5 dessus ça m'a bien inscrit la date d'aujourd'hui dans la cellule A1 et affiché le texte "18/06/2019" dans la TextBox.
Remarque: Date est aussi un type de donnée et non seulement une fonction sans argument renvoyant la date du jour.
Par exemple :
VB:
Private Sub UserForm_Initialize()
   Dim D As Date
   D = Date + 2
   TextBox1.Text = D
   End Sub
Affiche la date d'après-demain. Mais en déclarant D As Double au lieu de As Date ça affiche "43636"
 
Dernière édition:
Par exemple j'ai mis ça dans un nouvel UserForm1 que j'ai muni d'une TextBos1 dans un nouveau classeur :
VB:
Option Explicit
Private Sub UserForm_Initialize()
   ActiveSheet.Cells(1, 1).Value = Date
   TextBox1.Text = ActiveSheet.Cells(1, 1).Value
   End Sub
En faisant F5 dessus ça m'a bien inscrit la date d'aujourd'hui dans la cellule A1 et affiché le texte "18/06/2019" dans la TextBox.
Remarque: Date est aussi un type de donnée et non seulement une fonction sans argument renvoyant la date du jour.
Par exemple :
VB:
Private Sub UserForm_Initialize()
   Dim D As Date
   D = Date + 2
   TextBox1.Text = D
   End Sub
Affiche la date d'après-demain. Mais en déclarant D As Double au lieu de As Date ça affiche "43636"
OK je vais voir comment je peux faire pour que çà reste anonyme.
Je fais çà demain matin. Encore merci pour votre aide.
Bonne soirée
 
Par exemple j'ai mis ça dans un nouvel UserForm1 que j'ai muni d'une TextBos1 dans un nouveau classeur :
VB:
Option Explicit
Private Sub UserForm_Initialize()
   ActiveSheet.Cells(1, 1).Value = Date
   TextBox1.Text = ActiveSheet.Cells(1, 1).Value
   End Sub
En faisant F5 dessus ça m'a bien inscrit la date d'aujourd'hui dans la cellule A1 et affiché le texte "18/06/2019" dans la TextBox.
Remarque: Date est aussi un type de donnée et non seulement une fonction sans argument renvoyant la date du jour.
Par exemple :
VB:
Private Sub UserForm_Initialize()
   Dim D As Date
   D = Date + 2
   TextBox1.Text = D
   End Sub
Affiche la date d'après-demain. Mais en déclarant D As Double au lieu de As Date ça affiche "43636"
Effectivement cela fonctionne bien dans ce sens. (Userform => feuille), mais c'est valable que pour la date du jour.
Là où est le probleme c'est pour recuperer les valeurs déjà inscrites du tableau (feuille => userform) et si je veux mettre une autre date que celle d’aujourd’hui dans les textbox ?
 
Ou est le problème ? Je mets bien la valeur de ma cellule A1 dans le premier exemple, non ?
Mettez une instruction avant un cas où ça ne va pas : MsgBox TypeName(LExpressionRangeReprésentantLaCelluleIncriminée.Value)
Si ça affiche autre chose que "Date" (comme "Double" par exemple) ça explique que ce n'est pas affiché comme une date.
Pour bien faire il faudrait trouver pourquoi c'est comme ça, et si ce nest pas possible de le réparer affectez TextBox1 = CDate(LExpressionRangeReprésentantLaCelluleIncriminée.Value)
 
Dernière édition:
Ou est le problème ? Je mets bien la valeur de ma cellule A1 dans le premier exemple, non ?
Mettez une instruction avant un cas où ça ne va par : MsgBox TypeName(LObjetRangeReprésentantLaCelluleIncriminée.Value)
Si ça affiche autre chose que "Date" (comme "Double" par exemple) ça explique que ce n'est pas affiché comme une date.
Pour Bien faire il faudrait trouver pourquoi c'est comme ça, et si ce nest pas possible affectez TextBox1=CDate(LObjetRangeReprésentantLaCelluleIncriminée.Value)
Ok mais si j'ai déjà une date de 2017 par exemple en A1 quand je la récupére dans le userform elle s'affiche sous forme de nombre et pas de date
Donc je cherche à définir que toutes les textbox du userform contenant les dates soient formatées pour afficher une date et non pas un nombre.🙂
 
Non, si ce nest pas affiché comme une date c'est que la cellule vaut autre chose qu'une date.
Mettez la MsgBox que je vous ai indiquée pour le vérifier.
CDate(LExpressionRangeReprésentantLaCelluleIncriminée.Value) est affiché comme une date mais vous pouvez préférer
Format(LExpressionRangeReprésentantLaCelluleIncriminée.Value, "dd/mm/yyyy")
 
- 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

Discussions similaires

Réponses
6
Affichages
76
  • Question Question
Microsoft 365 format date
Réponses
3
Affichages
62
Réponses
4
Affichages
320
Réponses
13
Affichages
656
Retour