problème de date en VBA

  • Initiateur de la discussion Initiateur de la discussion C@thy
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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
 
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
 
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
 
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
 
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
 
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
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
Microsoft 365 Problème de date
Réponses
5
Affichages
267
C
Réponses
9
Affichages
4 K
T
Retour