VBA - le format d'une date 01/12/2005 pour garder 01
16 réponses
twinley
Bonjour,
Je cherche en VBA le format d'une date 01/12/2005 pour garder uniquement à
l'affichage le jour 01.
Avec ce qui suit, ça passe pas, la date est modifiée
la fonction "Format" n'existe qu'en VBA .... elle ne peut appliquer un format aux cellules de la feuille de calcul. Pour ce faire tu dois utiliser la méthode "NumberFormat" ou "NumberFormatLocal" de l'objet "Range" (cells). Tu obtiendras une ligne de code semblable à celle-ci :
Range("A1").NumberFormatLocal = "JJ" 'Français ( paramètre linguistique tu système d'exploitation.) Range("A1").Value = CDate(DateSerial(2005, 12, 01))
Salutations!
"twinley" <twinleym(at)hotmail.com> a écrit dans le message de news: Bonjour,
Je cherche en VBA le format d'une date 01/12/2005 pour garder uniquement à l'affichage le jour 01. Avec ce qui suit, ça passe pas, la date est modifiée
alors que l'enregistreur donne : Range("C2").Select Selection.NumberFormat = "dd"
mais j'aimerai éviter le select. Il y a un défaut sur la paire cells et format ?
Merci pour l'aide
a+twinley
la fonction "Format" n'existe qu'en VBA .... elle ne peut appliquer un format aux cellules de la feuille de calcul. Pour
ce faire tu dois utiliser la méthode "NumberFormat" ou "NumberFormatLocal" de l'objet "Range" (cells). Tu obtiendras une
ligne de code semblable à celle-ci :
Range("A1").NumberFormatLocal = "JJ" 'Français ( paramètre linguistique tu système d'exploitation.)
Range("A1").Value = CDate(DateSerial(2005, 12, 01))
Salutations!
"twinley" <twinleym(at)hotmail.com> a écrit dans le message de news: OnimKrYyEHA.1196@TK2MSFTNGP15.phx.gbl...
Bonjour,
Je cherche en VBA le format d'une date 01/12/2005 pour garder uniquement à
l'affichage le jour 01.
Avec ce qui suit, ça passe pas, la date est modifiée
la fonction "Format" n'existe qu'en VBA .... elle ne peut appliquer un format aux cellules de la feuille de calcul. Pour ce faire tu dois utiliser la méthode "NumberFormat" ou "NumberFormatLocal" de l'objet "Range" (cells). Tu obtiendras une ligne de code semblable à celle-ci :
Range("A1").NumberFormatLocal = "JJ" 'Français ( paramètre linguistique tu système d'exploitation.) Range("A1").Value = CDate(DateSerial(2005, 12, 01))
Salutations!
"twinley" <twinleym(at)hotmail.com> a écrit dans le message de news: Bonjour,
Je cherche en VBA le format d'une date 01/12/2005 pour garder uniquement à l'affichage le jour 01. Avec ce qui suit, ça passe pas, la date est modifiée
-- à+twinley "twinley" <twinleym(at)hotmail.com> a écrit dans le message de news:
Bonjour,
Je cherche en VBA le format d'une date 01/12/2005 pour garder uniquement à l'affichage le jour 01. Avec ce qui suit, ça passe pas, la date est modifiée
alors que l'enregistreur donne : Range("C2").Select Selection.NumberFormat = "dd"
mais j'aimerai éviter le select. Il y a un défaut sur la paire cells et format ?
Merci pour l'aide
a+twinley
Ouf, sauvé
merci à vous deux
--
à+twinley
"twinley" <twinleym(at)hotmail.com> a écrit dans le message de
news:OnimKrYyEHA.1196@TK2MSFTNGP15.phx.gbl...
Bonjour,
Je cherche en VBA le format d'une date 01/12/2005 pour garder uniquement à
l'affichage le jour 01.
Avec ce qui suit, ça passe pas, la date est modifiée
-- à+twinley "twinley" <twinleym(at)hotmail.com> a écrit dans le message de news:
Bonjour,
Je cherche en VBA le format d'une date 01/12/2005 pour garder uniquement à l'affichage le jour 01. Avec ce qui suit, ça passe pas, la date est modifiée
Si juste à voir, on voit bien que la cellule affiche 1 , n'oublie pas que la cellule est au format "Standard" et non à un format personnalisé "date" et la résultante est si tu fais référence à cette cellule dans une autre formule comme ceci = Mois(A1) , je te laisse découvrir le résultat que tu obtiendras et cela ne devrait pas être 12.
;-)
Salutations!
"Jean-Claude" a écrit dans le message de news: Sa lut, Mettre la cellule concernée au format Texte Puis utiliser le code suivant
Si juste à voir, on voit bien que la cellule affiche 1 , n'oublie pas que la cellule est au format "Standard" et non à
un format personnalisé "date" et la résultante est si tu fais référence à cette cellule dans une autre formule comme
ceci = Mois(A1) , je te laisse découvrir le résultat que tu obtiendras et cela ne devrait pas être 12.
;-)
Salutations!
"Jean-Claude" <jcvalProut@wanadoo.fr> a écrit dans le message de news: eQ1Y72YyEHA.1292@TK2MSFTNGP10.phx.gbl...
Sa lut,
Mettre la cellule concernée au format Texte
Puis utiliser le code suivant
Si juste à voir, on voit bien que la cellule affiche 1 , n'oublie pas que la cellule est au format "Standard" et non à un format personnalisé "date" et la résultante est si tu fais référence à cette cellule dans une autre formule comme ceci = Mois(A1) , je te laisse découvrir le résultat que tu obtiendras et cela ne devrait pas être 12.
;-)
Salutations!
"Jean-Claude" a écrit dans le message de news: Sa lut, Mettre la cellule concernée au format Texte Puis utiliser le code suivant
exact michdenis, le passage du format standard au format date me fais basculer en 1900. Cela donne un calendrier juste à l'affichage mais on ne peux pas faire de calcul de date vraie sauf si on la reconstruit depuis le texte. Belle leçon, merci C'est quand même un casse-tête ces dates. -- à+twinley "michdenis" a écrit dans le message de news:
exact michdenis, le passage du format standard au format date me fais
basculer en 1900. Cela donne un calendrier juste à l'affichage mais on ne
peux pas faire de calcul de date vraie sauf si on la reconstruit depuis le
texte.
Belle leçon, merci
C'est quand même un casse-tête ces dates.
--
à+twinley
"michdenis" <michdenis@hotmail.com> a écrit dans le message de
news:uNa7KcZyEHA.2260@TK2MSFTNGP15.phx.gbl...
exact michdenis, le passage du format standard au format date me fais basculer en 1900. Cela donne un calendrier juste à l'affichage mais on ne peux pas faire de calcul de date vraie sauf si on la reconstruit depuis le texte. Belle leçon, merci C'est quand même un casse-tête ces dates. -- à+twinley "michdenis" a écrit dans le message de news:
Sub test() NDD = 3 Sheets(1).Cells(2, NDD) = Day(DateSerial(2005, 12, 1)) Sheets(1).Cells(2, NDD).NumberFormat = "00" End Sub
FS --- Frédéric Sigonneau [MVP Excel - né un sans-culottide] Gestions de temps, VBA pour Excel : http://frederic.sigonneau.free.fr Si votre question sur Excel est urgente, évitez ma bal !
Bonjour,
Je cherche en VBA le format d'une date 01/12/2005 pour garder uniquement à l'affichage le jour 01. Avec ce qui suit, ça passe pas, la date est modifiée
alors que l'enregistreur donne : Range("C2").Select Selection.NumberFormat = "dd"
mais j'aimerai éviter le select. Il y a un défaut sur la paire cells et format ?
Merci pour l'aide
a+twinley
Bonjour,
Autre approche possible :
Sub test()
NDD = 3
Sheets(1).Cells(2, NDD) = Day(DateSerial(2005, 12, 1))
Sheets(1).Cells(2, NDD).NumberFormat = "00"
End Sub
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !
Bonjour,
Je cherche en VBA le format d'une date 01/12/2005 pour garder uniquement à
l'affichage le jour 01.
Avec ce qui suit, ça passe pas, la date est modifiée
Sub test() NDD = 3 Sheets(1).Cells(2, NDD) = Day(DateSerial(2005, 12, 1)) Sheets(1).Cells(2, NDD).NumberFormat = "00" End Sub
FS --- Frédéric Sigonneau [MVP Excel - né un sans-culottide] Gestions de temps, VBA pour Excel : http://frederic.sigonneau.free.fr Si votre question sur Excel est urgente, évitez ma bal !
Bonjour,
Je cherche en VBA le format d'une date 01/12/2005 pour garder uniquement à l'affichage le jour 01. Avec ce qui suit, ça passe pas, la date est modifiée
alors que l'enregistreur donne : Range("C2").Select Selection.NumberFormat = "dd"
mais j'aimerai éviter le select. Il y a un défaut sur la paire cells et format ?
Merci pour l'aide
a+twinley
twinley
choli.... Merci Frédéric Sigonneau -- à+twinley "Frédéric Sigonneau" a écrit dans le message de news:%
Bonjour,
Autre approche possible :
Sub test() NDD = 3 Sheets(1).Cells(2, NDD) = Day(DateSerial(2005, 12, 1)) Sheets(1).Cells(2, NDD).NumberFormat = "00" End Sub
FS --- Frédéric Sigonneau [MVP Excel - né un sans-culottide] Gestions de temps, VBA pour Excel : http://frederic.sigonneau.free.fr Si votre question sur Excel est urgente, évitez ma bal !
Bonjour,
Je cherche en VBA le format d'une date 01/12/2005 pour garder uniquement à
l'affichage le jour 01. Avec ce qui suit, ça passe pas, la date est modifiée
alors que l'enregistreur donne : Range("C2").Select Selection.NumberFormat = "dd"
mais j'aimerai éviter le select. Il y a un défaut sur la paire cells et format ?
Merci pour l'aide
a+twinley
choli....
Merci Frédéric Sigonneau
--
à+twinley
"Frédéric Sigonneau" <frederic.sigonneau@phri.fr> a écrit dans le message de
news:%23oTgXtZyEHA.1392@tk2msftngp13.phx.gbl...
Bonjour,
Autre approche possible :
Sub test()
NDD = 3
Sheets(1).Cells(2, NDD) = Day(DateSerial(2005, 12, 1))
Sheets(1).Cells(2, NDD).NumberFormat = "00"
End Sub
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !
Bonjour,
Je cherche en VBA le format d'une date 01/12/2005 pour garder uniquement
à
l'affichage le jour 01.
Avec ce qui suit, ça passe pas, la date est modifiée
choli.... Merci Frédéric Sigonneau -- à+twinley "Frédéric Sigonneau" a écrit dans le message de news:%
Bonjour,
Autre approche possible :
Sub test() NDD = 3 Sheets(1).Cells(2, NDD) = Day(DateSerial(2005, 12, 1)) Sheets(1).Cells(2, NDD).NumberFormat = "00" End Sub
FS --- Frédéric Sigonneau [MVP Excel - né un sans-culottide] Gestions de temps, VBA pour Excel : http://frederic.sigonneau.free.fr Si votre question sur Excel est urgente, évitez ma bal !
Bonjour,
Je cherche en VBA le format d'une date 01/12/2005 pour garder uniquement à
l'affichage le jour 01. Avec ce qui suit, ça passe pas, la date est modifiée
Et oui, elle a cependant le même défaut que l'approche à Jean-Claude ....
Salutations!
"twinley" <twinleym(at)hotmail.com> a écrit dans le message de news: OiU$ choli.... Merci Frédéric Sigonneau -- à+twinley "Frédéric Sigonneau" a écrit dans le message de news:%
Bonjour,
Autre approche possible :
Sub test() NDD = 3 Sheets(1).Cells(2, NDD) = Day(DateSerial(2005, 12, 1)) Sheets(1).Cells(2, NDD).NumberFormat = "00" End Sub
FS --- Frédéric Sigonneau [MVP Excel - né un sans-culottide] Gestions de temps, VBA pour Excel : http://frederic.sigonneau.free.fr Si votre question sur Excel est urgente, évitez ma bal !
Bonjour,
Je cherche en VBA le format d'une date 01/12/2005 pour garder uniquement à
l'affichage le jour 01. Avec ce qui suit, ça passe pas, la date est modifiée
Et oui, elle a cependant le même défaut que l'approche à Jean-Claude ....
Salutations!
"twinley" <twinleym(at)hotmail.com> a écrit dans le message de news: OiU$q0ZyEHA.3368@TK2MSFTNGP15.phx.gbl...
choli....
Merci Frédéric Sigonneau
--
à+twinley
"Frédéric Sigonneau" <frederic.sigonneau@phri.fr> a écrit dans le message de
news:%23oTgXtZyEHA.1392@tk2msftngp13.phx.gbl...
Bonjour,
Autre approche possible :
Sub test()
NDD = 3
Sheets(1).Cells(2, NDD) = Day(DateSerial(2005, 12, 1))
Sheets(1).Cells(2, NDD).NumberFormat = "00"
End Sub
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !
Bonjour,
Je cherche en VBA le format d'une date 01/12/2005 pour garder uniquement
à
l'affichage le jour 01.
Avec ce qui suit, ça passe pas, la date est modifiée
Et oui, elle a cependant le même défaut que l'approche à Jean-Claude ....
Salutations!
"twinley" <twinleym(at)hotmail.com> a écrit dans le message de news: OiU$ choli.... Merci Frédéric Sigonneau -- à+twinley "Frédéric Sigonneau" a écrit dans le message de news:%
Bonjour,
Autre approche possible :
Sub test() NDD = 3 Sheets(1).Cells(2, NDD) = Day(DateSerial(2005, 12, 1)) Sheets(1).Cells(2, NDD).NumberFormat = "00" End Sub
FS --- Frédéric Sigonneau [MVP Excel - né un sans-culottide] Gestions de temps, VBA pour Excel : http://frederic.sigonneau.free.fr Si votre question sur Excel est urgente, évitez ma bal !
Bonjour,
Je cherche en VBA le format d'une date 01/12/2005 pour garder uniquement à
l'affichage le jour 01. Avec ce qui suit, ça passe pas, la date est modifiée
la cellule affichera : 01 .. et son contenu ne sera pas directement disponible pour usage de d'autre formule ....!
Cependant, si tu vas modifier son format : Barre des menus / format / cellules / En format date, tu t'apercevras qu'elle contient bien la date insérée mais que son format "Standard" t'empêche de l'utiliser dans une autre formule comme = Mois(a1)
D'où mon affirmation du début... la fonction "Format" en vba ne s'applique pas si on désire appliquer une format à une cellule !
Au même titre que si tu fais cela : Range("B5") = Format(1250.25, "# ##0.00 $")
La cellule sera au format standard, affichera le "bon format" mais la saisie sera à gauche de la cellule car perçu comme du texte et non une valeur numérique.
Salutations!
"twinley" <twinleym(at)hotmail.com> a écrit dans le message de news: % exact michdenis, le passage du format standard au format date me fais basculer en 1900. Cela donne un calendrier juste à l'affichage mais on ne peux pas faire de calcul de date vraie sauf si on la reconstruit depuis le texte. Belle leçon, merci C'est quand même un casse-tête ces dates. -- à+twinley "michdenis" a écrit dans le message de news:
la cellule affichera : 01 .. et son contenu ne sera pas directement disponible pour usage de d'autre formule ....!
Cependant, si tu vas modifier son format : Barre des menus / format / cellules / En format date, tu t'apercevras qu'elle
contient bien la date insérée mais que son format "Standard" t'empêche de l'utiliser dans une autre formule comme =
Mois(a1)
D'où mon affirmation du début... la fonction "Format" en vba ne s'applique pas si on désire appliquer une format à une
cellule !
Au même titre que si tu fais cela :
Range("B5") = Format(1250.25, "# ##0.00 $")
La cellule sera au format standard, affichera le "bon format" mais la saisie sera à gauche de la cellule car perçu comme
du texte et non une valeur numérique.
Salutations!
"twinley" <twinleym(at)hotmail.com> a écrit dans le message de news: %231NsZkZyEHA.2676@TK2MSFTNGP12.phx.gbl...
exact michdenis, le passage du format standard au format date me fais
basculer en 1900. Cela donne un calendrier juste à l'affichage mais on ne
peux pas faire de calcul de date vraie sauf si on la reconstruit depuis le
texte.
Belle leçon, merci
C'est quand même un casse-tête ces dates.
--
à+twinley
"michdenis" <michdenis@hotmail.com> a écrit dans le message de
news:uNa7KcZyEHA.2260@TK2MSFTNGP15.phx.gbl...
la cellule affichera : 01 .. et son contenu ne sera pas directement disponible pour usage de d'autre formule ....!
Cependant, si tu vas modifier son format : Barre des menus / format / cellules / En format date, tu t'apercevras qu'elle contient bien la date insérée mais que son format "Standard" t'empêche de l'utiliser dans une autre formule comme = Mois(a1)
D'où mon affirmation du début... la fonction "Format" en vba ne s'applique pas si on désire appliquer une format à une cellule !
Au même titre que si tu fais cela : Range("B5") = Format(1250.25, "# ##0.00 $")
La cellule sera au format standard, affichera le "bon format" mais la saisie sera à gauche de la cellule car perçu comme du texte et non une valeur numérique.
Salutations!
"twinley" <twinleym(at)hotmail.com> a écrit dans le message de news: % exact michdenis, le passage du format standard au format date me fais basculer en 1900. Cela donne un calendrier juste à l'affichage mais on ne peux pas faire de calcul de date vraie sauf si on la reconstruit depuis le texte. Belle leçon, merci C'est quand même un casse-tête ces dates. -- à+twinley "michdenis" a écrit dans le message de news: