Bonjour,
J'ai créé un formulaire qui contient 2 textbox pour saisir des dates.
Lorsque l'utilisateur clique sur le bouton OK, un contrôle est fait par mon
programme pour vérifier que ce sont bien des dates qui ont été saisies dans
les texbox appropriées, puis les données sont transférées vers la feuille
Excel.
Si la date est du genre 22/11/2005, c'est correctement transféré. Mais si la
date est du genre 01/03/2005 (1er mars 2005), la date est transposée au
format anglais 03/01/2005 (et sera donc compris par un français 3 janvier
2005). Le format de la cellule du tableau est bien en jj/mm/aaaa et mon
programme demande bien format(TexBoxDate, "dd/mm/yyyy"). Il semble s'agir
donc d'un problème d'interprétation de la saisie par VB avant le formatage.
Je n'ai pas trouvé d'astuce permettant de résoudre ce problème. Merci de
m'aider.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Elliac
Bonjour,
Il faut utiliser la fonction CDate : Range("A1")Íate(TextBox1)
Camille
"CinéPhil" wrote:
Bonjour, J'ai créé un formulaire qui contient 2 textbox pour saisir des dates. Lorsque l'utilisateur clique sur le bouton OK, un contrôle est fait par mon programme pour vérifier que ce sont bien des dates qui ont été saisies dans les texbox appropriées, puis les données sont transférées vers la feuille Excel. Si la date est du genre 22/11/2005, c'est correctement transféré. Mais si la date est du genre 01/03/2005 (1er mars 2005), la date est transposée au format anglais 03/01/2005 (et sera donc compris par un français 3 janvier 2005). Le format de la cellule du tableau est bien en jj/mm/aaaa et mon programme demande bien format(TexBoxDate, "dd/mm/yyyy"). Il semble s'agir donc d'un problème d'interprétation de la saisie par VB avant le formatage. Je n'ai pas trouvé d'astuce permettant de résoudre ce problème. Merci de m'aider.
Bonjour,
Il faut utiliser la fonction CDate :
Range("A1")Íate(TextBox1)
Camille
"CinéPhil" wrote:
Bonjour,
J'ai créé un formulaire qui contient 2 textbox pour saisir des dates.
Lorsque l'utilisateur clique sur le bouton OK, un contrôle est fait par mon
programme pour vérifier que ce sont bien des dates qui ont été saisies dans
les texbox appropriées, puis les données sont transférées vers la feuille
Excel.
Si la date est du genre 22/11/2005, c'est correctement transféré. Mais si la
date est du genre 01/03/2005 (1er mars 2005), la date est transposée au
format anglais 03/01/2005 (et sera donc compris par un français 3 janvier
2005). Le format de la cellule du tableau est bien en jj/mm/aaaa et mon
programme demande bien format(TexBoxDate, "dd/mm/yyyy"). Il semble s'agir
donc d'un problème d'interprétation de la saisie par VB avant le formatage.
Je n'ai pas trouvé d'astuce permettant de résoudre ce problème. Merci de
m'aider.
Il faut utiliser la fonction CDate : Range("A1")Íate(TextBox1)
Camille
"CinéPhil" wrote:
Bonjour, J'ai créé un formulaire qui contient 2 textbox pour saisir des dates. Lorsque l'utilisateur clique sur le bouton OK, un contrôle est fait par mon programme pour vérifier que ce sont bien des dates qui ont été saisies dans les texbox appropriées, puis les données sont transférées vers la feuille Excel. Si la date est du genre 22/11/2005, c'est correctement transféré. Mais si la date est du genre 01/03/2005 (1er mars 2005), la date est transposée au format anglais 03/01/2005 (et sera donc compris par un français 3 janvier 2005). Le format de la cellule du tableau est bien en jj/mm/aaaa et mon programme demande bien format(TexBoxDate, "dd/mm/yyyy"). Il semble s'agir donc d'un problème d'interprétation de la saisie par VB avant le formatage. Je n'ai pas trouvé d'astuce permettant de résoudre ce problème. Merci de m'aider.
PMO
Bonjour,
Une piste avec
Private Sub CommandButton1_Click() Dim D As Date If Not IsDate(Me.TextBox1.Text) Then Me.TextBox1.Text = "" Me.TextBox1.SetFocus Exit Sub End If D = CDate(Me.TextBox1.Text) ActiveSheet.[a1] = D End Sub
Cordialement -- PMO Patrick Morange
Bonjour, J'ai créé un formulaire qui contient 2 textbox pour saisir des dates. Lorsque l'utilisateur clique sur le bouton OK, un contrôle est fait par mon programme pour vérifier que ce sont bien des dates qui ont été saisies dans les texbox appropriées, puis les données sont transférées vers la feuille Excel. Si la date est du genre 22/11/2005, c'est correctement transféré. Mais si la date est du genre 01/03/2005 (1er mars 2005), la date est transposée au format anglais 03/01/2005 (et sera donc compris par un français 3 janvier 2005). Le format de la cellule du tableau est bien en jj/mm/aaaa et mon programme demande bien format(TexBoxDate, "dd/mm/yyyy"). Il semble s'agir donc d'un problème d'interprétation de la saisie par VB avant le formatage. Je n'ai pas trouvé d'astuce permettant de résoudre ce problème. Merci de m'aider.
Bonjour,
Une piste avec
Private Sub CommandButton1_Click()
Dim D As Date
If Not IsDate(Me.TextBox1.Text) Then
Me.TextBox1.Text = ""
Me.TextBox1.SetFocus
Exit Sub
End If
D = CDate(Me.TextBox1.Text)
ActiveSheet.[a1] = D
End Sub
Cordialement
--
PMO
Patrick Morange
Bonjour,
J'ai créé un formulaire qui contient 2 textbox pour saisir des dates.
Lorsque l'utilisateur clique sur le bouton OK, un contrôle est fait par mon
programme pour vérifier que ce sont bien des dates qui ont été saisies dans
les texbox appropriées, puis les données sont transférées vers la feuille
Excel.
Si la date est du genre 22/11/2005, c'est correctement transféré. Mais si la
date est du genre 01/03/2005 (1er mars 2005), la date est transposée au
format anglais 03/01/2005 (et sera donc compris par un français 3 janvier
2005). Le format de la cellule du tableau est bien en jj/mm/aaaa et mon
programme demande bien format(TexBoxDate, "dd/mm/yyyy"). Il semble s'agir
donc d'un problème d'interprétation de la saisie par VB avant le formatage.
Je n'ai pas trouvé d'astuce permettant de résoudre ce problème. Merci de
m'aider.
Private Sub CommandButton1_Click() Dim D As Date If Not IsDate(Me.TextBox1.Text) Then Me.TextBox1.Text = "" Me.TextBox1.SetFocus Exit Sub End If D = CDate(Me.TextBox1.Text) ActiveSheet.[a1] = D End Sub
Cordialement -- PMO Patrick Morange
Bonjour, J'ai créé un formulaire qui contient 2 textbox pour saisir des dates. Lorsque l'utilisateur clique sur le bouton OK, un contrôle est fait par mon programme pour vérifier que ce sont bien des dates qui ont été saisies dans les texbox appropriées, puis les données sont transférées vers la feuille Excel. Si la date est du genre 22/11/2005, c'est correctement transféré. Mais si la date est du genre 01/03/2005 (1er mars 2005), la date est transposée au format anglais 03/01/2005 (et sera donc compris par un français 3 janvier 2005). Le format de la cellule du tableau est bien en jj/mm/aaaa et mon programme demande bien format(TexBoxDate, "dd/mm/yyyy"). Il semble s'agir donc d'un problème d'interprétation de la saisie par VB avant le formatage. Je n'ai pas trouvé d'astuce permettant de résoudre ce problème. Merci de m'aider.
Hervé 92
Pour régler les problèmes de gestion des dates par VBA en format US, j'utilise systématiquement une conversion en numérique (ex : 38253) par l'intermédiaire d'une fonction. Il est ensuite très simple de convertir par CDATE Extrait du site: "Quand on demande à Visual Basic ou à VBA de traiter une date, qu'elle soit saisie dans une boîte de dialogue, issue d'une feuille Excel ou qu'elle provienne d'un fichier ASCII ouvert à l'aide de opentext, invariablement, on la retrouve soit au format américain (mm/dd/yyyy) soit sous forme de chaîne de caractères mais rarement au format français(jj/mm/aaaa). Que faire ? "
C'est ici : http://www.excelabo.net/xl/dates.php#datefrancaise
"CinéPhil" a écrit dans le message de news:
Bonjour, J'ai créé un formulaire qui contient 2 textbox pour saisir des dates. Lorsque l'utilisateur clique sur le bouton OK, un contrôle est fait par mon programme pour vérifier que ce sont bien des dates qui ont été saisies dans les texbox appropriées, puis les données sont transférées vers la feuille Excel. Si la date est du genre 22/11/2005, c'est correctement transféré. Mais si la date est du genre 01/03/2005 (1er mars 2005), la date est transposée au format anglais 03/01/2005 (et sera donc compris par un français 3 janvier 2005). Le format de la cellule du tableau est bien en jj/mm/aaaa et mon programme demande bien format(TexBoxDate, "dd/mm/yyyy"). Il semble s'agir donc d'un problème d'interprétation de la saisie par VB avant le formatage. Je n'ai pas trouvé d'astuce permettant de résoudre ce problème. Merci de m'aider.
Pour régler les problèmes de gestion des dates par VBA en format US,
j'utilise systématiquement une conversion en numérique (ex : 38253) par
l'intermédiaire d'une fonction. Il est ensuite très simple de convertir par
CDATE
Extrait du site:
"Quand on demande à Visual Basic ou à VBA de traiter une date, qu'elle soit
saisie dans une boîte de dialogue, issue d'une feuille Excel ou qu'elle
provienne d'un fichier ASCII ouvert à l'aide de opentext, invariablement, on
la retrouve soit au format américain (mm/dd/yyyy) soit sous forme de chaîne
de caractères mais rarement au format français(jj/mm/aaaa). Que faire ? "
C'est ici : http://www.excelabo.net/xl/dates.php#datefrancaise
"CinéPhil" <CinPhil@discussions.microsoft.com> a écrit dans le message de
news: E9D00C55-8E10-4CDD-B952-28B082806D8B@microsoft.com...
Bonjour,
J'ai créé un formulaire qui contient 2 textbox pour saisir des dates.
Lorsque l'utilisateur clique sur le bouton OK, un contrôle est fait par
mon
programme pour vérifier que ce sont bien des dates qui ont été saisies
dans
les texbox appropriées, puis les données sont transférées vers la feuille
Excel.
Si la date est du genre 22/11/2005, c'est correctement transféré. Mais si
la
date est du genre 01/03/2005 (1er mars 2005), la date est transposée au
format anglais 03/01/2005 (et sera donc compris par un français 3 janvier
2005). Le format de la cellule du tableau est bien en jj/mm/aaaa et mon
programme demande bien format(TexBoxDate, "dd/mm/yyyy"). Il semble s'agir
donc d'un problème d'interprétation de la saisie par VB avant le
formatage.
Je n'ai pas trouvé d'astuce permettant de résoudre ce problème. Merci de
m'aider.
Pour régler les problèmes de gestion des dates par VBA en format US, j'utilise systématiquement une conversion en numérique (ex : 38253) par l'intermédiaire d'une fonction. Il est ensuite très simple de convertir par CDATE Extrait du site: "Quand on demande à Visual Basic ou à VBA de traiter une date, qu'elle soit saisie dans une boîte de dialogue, issue d'une feuille Excel ou qu'elle provienne d'un fichier ASCII ouvert à l'aide de opentext, invariablement, on la retrouve soit au format américain (mm/dd/yyyy) soit sous forme de chaîne de caractères mais rarement au format français(jj/mm/aaaa). Que faire ? "
C'est ici : http://www.excelabo.net/xl/dates.php#datefrancaise
"CinéPhil" a écrit dans le message de news:
Bonjour, J'ai créé un formulaire qui contient 2 textbox pour saisir des dates. Lorsque l'utilisateur clique sur le bouton OK, un contrôle est fait par mon programme pour vérifier que ce sont bien des dates qui ont été saisies dans les texbox appropriées, puis les données sont transférées vers la feuille Excel. Si la date est du genre 22/11/2005, c'est correctement transféré. Mais si la date est du genre 01/03/2005 (1er mars 2005), la date est transposée au format anglais 03/01/2005 (et sera donc compris par un français 3 janvier 2005). Le format de la cellule du tableau est bien en jj/mm/aaaa et mon programme demande bien format(TexBoxDate, "dd/mm/yyyy"). Il semble s'agir donc d'un problème d'interprétation de la saisie par VB avant le formatage. Je n'ai pas trouvé d'astuce permettant de résoudre ce problème. Merci de m'aider.