Créer un fichier en fonction des jours de l'année

Bonjour le forum

J'ai un classeur Excel comportant 12 feuilles (JAN, FEV, MAR, AVR etc...) dont voici l'aperçu :

Ce classeur là, correspond à l'année 2008, et l'ont peut y voir :

  • Les cases des samedis, dimanches en gris
  • Le texte "Copier Hier" qui n'est pas écris au niveau des cases samedis et dimanches
  • Sur l'onglet FEV, le "tableau" s'arrête au 29 Février (après rien n'a été crée)

Ce que j'aimerais faire, c'est à partir d'une feuille extérieur, choisir une année (par inputbox par exemple, mais là n'est pas le problème) et lorsque je valide, et bien que j'ai ce classeur Excel (du nom : VIERGE.xls) qui se créer en respectant les règles énoncé précédemment.

Ce classeur contient des macros, alors j'ai pensé à effectuer cela par macro :

  • Copier un classeur vierge (contenant le mois de 2008 par exemple et les macros)
  • Et y effectuer les modifications par macro
  • Sauvegarder le tout

Mon problème, c'est :

  • S'arrêter lorsque j'arrive au dernier jour du mois (comment savoir que je suis à la fin du mois ?)
  • Griser les samedis et dimanches (comment savoir que ce jour correspond à samedi ou dimanche)

Je vous joint mon fichier : fichier joint

J'aimerais (pour pas vous donner TOUT ce travail à faire, qui est assez conséquent je pense) que vous répondiez juste à mes deux dernières question.

Je vous remercie d'avance !

hello

je me lance dans un truc qui va te plaire ou non, tu verras.

faire une feuille unique pour toute l'année et écrire une ligne = un jour (donc 365 lignes)

Les colonnes seraient :

date

agence matin,

agence ap midi

agence 1/2nuit

agence nuit

chantier matin

chantier ap midi

etc.

quand tu passes d'une anné à l'autre, tu dupliques l'année d'avant tu sélectionnes tout ce que tu veux vider (facile, 'est un rectangle), supprimer. Fin.

Excel se débruoille avec les fins de mois, les bisextiles etc.

Et comme tes données sont en table, et non en zones distinctes) l'exploitation en est grandement facilitée.

Ce n'est que mon point de vue.

Un format d'affcihage de la colonne date affiche lundi, mardi etc tout seul.

Griser certains jours : voir MFC avec la fonction JOUR (je crois) et ce sera auto pendant 1000 ans

Besoin de plus ?

Bonjour, merci de t'être penché sur mon problème !!

En gros ce que tu proposes c'est de mettre en forme mon formulaire comme ceci ?

Si c'est le cas, je ne pourrais pas faire ça parce que j'ai près de 300 lignes de code qui dépendent de ma disposition actuelle...

Bien que c'est vrai que cette disposition soit efficace !

Merci de ta réponse

Bonjour

Je ne peux pas regarder ton fichier car il est compressé au format RAR, mais je peux essayer de te répondre

Le nombre de jours par mois est connu

sauf pour le mois de février, tous les 4 ans il a 29 jours

Janvier = 31

Mars = 31

Avril = 30

Pour février, il faut élaborer une formule qui ajoute 1 à 28, seulement les annèes bisextiles.

Fevrier = 28 + int(1+(int(Année/4)*4-Année)/4)

("int" en VBA : valeur entière)

La formule est peut-être simplifiable, à vérifier

Pour savoir à quel jour de la semaine correspond une date, la fonction "WeekDay" en VBA renvoie le numéro du jour de la semaine

Jour = Weekday(Date_à_tester, vbMonday)

(si jour=6 : samedi, jour=7 : dimanche)

Cordialement

Merci de ta réponse, tu m'apprends des choses !!

Mais je pense que je vais laisser tomber ce projet (car assez long à réalisé) et je vais créer les feuilles à la main à l'aide de quelques macros pour accélérer le processus !

Encore merci à vous, je saurais réutiliser ce que vous m'avez appris

PS : Désolé si je vous ai fait bosser pour rien...

Rechercher des sujets similaires à "creer fichier fonction jours annee"