problème de date en VBA

C

C@thy

Guest
Bonjour foromeuses, foromeurs,

ouali ouala : zé un petit problème de conversion de date : comment transformer en VBA un nombre en date (par exemple 37895 en 24/10/2003)????

Names("PremJour").RefersTo = DateSerial(Year(Now), Month(Now), 1)
' j'obtiens 37895
DateCour = cDate(PremJour) * forcément c'est pas ça!!!
ensuite je veux décaler au 1er du mois suivant par rapport à ce résultat :
Names("PremJour").RefersTo = DateSerial(Year(CurDate), Month(CurDate) + 1, 1).

Je marne là-dessus depuis ce matin aux zorores! Merci à toutes celles et ceux qui pourront me donner un coup de main sur le sujet et à bientôt.

ma signature, c'est Vériland.
Au fait, il est où Véri, et tous ceux qui nous mettent plein de gifs dans leurs fils??? Ca manque de gifs en ce moment, vous trouvez pas? (au passage, je cherche toujours désespérément un gif représentant une main qui s'agite en sortant de l'eau pour demander de l'aide, y'a kekun ka ça?)

BipBip.gif
 
C

chriis

Guest
Bonjour
En fait 37895 est bien une date pour Excel.
Donc si tu enlèves la ligne DATECOUR il me sempble que cela devrait marcher.
Attention tu emploies ensuite Curdate et non Datecour : le nom doit être le même ou alors garde Premjour.
Chris
 
C

C@thy

Guest
Ben sauf que ça marche pas du tout,

évidemment j'ai essayé et je me fuis caffé les dents... lol!!!!

(incompatibilité de type!!!)

Names("PremJour").RefersTo = DateSerial(Year(Now), Month(Now), 1)
Names("PremJour").RefersTo = DateSerial(Year(CurDate), Month(CurDate) + 1, 1)

BipBip.gif
 
C

C@thy

Guest
j'avais oublié la 1ère ligne :

CurDate = Names("PremJour").Value
Names("PremJour").RefersTo = DateSerial(Year(Now), Month(Now), 1)
Names("PremJour").RefersTo = DateSerial(Year(CurDate), Month(CurDate) + 1, 1)

BipBip.gif
 
D

Dan

Guest
Bonjour Cathy,

Si tu places cette macro :

Sub MyDate()
Dim MyDate, Curdate, Nextdate
MyDate = DateSerial(Year(Now), Month(Now) , 1) ' Définit la date - Ici tu obtiens la date du 01/10/03.
Curdate = CDate(MyDate)
Range("A1") = Curdate
Nextdate = DateSerial(Year(Curdate), Month(Curdate) + 1, 1) 'ici to obtiens la valeur Mydate + 1 mois
Range("A2") = Nextdate
End Sub

C'est cela que tu veux faire ? ou je n'ai rien compris !

Dans l'attente de te lire

@+

Dan
 
C

C@thy

Guest
euh non, comme ça :

Names("PremJour").RefersTo = DateSerial(Year(Now), Month(Now), 1)
CurDate = Names("PremJour").Value
Names("PremJour").RefersTo = DateSerial(Year(CurDate), Month(CurDate) + 1, 1)

mais c'est kif kif

BipBip.gif
 
C

chris

Guest
Re
En fait côté date ça calcule bien.
Moi ce qui me pose PB c'est le Names("PremJour").RefersTo
(dont j'ignore à quoi il sert.

Si c'est pour attribuer un nom dans la feuille (Comme avec insertion nom définir), je ne sais pas si cela marche en cas de protection.

Donc si on fait
Premjour = DateSerial(Year(Now), Month(Now), 1)
Premjour = DateSerial(Year(Premjour), Month(Premjour) + 1, 1)

on a bien le 01/11/2003 comme valeur de Premjour

après je ne sais pas quoi faire de cette donnée par rapport à ton objectif.

Chris
 
C

C@thy

Guest
Merci Chris,

mon problème est le suivant :

j'ai un zoli planning, et en A3 j'ai la formule :

= Premjour

ce que je veux c'est modifier Premjour par macro pour qu'il prenne la valeur de la date voulue (je choisis le mois au moyen d'une scrollbar). Donc je ne modifie rien du tout dans ma feuille et c'est bon quand même... enfin ce serait le rêve!!!

CurDate = Names("PremJour").Value
Names("PremJour").RefersTo = DateSerial(Year(CurDate), Month(CurDate) + 1, 1)

= incompatibilité de type!

comme dirait la pub pour Bio de Danone : "t'as une solution?"

BipBip.gif
 

Discussions similaires

C
Réponses
9
Affichages
3 K
T

Statistiques des forums

Discussions
313 914
Messages
2 103 513
Membres
108 685
dernier inscrit
BAAK