J'ai un formulaire avec des textbox dans lesquels j'encode
des dates dans le format jj/mm/aaaa.
Quand je valide l'enregistrement, les valeurs sont=20
pass=E9es dans les cellules d'feuille (par une proc=E9dure=20
VBA). L'affichage dans les textbox et dans les cellules=20
ne change pas.
Les cellules en question sont au format date: jj/mm/aaaa.
Mais quand je clique sur mon bouton "Enregistrement=20
suivant" et que je reviens avec mon=20
bouton "Enregistrement pr=E9c=E9dent", je constate que les=20
formats dates ont chang=E9 en mm/jj/aaaa (format date=20
am=E9ricain) au niveau du formulaire et de la feuille.
Ma question: Comment forcer Excel de maintenir le format =20
jj/mm/aaaa?
Merci d'avance =E0 toutes et =E0 tous pour vos pr=E9cieuses=20
suggestions.
FS --- Frédéric Sigonneau [MVP Excel - né un sans-culottide] Gestions de temps, VBA pour Excel : http://perso.wanadoo.fr/frederic.sigonneau Si votre question sur Excel est urgente, évitez ma bal !
Bonjour,
J'ai un formulaire avec des textbox dans lesquels j'encode des dates dans le format jj/mm/aaaa.
Quand je valide l'enregistrement, les valeurs sont passées dans les cellules d'feuille (par une procédure VBA). L'affichage dans les textbox et dans les cellules ne change pas.
Les cellules en question sont au format date: jj/mm/aaaa.
Mais quand je clique sur mon bouton "Enregistrement suivant" et que je reviens avec mon bouton "Enregistrement précédent", je constate que les formats dates ont changé en mm/jj/aaaa (format date américain) au niveau du formulaire et de la feuille.
Ma question: Comment forcer Excel de maintenir le format jj/mm/aaaa?
Merci d'avance à toutes et à tous pour vos précieuses suggestions.
Nico Iannizzi
Bonjour,
Si tu remplis tes TextBox à partir des cellules de la feuille de calcul, utilise
leur propriété Text :
TextBox1.Value=Range("A1").Text
Si ça ne fonctionne pas, essaye d'utiliser la fonction Format pour obtenir ta
date au bon format sous forme de texte :
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
Bonjour,
J'ai un formulaire avec des textbox dans lesquels j'encode
des dates dans le format jj/mm/aaaa.
Quand je valide l'enregistrement, les valeurs sont
passées dans les cellules d'feuille (par une procédure
VBA). L'affichage dans les textbox et dans les cellules
ne change pas.
Les cellules en question sont au format date: jj/mm/aaaa.
Mais quand je clique sur mon bouton "Enregistrement
suivant" et que je reviens avec mon
bouton "Enregistrement précédent", je constate que les
formats dates ont changé en mm/jj/aaaa (format date
américain) au niveau du formulaire et de la feuille.
Ma question: Comment forcer Excel de maintenir le format
jj/mm/aaaa?
Merci d'avance à toutes et à tous pour vos précieuses
suggestions.
FS --- Frédéric Sigonneau [MVP Excel - né un sans-culottide] Gestions de temps, VBA pour Excel : http://perso.wanadoo.fr/frederic.sigonneau Si votre question sur Excel est urgente, évitez ma bal !
Bonjour,
J'ai un formulaire avec des textbox dans lesquels j'encode des dates dans le format jj/mm/aaaa.
Quand je valide l'enregistrement, les valeurs sont passées dans les cellules d'feuille (par une procédure VBA). L'affichage dans les textbox et dans les cellules ne change pas.
Les cellules en question sont au format date: jj/mm/aaaa.
Mais quand je clique sur mon bouton "Enregistrement suivant" et que je reviens avec mon bouton "Enregistrement précédent", je constate que les formats dates ont changé en mm/jj/aaaa (format date américain) au niveau du formulaire et de la feuille.
Ma question: Comment forcer Excel de maintenir le format jj/mm/aaaa?
Merci d'avance à toutes et à tous pour vos précieuses suggestions.
Nico Iannizzi
Nico Iannizzi
Frédéric,
Merci de ta réponse.
J'ai essayé les deux possibilités, mais le problème persiste. Je simplifié mon problème; J'ai un USF avec un textbox1 et un bouton Enregistrer.
Quand je lance mon formulaire, la date est correctement affiché dans le textbox1, mais quand je réinscris la même date par exemple, la cellule A1 se met au format mm/dd/yyyy.
Initialement ma date en A1 est par exemple: 10/09/1999. Après clic sur Enregistrer elle devient 10/09/1999.
Voici mon code:
Private Sub Enregistrer_Click() Range("A1").Value = Format(TextBox1.Value, "dd/mm/yyyy") End Sub
Private Sub UserForm_Initialize() TextBox1.Value = Range("A1").Text End Sub
Comment je pourrais pallier à ce problème?
Merci d'avance
Nico Iannizzi
-----Message d'origine----- Bonjour,
Si tu remplis tes TextBox à partir des cellules de la feuille de calcul, utilise
leur propriété Text :
TextBox1.Value=Range("A1").Text
Si ça ne fonctionne pas, essaye d'utiliser la fonction Format pour obtenir ta
FS --- Frédéric Sigonneau [MVP Excel - né un sans-culottide] Gestions de temps, VBA pour Excel : http://perso.wanadoo.fr/frederic.sigonneau Si votre question sur Excel est urgente, évitez ma bal !
Bonjour,
J'ai un formulaire avec des textbox dans lesquels j'encode
des dates dans le format jj/mm/aaaa.
Quand je valide l'enregistrement, les valeurs sont passées dans les cellules d'feuille (par une procédure VBA). L'affichage dans les textbox et dans les cellules
ne change pas.
Les cellules en question sont au format date: jj/mm/aaaa.
Mais quand je clique sur mon bouton "Enregistrement suivant" et que je reviens avec mon bouton "Enregistrement précédent", je constate que les formats dates ont changé en mm/jj/aaaa (format date américain) au niveau du formulaire et de la feuille.
Ma question: Comment forcer Excel de maintenir le format
jj/mm/aaaa?
Merci d'avance à toutes et à tous pour vos précieuses suggestions.
Nico Iannizzi .
Frédéric,
Merci de ta réponse.
J'ai essayé les deux possibilités, mais le problème
persiste.
Je simplifié mon problème; J'ai un USF avec un textbox1
et un bouton Enregistrer.
Quand je lance mon formulaire, la date est correctement
affiché dans le textbox1, mais quand je réinscris la même
date par exemple, la cellule A1 se met au format
mm/dd/yyyy.
Initialement ma date en A1 est par exemple: 10/09/1999.
Après clic sur Enregistrer elle devient 10/09/1999.
Voici mon code:
Private Sub Enregistrer_Click()
Range("A1").Value = Format(TextBox1.Value, "dd/mm/yyyy")
End Sub
Private Sub UserForm_Initialize()
TextBox1.Value = Range("A1").Text
End Sub
Comment je pourrais pallier à ce problème?
Merci d'avance
Nico Iannizzi
-----Message d'origine-----
Bonjour,
Si tu remplis tes TextBox à partir des cellules de la
feuille de calcul, utilise
leur propriété Text :
TextBox1.Value=Range("A1").Text
Si ça ne fonctionne pas, essaye d'utiliser la fonction
Format pour obtenir ta
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
Bonjour,
J'ai un formulaire avec des textbox dans lesquels
j'encode
des dates dans le format jj/mm/aaaa.
Quand je valide l'enregistrement, les valeurs sont
passées dans les cellules d'feuille (par une procédure
VBA). L'affichage dans les textbox et dans les
cellules
ne change pas.
Les cellules en question sont au format date:
jj/mm/aaaa.
Mais quand je clique sur mon bouton "Enregistrement
suivant" et que je reviens avec mon
bouton "Enregistrement précédent", je constate que les
formats dates ont changé en mm/jj/aaaa (format date
américain) au niveau du formulaire et de la feuille.
Ma question: Comment forcer Excel de maintenir le
format
jj/mm/aaaa?
Merci d'avance à toutes et à tous pour vos précieuses
suggestions.
J'ai essayé les deux possibilités, mais le problème persiste. Je simplifié mon problème; J'ai un USF avec un textbox1 et un bouton Enregistrer.
Quand je lance mon formulaire, la date est correctement affiché dans le textbox1, mais quand je réinscris la même date par exemple, la cellule A1 se met au format mm/dd/yyyy.
Initialement ma date en A1 est par exemple: 10/09/1999. Après clic sur Enregistrer elle devient 10/09/1999.
Voici mon code:
Private Sub Enregistrer_Click() Range("A1").Value = Format(TextBox1.Value, "dd/mm/yyyy") End Sub
Private Sub UserForm_Initialize() TextBox1.Value = Range("A1").Text End Sub
Comment je pourrais pallier à ce problème?
Merci d'avance
Nico Iannizzi
-----Message d'origine----- Bonjour,
Si tu remplis tes TextBox à partir des cellules de la feuille de calcul, utilise
leur propriété Text :
TextBox1.Value=Range("A1").Text
Si ça ne fonctionne pas, essaye d'utiliser la fonction Format pour obtenir ta
FS --- Frédéric Sigonneau [MVP Excel - né un sans-culottide] Gestions de temps, VBA pour Excel : http://perso.wanadoo.fr/frederic.sigonneau Si votre question sur Excel est urgente, évitez ma bal !
Bonjour,
J'ai un formulaire avec des textbox dans lesquels j'encode
des dates dans le format jj/mm/aaaa.
Quand je valide l'enregistrement, les valeurs sont passées dans les cellules d'feuille (par une procédure VBA). L'affichage dans les textbox et dans les cellules
ne change pas.
Les cellules en question sont au format date: jj/mm/aaaa.
Mais quand je clique sur mon bouton "Enregistrement suivant" et que je reviens avec mon bouton "Enregistrement précédent", je constate que les formats dates ont changé en mm/jj/aaaa (format date américain) au niveau du formulaire et de la feuille.
Ma question: Comment forcer Excel de maintenir le format
jj/mm/aaaa?
Merci d'avance à toutes et à tous pour vos précieuses suggestions.
Nico Iannizzi .
Nico Iannizzi
Frédéric,
Bizarre, mais il me semble que le code suivant marche, mais je ne pige pas l'arrière-fond de tout ça.
Que quelqu'un(e) puisse m'illuminer!
Private Sub Enregistrer_Click() Range("A1").Value = Format(TextBox1.Text, "mm/dd/yyyy") End Sub
Private Sub UserForm_Initialize() TextBox1.Value = Format(Range("A1").Text, "dd/mm/yyyy") End Sub
Salutations
Nico Iannizzi
-----Message d'origine----- Bonjour,
Si tu remplis tes TextBox à partir des cellules de la feuille de calcul, utilise
leur propriété Text :
TextBox1.Value=Range("A1").Text
Si ça ne fonctionne pas, essaye d'utiliser la fonction Format pour obtenir ta
FS --- Frédéric Sigonneau [MVP Excel - né un sans-culottide] Gestions de temps, VBA pour Excel : http://perso.wanadoo.fr/frederic.sigonneau Si votre question sur Excel est urgente, évitez ma bal !
Bonjour,
J'ai un formulaire avec des textbox dans lesquels j'encode
des dates dans le format jj/mm/aaaa.
Quand je valide l'enregistrement, les valeurs sont passées dans les cellules d'feuille (par une procédure VBA). L'affichage dans les textbox et dans les cellules
ne change pas.
Les cellules en question sont au format date: jj/mm/aaaa.
Mais quand je clique sur mon bouton "Enregistrement suivant" et que je reviens avec mon bouton "Enregistrement précédent", je constate que les formats dates ont changé en mm/jj/aaaa (format date américain) au niveau du formulaire et de la feuille.
Ma question: Comment forcer Excel de maintenir le format
jj/mm/aaaa?
Merci d'avance à toutes et à tous pour vos précieuses suggestions.
Nico Iannizzi .
Frédéric,
Bizarre, mais il me semble que le code suivant marche,
mais je ne pige pas l'arrière-fond de tout ça.
Que quelqu'un(e) puisse m'illuminer!
Private Sub Enregistrer_Click()
Range("A1").Value = Format(TextBox1.Text, "mm/dd/yyyy")
End Sub
Private Sub UserForm_Initialize()
TextBox1.Value = Format(Range("A1").Text, "dd/mm/yyyy")
End Sub
Salutations
Nico Iannizzi
-----Message d'origine-----
Bonjour,
Si tu remplis tes TextBox à partir des cellules de la
feuille de calcul, utilise
leur propriété Text :
TextBox1.Value=Range("A1").Text
Si ça ne fonctionne pas, essaye d'utiliser la fonction
Format pour obtenir ta
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
Bonjour,
J'ai un formulaire avec des textbox dans lesquels
j'encode
des dates dans le format jj/mm/aaaa.
Quand je valide l'enregistrement, les valeurs sont
passées dans les cellules d'feuille (par une procédure
VBA). L'affichage dans les textbox et dans les
cellules
ne change pas.
Les cellules en question sont au format date:
jj/mm/aaaa.
Mais quand je clique sur mon bouton "Enregistrement
suivant" et que je reviens avec mon
bouton "Enregistrement précédent", je constate que les
formats dates ont changé en mm/jj/aaaa (format date
américain) au niveau du formulaire et de la feuille.
Ma question: Comment forcer Excel de maintenir le
format
jj/mm/aaaa?
Merci d'avance à toutes et à tous pour vos précieuses
suggestions.
FS --- Frédéric Sigonneau [MVP Excel - né un sans-culottide] Gestions de temps, VBA pour Excel : http://perso.wanadoo.fr/frederic.sigonneau Si votre question sur Excel est urgente, évitez ma bal !
Bonjour,
J'ai un formulaire avec des textbox dans lesquels j'encode
des dates dans le format jj/mm/aaaa.
Quand je valide l'enregistrement, les valeurs sont passées dans les cellules d'feuille (par une procédure VBA). L'affichage dans les textbox et dans les cellules
ne change pas.
Les cellules en question sont au format date: jj/mm/aaaa.
Mais quand je clique sur mon bouton "Enregistrement suivant" et que je reviens avec mon bouton "Enregistrement précédent", je constate que les formats dates ont changé en mm/jj/aaaa (format date américain) au niveau du formulaire et de la feuille.
Ma question: Comment forcer Excel de maintenir le format
jj/mm/aaaa?
Merci d'avance à toutes et à tous pour vos précieuses suggestions.
Nico Iannizzi .
michdenis
Bonjour Nico,
Simonaque! Nico, oublie la propriété "ControlSource" des contrôles textbox ... Tu es le boss, alors choisis le moment désiré pour passer la valeur de ton textbox vers une cellule ou l'inverse la valeur d'une cellule vers un textbox. dans une procédure ....
Ceci étant dit, à moins que tes cellules devant recevoir le contenu des textbox soient au format "TEXTE", tu dois obligatoirement formater la cellule au format désiré avant de lui affecter une valeur date. Quand en vba, tu passes le contenu d'une variable ou d'un textbox à une cellule, seul SON CONTENU (OUBLIE LE FORMAT QU'AVAIT LE TEXTBOX OU LA VARIABLE) est passé à la cellule. La fonction "Format" appartient aux éléments (variables ou textbox...) au VBA, pour formater une cellule, tu dois le faire de cette façon :
'Tu vérifies d'abord si le contenu de ton textbox contient bien une date ...
'--------------------------- If IsDate(UserForm1.TextBox1) Then With Worksheets("Feuil1") 'Défini le format que tu désires pour la cellule ... .Range("A1").NumberFormat = "dd/mm/yy" .Range("A1").Value = CDate(UserForm1.TextBox1) End With End If '---------------------------
Salutations!
"Nico Iannizzi" a écrit dans le message de news:429401c47f9f$e9e3e210$ Bonjour,
J'ai un formulaire avec des textbox dans lesquels j'encode des dates dans le format jj/mm/aaaa.
Quand je valide l'enregistrement, les valeurs sont passées dans les cellules d'feuille (par une procédure VBA). L'affichage dans les textbox et dans les cellules ne change pas.
Les cellules en question sont au format date: jj/mm/aaaa.
Mais quand je clique sur mon bouton "Enregistrement suivant" et que je reviens avec mon bouton "Enregistrement précédent", je constate que les formats dates ont changé en mm/jj/aaaa (format date américain) au niveau du formulaire et de la feuille.
Ma question: Comment forcer Excel de maintenir le format jj/mm/aaaa?
Merci d'avance à toutes et à tous pour vos précieuses suggestions.
Nico Iannizzi
Bonjour Nico,
Simonaque! Nico, oublie la propriété "ControlSource" des contrôles textbox ... Tu es le boss, alors choisis le moment désiré
pour passer la valeur de ton textbox vers une cellule ou l'inverse la valeur d'une cellule vers un textbox. dans une
procédure ....
Ceci étant dit, à moins que tes cellules devant recevoir le contenu des textbox soient au format "TEXTE", tu dois
obligatoirement formater la cellule au format désiré avant de lui affecter une valeur date. Quand en vba, tu passes le
contenu d'une variable ou d'un textbox à une cellule, seul SON CONTENU (OUBLIE LE FORMAT QU'AVAIT LE TEXTBOX OU LA VARIABLE)
est passé à la cellule. La fonction "Format" appartient aux éléments (variables ou textbox...) au VBA, pour formater une
cellule, tu dois le faire de cette façon :
'Tu vérifies d'abord si le contenu de ton textbox contient bien une date ...
'---------------------------
If IsDate(UserForm1.TextBox1) Then
With Worksheets("Feuil1")
'Défini le format que tu désires pour la cellule ...
.Range("A1").NumberFormat = "dd/mm/yy"
.Range("A1").Value = CDate(UserForm1.TextBox1)
End With
End If
'---------------------------
Salutations!
"Nico Iannizzi" <niannizzi@chd.lu> a écrit dans le message de news:429401c47f9f$e9e3e210$a401280a@phx.gbl...
Bonjour,
J'ai un formulaire avec des textbox dans lesquels j'encode
des dates dans le format jj/mm/aaaa.
Quand je valide l'enregistrement, les valeurs sont
passées dans les cellules d'feuille (par une procédure
VBA). L'affichage dans les textbox et dans les cellules
ne change pas.
Les cellules en question sont au format date: jj/mm/aaaa.
Mais quand je clique sur mon bouton "Enregistrement
suivant" et que je reviens avec mon
bouton "Enregistrement précédent", je constate que les
formats dates ont changé en mm/jj/aaaa (format date
américain) au niveau du formulaire et de la feuille.
Ma question: Comment forcer Excel de maintenir le format
jj/mm/aaaa?
Merci d'avance à toutes et à tous pour vos précieuses
suggestions.
Simonaque! Nico, oublie la propriété "ControlSource" des contrôles textbox ... Tu es le boss, alors choisis le moment désiré pour passer la valeur de ton textbox vers une cellule ou l'inverse la valeur d'une cellule vers un textbox. dans une procédure ....
Ceci étant dit, à moins que tes cellules devant recevoir le contenu des textbox soient au format "TEXTE", tu dois obligatoirement formater la cellule au format désiré avant de lui affecter une valeur date. Quand en vba, tu passes le contenu d'une variable ou d'un textbox à une cellule, seul SON CONTENU (OUBLIE LE FORMAT QU'AVAIT LE TEXTBOX OU LA VARIABLE) est passé à la cellule. La fonction "Format" appartient aux éléments (variables ou textbox...) au VBA, pour formater une cellule, tu dois le faire de cette façon :
'Tu vérifies d'abord si le contenu de ton textbox contient bien une date ...
'--------------------------- If IsDate(UserForm1.TextBox1) Then With Worksheets("Feuil1") 'Défini le format que tu désires pour la cellule ... .Range("A1").NumberFormat = "dd/mm/yy" .Range("A1").Value = CDate(UserForm1.TextBox1) End With End If '---------------------------
Salutations!
"Nico Iannizzi" a écrit dans le message de news:429401c47f9f$e9e3e210$ Bonjour,
J'ai un formulaire avec des textbox dans lesquels j'encode des dates dans le format jj/mm/aaaa.
Quand je valide l'enregistrement, les valeurs sont passées dans les cellules d'feuille (par une procédure VBA). L'affichage dans les textbox et dans les cellules ne change pas.
Les cellules en question sont au format date: jj/mm/aaaa.
Mais quand je clique sur mon bouton "Enregistrement suivant" et que je reviens avec mon bouton "Enregistrement précédent", je constate que les formats dates ont changé en mm/jj/aaaa (format date américain) au niveau du formulaire et de la feuille.
Ma question: Comment forcer Excel de maintenir le format jj/mm/aaaa?
Merci d'avance à toutes et à tous pour vos précieuses suggestions.
Nico Iannizzi
Nico Iannizzi
Bonjour michdenis,
Merci pour ta réponse, elle me permet de voir plus claire et de mettre au poinr mon code.
Vous êtes tous des pro!
Maintenant je peux faire dodo tranquille ;-)
Nico
-----Message d'origine----- Bonjour Nico,
Simonaque! Nico, oublie la propriété "ControlSource" des contrôles textbox ... Tu es le boss, alors choisis le
moment désiré
pour passer la valeur de ton textbox vers une cellule ou l'inverse la valeur d'une cellule vers un textbox. dans une
procédure ....
Ceci étant dit, à moins que tes cellules devant recevoir le contenu des textbox soient au format "TEXTE", tu dois
obligatoirement formater la cellule au format désiré avant de lui affecter une valeur date. Quand en vba, tu
passes le
contenu d'une variable ou d'un textbox à une cellule, seul SON CONTENU (OUBLIE LE FORMAT QU'AVAIT LE TEXTBOX OU
LA VARIABLE)
est passé à la cellule. La fonction "Format" appartient aux éléments (variables ou textbox...) au VBA, pour
formater une
cellule, tu dois le faire de cette façon :
'Tu vérifies d'abord si le contenu de ton textbox contient bien une date ...
'--------------------------- If IsDate(UserForm1.TextBox1) Then With Worksheets("Feuil1") 'Défini le format que tu désires pour la cellule ...
.Range("A1").NumberFormat = "dd/mm/yy" .Range("A1").Value = CDate(UserForm1.TextBox1) End With End If '---------------------------
Salutations!
"Nico Iannizzi" a écrit dans le message de news:429401c47f9f$e9e3e210$
Bonjour,
J'ai un formulaire avec des textbox dans lesquels j'encode des dates dans le format jj/mm/aaaa.
Quand je valide l'enregistrement, les valeurs sont passées dans les cellules d'feuille (par une procédure VBA). L'affichage dans les textbox et dans les cellules ne change pas.
Les cellules en question sont au format date: jj/mm/aaaa.
Mais quand je clique sur mon bouton "Enregistrement suivant" et que je reviens avec mon bouton "Enregistrement précédent", je constate que les formats dates ont changé en mm/jj/aaaa (format date américain) au niveau du formulaire et de la feuille.
Ma question: Comment forcer Excel de maintenir le format jj/mm/aaaa?
Merci d'avance à toutes et à tous pour vos précieuses suggestions.
Nico Iannizzi
.
Bonjour michdenis,
Merci pour ta réponse, elle me permet de voir plus claire
et de mettre au poinr mon code.
Vous êtes tous des pro!
Maintenant je peux faire dodo tranquille ;-)
Nico
-----Message d'origine-----
Bonjour Nico,
Simonaque! Nico, oublie la propriété "ControlSource" des
contrôles textbox ... Tu es le boss, alors choisis le
moment désiré
pour passer la valeur de ton textbox vers une cellule ou
l'inverse la valeur d'une cellule vers un textbox. dans une
procédure ....
Ceci étant dit, à moins que tes cellules devant recevoir
le contenu des textbox soient au format "TEXTE", tu dois
obligatoirement formater la cellule au format désiré
avant de lui affecter une valeur date. Quand en vba, tu
passes le
contenu d'une variable ou d'un textbox à une cellule,
seul SON CONTENU (OUBLIE LE FORMAT QU'AVAIT LE TEXTBOX OU
LA VARIABLE)
est passé à la cellule. La fonction "Format" appartient
aux éléments (variables ou textbox...) au VBA, pour
formater une
cellule, tu dois le faire de cette façon :
'Tu vérifies d'abord si le contenu de ton textbox
contient bien une date ...
'---------------------------
If IsDate(UserForm1.TextBox1) Then
With Worksheets("Feuil1")
'Défini le format que tu désires pour la
cellule ...
.Range("A1").NumberFormat = "dd/mm/yy"
.Range("A1").Value = CDate(UserForm1.TextBox1)
End With
End If
'---------------------------
Salutations!
"Nico Iannizzi" <niannizzi@chd.lu> a écrit dans le
message de news:429401c47f9f$e9e3e210$a401280a@phx.gbl...
Bonjour,
J'ai un formulaire avec des textbox dans lesquels j'encode
des dates dans le format jj/mm/aaaa.
Quand je valide l'enregistrement, les valeurs sont
passées dans les cellules d'feuille (par une procédure
VBA). L'affichage dans les textbox et dans les cellules
ne change pas.
Les cellules en question sont au format date: jj/mm/aaaa.
Mais quand je clique sur mon bouton "Enregistrement
suivant" et que je reviens avec mon
bouton "Enregistrement précédent", je constate que les
formats dates ont changé en mm/jj/aaaa (format date
américain) au niveau du formulaire et de la feuille.
Ma question: Comment forcer Excel de maintenir le format
jj/mm/aaaa?
Merci d'avance à toutes et à tous pour vos précieuses
suggestions.
Merci pour ta réponse, elle me permet de voir plus claire et de mettre au poinr mon code.
Vous êtes tous des pro!
Maintenant je peux faire dodo tranquille ;-)
Nico
-----Message d'origine----- Bonjour Nico,
Simonaque! Nico, oublie la propriété "ControlSource" des contrôles textbox ... Tu es le boss, alors choisis le
moment désiré
pour passer la valeur de ton textbox vers une cellule ou l'inverse la valeur d'une cellule vers un textbox. dans une
procédure ....
Ceci étant dit, à moins que tes cellules devant recevoir le contenu des textbox soient au format "TEXTE", tu dois
obligatoirement formater la cellule au format désiré avant de lui affecter une valeur date. Quand en vba, tu
passes le
contenu d'une variable ou d'un textbox à une cellule, seul SON CONTENU (OUBLIE LE FORMAT QU'AVAIT LE TEXTBOX OU
LA VARIABLE)
est passé à la cellule. La fonction "Format" appartient aux éléments (variables ou textbox...) au VBA, pour
formater une
cellule, tu dois le faire de cette façon :
'Tu vérifies d'abord si le contenu de ton textbox contient bien une date ...
'--------------------------- If IsDate(UserForm1.TextBox1) Then With Worksheets("Feuil1") 'Défini le format que tu désires pour la cellule ...
.Range("A1").NumberFormat = "dd/mm/yy" .Range("A1").Value = CDate(UserForm1.TextBox1) End With End If '---------------------------
Salutations!
"Nico Iannizzi" a écrit dans le message de news:429401c47f9f$e9e3e210$
Bonjour,
J'ai un formulaire avec des textbox dans lesquels j'encode des dates dans le format jj/mm/aaaa.
Quand je valide l'enregistrement, les valeurs sont passées dans les cellules d'feuille (par une procédure VBA). L'affichage dans les textbox et dans les cellules ne change pas.
Les cellules en question sont au format date: jj/mm/aaaa.
Mais quand je clique sur mon bouton "Enregistrement suivant" et que je reviens avec mon bouton "Enregistrement précédent", je constate que les formats dates ont changé en mm/jj/aaaa (format date américain) au niveau du formulaire et de la feuille.
Ma question: Comment forcer Excel de maintenir le format jj/mm/aaaa?
Merci d'avance à toutes et à tous pour vos précieuses suggestions.