• Initiateur de la discussion Initiateur de la discussion arnaoke
  • 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 !

arnaoke

XLDnaute Occasionnel
Bonjour,

J'aimerai comprendre ce que fait cette commande :

date = DateSerial(Year("3/01/2011"), Month("3/01/2011") + 1, 0)

je ne sais pas si le 0 correspond au dernier jour du mois de janvier 2011, ou au dernier jour du mois de décembre 2010.

des idées ?

Arnaoke
 
Re : dateSerial ?

Bonjour,


essaye ceci, tu comprendras tout de suite ;
Code:
MsgBox DateSerial(Year(Date), Month(Date) + 1, 0)

renvoie ledernier jour du mois en cours...

A noter pas top d'utiliser "date" comme une variable, c'est déjà une fonction / instruction dans vba...

bonne journée
@+
 
Re : dateSerial ?

Bonjour arnaoke,

DateSerial permet de reconstruire une date à partir de Année, Mois et Jour
Year("3/01/2011") renvoie 2011
Month("3/01/2011") + 1 renvoie 2

La date construite est donc le 0/2/2011, c'est à dire un jour avant le 1/2/2011, donc le dernier jour de janvier

Edit : Bonjour Pierrot 🙂
 
Re : dateSerial ?

hmmm, j'ai une autre question :

toujours concernant DateSerial, il semble que je ne puisse désigner une cellule entre paramètres, pour creer une date en fonction de la date contenu dans une cellule existante, exemple :

ActiveSheet.Range("AD9").Value = DateSerial(Year(AA7), Month(AA7) + 1, 10)

je précise que la cellule est fusionnée avec ces quelques voisines.

savez vous comment je pourrais procéder, sachant que je cherche à faire des test par rapport à des dates contenues dans des cellules ?

Arnaoke
 
Re : dateSerial ?

Re,

Il me semble que tes progrès en VBA sont chaotiques... Une des premières choses à apprendre est sans doute comment lire les données des cellules et comment écrire dedans... mais bon, ce n'est qu'un avis

Code:
ActiveSheet.Range("AD9").Value = DateSerial(Year(range("AA7").value), Month(range("AA7").value) + 1, 10)

ou éventuellement

Code:
ActiveSheet.Range("AD9").Value = DateSerial(Year([AA7]), Month([AA7]) + 1, 10)
 
- 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

Discussions similaires

Réponses
5
Affichages
308
Réponses
15
Affichages
793
Réponses
5
Affichages
917
Réponses
6
Affichages
346
Retour