Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1653 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VBA] trouver le premier jour d'une annee

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[VBA] trouver le premier jour d'une annee

n°1435069
chico008
what the wookie says ?
Posté le 01-09-2006 à 13:17:01  profilanswer
 

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.

mood
Publicité
Posté le 01-09-2006 à 13:17:01  profilanswer
 

n°1435142
acrosomia
Posté le 01-09-2006 à 14:50:22  profilanswer
 

chico008 a écrit :

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.


 
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

n°1435158
chico008
what the wookie says ?
Posté le 01-09-2006 à 15:02:09  profilanswer
 

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

n°1435172
acrosomia
Posté le 01-09-2006 à 15:16:45  profilanswer
 

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.

n°1438858
agkklr
Posté le 08-09-2006 à 09:36:27  profilanswer
 

chico008 a écrit :

Salut a tous
Comment puis je faire pour retrouver le premier jour d'une annee qu'on indique en VBA ?!


Caÿ pas le premier janvier ?  [:barthaliastoxik]


---------------
"Mon modèle, c'est moi-même."
n°1438863
agkklr
Posté le 08-09-2006 à 09:48:32  profilanswer
 

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


---------------
"Mon modèle, c'est moi-même."
n°1438865
agkklr
Posté le 08-09-2006 à 09:51:01  profilanswer
 

Par contre ce qui est louche, c'est que ça marche pour toutes les années, maÿ pas pour l'an 2000  [:canaille]


---------------
"Mon modèle, c'est moi-même."
n°1438895
Lord Nelso​n
Posté le 08-09-2006 à 10:31:01  profilanswer
 

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
 
 

n°1439042
chico008
what the wookie says ?
Posté le 08-09-2006 à 13:33:46  profilanswer
 

ok c'est bon, merci de votre aide. ;)

n°1439088
kiki29
Posté le 08-09-2006 à 14:15:58  profilanswer
 

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


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VBA] trouver le premier jour d'une annee

 

Sujets relatifs
Mon premier programme c++... deja une erreur bisarreRechercher/Remplacer TROP LOURD en VBA WORD - Avis aux pros !
Faire clignoter une cellule sur Excel avec VBA et lien hypertexte[Résolu]Comment mettre à jour une table
VBA - Recherche d'une date approximative[Excel - VBA] Déclencher un son quand un seuil est atteint
Efficacité requête de mise à jour d'enregistrement[VBA] Opérations sur une série de données utilisée dans un graphique
[VBA] [Résolu] Appel foireux d'une classe d'arbre binairequelle expression régulière pour trouver un caractère précis ?
Plus de sujets relatifs à : [VBA] trouver le premier jour d'une annee


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR