OVH Cloud OVH Cloud

encore un problème de date...

6 réponses
Avatar
Michel.P
Bonjour à toutes et tous,
en C1 j'ai une date format jj/mm/aa nommée
DebutMois, la cellule est utilisée par une macro
pour effectuer un filtre élaboré.
La macro récupére la date sous le format mm/jj/aa
et ne fonctionne pas. si je change le format
nombre pour avoir le numéro de série de la date
(ex :01/07/04 = 38169) la macro tourne impeccable
car dans le filtre c'est la valeur du jour qui
est récupérée.
Comment palier ce problème en ayant toujours le
format jj/mm/aa à l'écran ? (sans devoir nommer
une autre cellule cachée avec le n° de serie de
la date,dans la feuille)

Private Sub OptionButton1_Click()
Application.ScreenUpdating = False
zozo = Evaluate("=FIN.MOIS(C1,0)") 'si C1
= jj/mm/aa la macro ne fonctionne pas la date '
' renvoyée par la macro est mm/jj/aa
Range("B25").Select
If Selection.AutoFilter = False Then
Selection.AutoFilter = True
Selection.AutoFilter Field:=1,
Criteria1:=">=" & Range("debutmois").Value,
Operator:=xlAnd, _
Criteria2:="<=" & zozo
Range("c12").Formula = zozo
End Sub

--
Amicalement
Michel . P

6 réponses

Avatar
Philippe.R
Bonjour Michel,
Tu peux regarder du côté de dateserial(year(c1),month(c1),day(c1)) pour travailler sur ta date en VBA
--
Amicales Salutations
Retirer A_S_ pour répondre.
XL 97 / 2000 / 2002

"Michel.P" a écrit dans le message de
news:
Bonjour à toutes et tous,
en C1 j'ai une date format jj/mm/aa nommée
DebutMois, la cellule est utilisée par une macro
pour effectuer un filtre élaboré.
La macro récupére la date sous le format mm/jj/aa
et ne fonctionne pas. si je change le format
nombre pour avoir le numéro de série de la date
(ex :01/07/04 = 38169) la macro tourne impeccable
car dans le filtre c'est la valeur du jour qui
est récupérée.
Comment palier ce problème en ayant toujours le
format jj/mm/aa à l'écran ? (sans devoir nommer
une autre cellule cachée avec le n° de serie de
la date,dans la feuille)

Private Sub OptionButton1_Click()
Application.ScreenUpdating = False
zozo = Evaluate("=FIN.MOIS(C1,0)") 'si C1
= jj/mm/aa la macro ne fonctionne pas la date '
' renvoyée par la macro est mm/jj/aa
Range("B25").Select
If Selection.AutoFilter = False Then
Selection.AutoFilter = True
Selection.AutoFilter Field:=1,
Criteria1:=">=" & Range("debutmois").Value,
Operator:=xlAnd, _
Criteria2:="<=" & zozo
Range("c12").Formula = zozo
End Sub

--
Amicalement
Michel . P



Avatar
Michel.P
Ok, merci Philippe je regarde et vois ce que
cela donne.
au plaisir

Philippe.R a couché sur son écran :
Bonjour Michel,
Tu peux regarder du côté de
dateserial(year(c1),month(c1),day(c1)) pour travailler
sur ta date en VBA -- Amicales Salutations
Retirer A_S_ pour répondre.
XL 97 / 2000 / 2002


--
Amicalement
Michel . P

Avatar
Michel.P
Impeccable, c'est bien le n° de série de la date
qui est renvoyé.
mille MERCI, enfin comme d'hab...quoi!!!
vous étes des Cracks (je mets au pluriel pour
n'oublier personne..)

--
Amicalement
Michel . P
Avatar
Philippe.R
C'était avec plaisir Michel !
--
Amicales Salutations

"Michel.P" a écrit dans le message de
news:
Impeccable, c'est bien le n° de série de la date
qui est renvoyé.
mille MERCI, enfin comme d'hab...quoi!!!
vous étes des Cracks (je mets au pluriel pour
n'oublier personne..)

--
Amicalement
Michel . P



Avatar
Daniel.M
Hello Philippe,

Tu peux regarder du côté de dateserial(year(c1),month(c1),day(c1))
pour travailler sur ta date en VBA


ou encore :

Dim UneDate as Long
UneDate = c1 * 1

Salutations,

Daniel M.

Avatar
Philippe.R
Oui, c'est tellement plus simple !
Merci Daniel pour cette piste.
--
Amicales Salutations

"Daniel.M" a écrit dans le message de
news:
Hello Philippe,

Tu peux regarder du côté de dateserial(year(c1),month(c1),day(c1))
pour travailler sur ta date en VBA


ou encore :

Dim UneDate as Long
UneDate = c1 * 1

Salutations,

Daniel M.