trouver le premier jour d'une annee [VBA] - VB/VBA/VBS - Programmation
Marsh Posté le 01-09-2006 à 14:50:22
chico008 a écrit : Salut a tous |
si tu veux tu as des algos informatiques pour trouver le jour de n'importe quelle année. te casse pas à faire un truc à la main, les librairies de calendrier existent déjà. D'autant que XL compte les jours depuis le 0 janvier 1900 en comptant le 29/02/1900 alors que 1900 n'est pas une année bissextile.
Voilà des infos en anglais mais c'est pas très compliqué:
http://en.wikipedia.org/wiki/Zeller%27s_congruence
http://en.wikipedia.org/wiki/Doomsday_rule
Marsh Posté le 01-09-2006 à 15:02:09
et c'est lesquelles les instruction dans excel ?
j'ai bien trouver des fonctions en rapport avec les dates, mais j'ai pas saisie comment on les utilisaient
Marsh Posté le 01-09-2006 à 15:16:45
Il suffit d'utiliser l'aide d'excel qui est compréhensible pour ce genre de fonctions.
A priori il s'agit des fonctions "dateval" et "joursem".
Le numéro de série est le nombre de jours écoulés depuis le 01/01/1900. Pour "joursem", tu spécifies la date dans le format que tu veux.
Marsh Posté le 08-09-2006 à 09:36:27
chico008 a écrit : Salut a tous |
Caÿ pas le premier janvier ?
Marsh Posté le 08-09-2006 à 09:48:32
Plus sérieusement, fonction WeekDay, c'est pas ce que tu cherches ?
Sub JourDeLaSemaine()
Dim semaine(7)
semaine(0) = "Dimanche"
semaine(1) = "Lundi"
semaine(2) = "Mardi"
semaine(3) = "Mercredi"
semaine(4) = "Jeudi"
semaine(5) = "Vendredi"
semaine(6) = "Samedi"
resultat = semaine(Weekday("01/01/" & Cells(1, 1)))
Cells(1, 2) = resultat
End Sub
Marsh Posté le 08-09-2006 à 09:51:01
Par contre ce qui est louche, c'est que ça marche pour toutes les années, maÿ pas pour l'an 2000
Marsh Posté le 08-09-2006 à 10:31:01
Salut à tous,
Pour revenir à la question initiale :
Fonction Excel DATE
=DATE(2006;1;1)
Fonction VBA équivalente DateSerial
Dim MaDate as Date
MaDate = DateSerial(2006, 1, 1)
Dans les deux cas on obtient le 1er janvier 2006 et l'on peut faire +1 pour obtenir le 2 janvier etc...
Attention au faux ami !
La fonction Date existe aussi en VBA mais elle équivaut à la fonction AUJOURDHUI() d'Excel.
A+
Horatio
Marsh Posté le 08-09-2006 à 14:15:58
le code de : http://www.altcal.com/download/AltCal.zip est à adapter mais si cela t'intéresse je l'ai déjà fait : contact par MP
Marsh Posté le 01-09-2006 à 13:17:01
Salut a tous
j'aurais besoin d'aide pour une generation de calendrier en VBA.
pour le moment j'arrive a le generer en indiquant le premier jour de l'année.
par contre j'aimerais ameliorer ca, donc en indiquant directement une année, on en genere le calendrier.
Comment puis je faire pour retrouver le premier jour d'une annee qu'on indique en VBA ?!
apres, accessoirement (mais pas obligatoire), comment savoir quel jour on est dans la date, pour par exemple mettre un format special au samedi et dimanche.
Merci de votre aide.