Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

macro érronée

6 réponses
Avatar
ptck
Bonsoir
j'ai cette macro quand je tape la date du 280209, c'est juillet qui
s'affiche en colonne 3
quand je regarde "CDATE" il apparaît la date : 08032667 ??

si vous avez une explication
merci de votre aide

Sub Macro2()
Dim mois As String

mois = Application.InputBox("Tapez la date du stock sous forme jjmmaa :",
"Saisie", , , , , , 2)
Sheets(2).Range(Cells(1, 1), Cells(5, 1)) = mois
Sheets(2).Range(Cells(1, 2), Cells(5, 2)) = Mid(mois, 3, 2)
Sheets(2).Range(Cells(1, 3), Cells(5, 3)) =
Application.Proper(Format(CDate(mois), "mmmm"))

End Sub

6 réponses

Avatar
LSteph
Bonjour,
1 représente 1 jour
soit en date 01/01/1900

2
2/01/1900

280209 est un nombre pas une date
en date cela fait 08/03/2067

28/02/2009 serait en nombre 38972

aujourd'hui nous sommes le 12/03/2009
soit en nombre 39884

essaie dans une feuille passe du format date au format nombre.

Est-ce plus clair?

Dim mois as string
string renvoie une chaine de caractères

vaudrait mieux taper la date du stock au format dd/mm/yyyy
soit in french jj/mm/aaaa

Pour reprendre presque ton exemple:

Sub Macro2()
Dim mois As String

mois = Application.InputBox _
("Tapez la date du stock sous forme jj/mm/aaaa :", _
"Saisie", , , , , , 2)
Feuil2.Cells(1, 1) = DateValue(mois)
Feuil2.Cells(1, 2) = Month([a1])
Application.Proper (Format(CDate(mois), "mmmm"))

End Sub


--
lSteph

ptck a écrit :
Bonsoir
j'ai cette macro quand je tape la date du 280209, c'est juillet qui
s'affiche en colonne 3
quand je regarde "CDATE" il apparaît la date : 08032667 ??

si vous avez une explication
merci de votre aide

Sub Macro2()
Dim mois As String

mois = Application.InputBox("Tapez la date du stock sous forme jjmmaa :",
"Saisie", , , , , , 2)
Sheets(2).Range(Cells(1, 1), Cells(5, 1)) = mois
Sheets(2).Range(Cells(1, 2), Cells(5, 2)) = Mid(mois, 3, 2)
Sheets(2).Range(Cells(1, 3), Cells(5, 3)) =
Application.Proper(Format(CDate(mois), "mmmm"))

End Sub




Avatar
LSteph
..un pti bout a sauté

Sub Macro2()
Dim mois As String

mois = Application.InputBox _
("Tapez la date du stock sous forme jj/mm/aaaa :", _
"Saisie", , , , , , 2)
Feuil2.Cells(1, 1) = DateValue(mois)
Feuil2.Cells(1, 2) = Month([a1])
Feuil2.Cells(1, 3) = Application.Proper(Format(CDate(mois), "mmmm"))

End Sub



LSteph a écrit :
Bonjour,
1 représente 1 jour
soit en date 01/01/1900

2
2/01/1900

280209 est un nombre pas une date
en date cela fait 08/03/2067

28/02/2009 serait en nombre 38972

aujourd'hui nous sommes le 12/03/2009
soit en nombre 39884

essaie dans une feuille passe du format date au format nombre.

Est-ce plus clair?

Dim mois as string
string renvoie une chaine de caractères

vaudrait mieux taper la date du stock au format dd/mm/yyyy
soit in french jj/mm/aaaa

Pour reprendre presque ton exemple:

Sub Macro2()
Dim mois As String

mois = Application.InputBox _
("Tapez la date du stock sous forme jj/mm/aaaa :", _
"Saisie", , , , , , 2)
Feuil2.Cells(1, 1) = DateValue(mois)
Feuil2.Cells(1, 2) = Month([a1])
Application.Proper (Format(CDate(mois), "mmmm"))

End Sub


--
lSteph

ptck a écrit :
Bonsoir
j'ai cette macro quand je tape la date du 280209, c'est juillet qui
s'affiche en colonne 3
quand je regarde "CDATE" il apparaît la date : 08032667 ??

si vous avez une explication
merci de votre aide

Sub Macro2()
Dim mois As String

mois = Application.InputBox("Tapez la date du stock sous forme
jjmmaa :", "Saisie", , , , , , 2)
Sheets(2).Range(Cells(1, 1), Cells(5, 1)) = mois
Sheets(2).Range(Cells(1, 2), Cells(5, 2)) = Mid(mois, 3, 2)
Sheets(2).Range(Cells(1, 3), Cells(5, 3)) =
Application.Proper(Format(CDate(mois), "mmmm"))

End Sub





Avatar
Modeste
Bonsour® ptck

j'ai cette macro quand je tape la date du 280209, c'est juillet qui
s'affiche en colonne 3
quand je regarde "CDATE" il apparaît la date : 08032667 ??

si vous avez une explication
merci de votre aide

Sub Macro2()
Dim mois As String
mois = Application.InputBox("Tapez la date du stock sous forme
jjmmaa :", "Saisie", , , , , , 2)
Sheets(2).Range(Cells(1, 1), Cells(5, 1)) = mois
Sheets(2).Range(Cells(1, 2), Cells(5, 2)) = Mid(mois, 3, 2)
Sheets(2).Range(Cells(1, 3), Cells(5, 3)) =
Application.Proper(Format(CDate(mois), "mmmm"))
End Sub



R.A.S
la macro fait parfaitement ce qui est écrit !!!
280209 jours aprés le 01/01/1900
c'est bien le vendredi 8 mars 2667

;o)))
Sub Macro2()
Dim ladate As String
ladate = Application.InputBox("Tapez la date du stock sous forme jjmmaa :", "Saisie", , , , , , 2)
With Sheets(2)
.Cells(1, 1) = Format(ladate, "00""/""00""/""00")
.Cells(1, 3) = Application.Proper(Format(.Cells(1, 1), "mmmm"))
End With
End Sub
Avatar
LSteph
;o)

Dites votre ferveur , vos mirettes?

Bonne nuit.




Modeste a écrit :
Bonsour® ptck

j'ai cette macro quand je tape la date du 280209, c'est juillet qui
s'affiche en colonne 3
quand je regarde "CDATE" il apparaît la date : 08032667 ??

si vous avez une explication
merci de votre aide

Sub Macro2()
Dim mois As String
mois = Application.InputBox("Tapez la date du stock sous forme
jjmmaa :", "Saisie", , , , , , 2)
Sheets(2).Range(Cells(1, 1), Cells(5, 1)) = mois
Sheets(2).Range(Cells(1, 2), Cells(5, 2)) = Mid(mois, 3, 2)
Sheets(2).Range(Cells(1, 3), Cells(5, 3)) >> Application.Proper(Format(CDate(mois), "mmmm"))
End Sub



R.A.S
la macro fait parfaitement ce qui est écrit !!!
280209 jours aprés le 01/01/1900
c'est bien le vendredi 8 mars 2667

;o)))
Sub Macro2()
Dim ladate As String
ladate = Application.InputBox("Tapez la date du stock sous forme jjmmaa :", "Saisie", , , , , , 2)
With Sheets(2)
.Cells(1, 1) = Format(ladate, "00""/""00""/""00")
.Cells(1, 3) = Application.Proper(Format(.Cells(1, 1), "mmmm"))
End With
End Sub






Avatar
gmlsteph
..pour en revenir à nos mirettes:

"00""/""00""/""00

Ta réponse souscrit précisément à ce qui était demandé, la mi enne
relevait d'une préférence.

Ces 3 paires d'yeux pratique pour
ne pas avoir à saisir les "/" nez.

;o)

En face d'une feuille excel lorsqu'il y a un nouvel utilisateur , il
tape un nombre simplement , puis avec deux points pour séparer des
heures minutes secondes, enfin lui montre qu'on met le nez "/" aux
bons endroit entre les paires d'yeux "00" pour entrer une date et
qu'il vaut mieux (excel permet cela) pouvoir choisir l'année , le cas
échéant et dans ce cas l'entrer précisément sur 4 chr, il lui faut un
certain temps d'adaptation, mais il acquiert vite cela comme un
réflexe.
Si je lui mets un userform ou autre inputbox pour faire une saisie de
date j'aime autant qu'il n'ait pas à modifier ses bonnes habitudes.

Amicales salutations.

--
lSteph
;-)
J'aime aussi quand on est concis mai parfois c'est (l'inverse) pour la
pédagogie....


On 13 mar, 00:07, LSteph wrote:
;o)

Dites votre ferveur , vos mirettes?

Bonne nuit.

Modeste a écrit :



> Bonsour® ptck  

>> j'ai cette macro quand je tape la date du 280209, c'est juillet qui
>> s'affiche en colonne 3
>> quand je regarde "CDATE" il apparaît la date : 08032667 ??

>> si vous avez une explication
>> merci de votre aide

>> Sub Macro2()
>>  Dim mois As String
>>  mois = Application.InputBox("Tapez la date du stock sous forme
>> jjmmaa :", "Saisie", , , , , , 2)
>>  Sheets(2).Range(Cells(1, 1), Cells(5, 1)) = mois
>> Sheets(2).Range(Cells(1, 2), Cells(5, 2)) = Mid(mois, 3, 2)
>> Sheets(2).Range(Cells(1, 3), Cells(5, 3)) =
>> Application.Proper(Format(CDate(mois), "mmmm"))
>> End Sub

> R.A.S
> la macro fait parfaitement ce qui est écrit !!!
> 280209 jours aprés le 01/01/1900
>  c'est bien le vendredi 8 mars 2667

> ;o)))
> Sub Macro2()
>   Dim ladate As String
>   ladate = Application.InputBox("Tapez la date du stock sous forme jjmmaa :", "Saisie", , , , , , 2)
>   With Sheets(2)
>     .Cells(1, 1) = Format(ladate, "00""/""00""/""00")
>     .Cells(1, 3) = Application.Proper(Format(.Cells(1, 1), "mmmm" ))
>   End With
> End Sub- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


Avatar
ptck
Messieurs je n'ai qu'un mot Merci
ptck
a écrit dans le message de news:

..pour en revenir à nos mirettes:

"00""/""00""/""00

Ta réponse souscrit précisément à ce qui était demandé, la mienne
relevait d'une préférence.

Ces 3 paires d'yeux pratique pour
ne pas avoir à saisir les "/" nez.

;o)

En face d'une feuille excel lorsqu'il y a un nouvel utilisateur , il
tape un nombre simplement , puis avec deux points pour séparer des
heures minutes secondes, enfin lui montre qu'on met le nez "/" aux
bons endroit entre les paires d'yeux "00" pour entrer une date et
qu'il vaut mieux (excel permet cela) pouvoir choisir l'année , le cas
échéant et dans ce cas l'entrer précisément sur 4 chr, il lui faut un
certain temps d'adaptation, mais il acquiert vite cela comme un
réflexe.
Si je lui mets un userform ou autre inputbox pour faire une saisie de
date j'aime autant qu'il n'ait pas à modifier ses bonnes habitudes.

Amicales salutations.

--
lSteph
;-)
J'aime aussi quand on est concis mai parfois c'est (l'inverse) pour la
pédagogie....


On 13 mar, 00:07, LSteph wrote:
;o)

Dites votre ferveur , vos mirettes?

Bonne nuit.

Modeste a écrit :



> Bonsour® ptck

>> j'ai cette macro quand je tape la date du 280209, c'est juillet qui
>> s'affiche en colonne 3
>> quand je regarde "CDATE" il apparaît la date : 08032667 ??

>> si vous avez une explication
>> merci de votre aide

>> Sub Macro2()
>> Dim mois As String
>> mois = Application.InputBox("Tapez la date du stock sous forme
>> jjmmaa :", "Saisie", , , , , , 2)
>> Sheets(2).Range(Cells(1, 1), Cells(5, 1)) = mois
>> Sheets(2).Range(Cells(1, 2), Cells(5, 2)) = Mid(mois, 3, 2)
>> Sheets(2).Range(Cells(1, 3), Cells(5, 3)) > >> Application.Proper(Format(CDate(mois), "mmmm"))
>> End Sub

> R.A.S
> la macro fait parfaitement ce qui est écrit !!!
> 280209 jours aprés le 01/01/1900
> c'est bien le vendredi 8 mars 2667

> ;o)))
> Sub Macro2()
> Dim ladate As String
> ladate = Application.InputBox("Tapez la date du stock sous forme jjmmaa
> :", "Saisie", , , , , , 2)
> With Sheets(2)
> .Cells(1, 1) = Format(ladate, "00""/""00""/""00")
> .Cells(1, 3) = Application.Proper(Format(.Cells(1, 1), "mmmm"))
> End With
> End Sub- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -