Créer un calendrier mensuel sur excel

Fermé
Dyhia - 9 janv. 2018 à 18:55
gbinforme Messages postés 14939 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 10 janv. 2018 à 22:18
Bonjour,
Je voudrais bien créer un calendrier mensuel sur excel et mettre chaque jour dans une feuille appart.
Par exemple Janvier 2018 comportera 31 feuilles du premier jusqu'au 31 et sur chaque feuille des horaires séparés de 30 min de 8h jusqu'à 17h afin de gérer des rendez-vous.

Veuillez m'aider et merci beaucoup pour vos réponses.


A voir également:

4 réponses

gbinforme Messages postés 14939 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 649
10 janv. 2018 à 22:18
Bonjour,

comment je peux modifier dans la macro pour avoir juste un mois
Avec ton premier onglet nommé
lundi 1 janvier
tu peux utiliser cette version
Public Sub génerer()
Dim dat As Date, moi As Byte, pos As Byte
    pos = InStr(Sheets(1).Name, " ") + 1
    moi = Mid(Sheets(1).Name, pos, InStr(pos, Sheets(1).Name, " ") - pos)
    dat = DateValue("1/" & moi & "/2018")
    While Month(dat + 1) = Month(dat)
        Sheets(1).Copy after:=Sheets(Sheets.Count)
        dat = dat + 1
        ActiveSheet.Name = Format(dat, "dddd d mmmm")
    Wend
End Sub

Pour février tu nommes ton onglet jeudi 1 février
1
gbinforme Messages postés 14939 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 649
9 janv. 2018 à 21:54
Bonjour,

Tu te crées 31 feuilles il suffit de cliquer 30 fois sur nouvelle.
Tu sélectionnes les 31 feuilles : clic sur la première, shift appuyé clic sur la dernière
en A2 tu saisis 8:00, an A3 tu saisis 8:30
tu sélectionnes A2:A3 et tu tires jusqu'en A20
Tu as ton calendrier pour janvier.
0
Dyhiat Messages postés 3 Date d'inscription mardi 9 janvier 2018 Statut Membre Dernière intervention 10 janvier 2018
9 janv. 2018 à 22:22
Merci pour votre réponse mais comme ça, ça va me prendre beaucoup de temps pour renommer toutes les feuilles" 1er JANVIER 2018, 2 JANVIER 2018", .....etc et j'ai bien l'intention de faire ça pour 12 mois soit 365 jours, n y a-t-il pas une fonction qui peut réaliser ça?
0
gbinforme Messages postés 14939 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 649
Modifié le 9 janv. 2018 à 23:22
n y a-t-il pas une fonction qui peut réaliser ça?
Pour cela il y a plein de logiciels agenda qui le font très bien et sous excel si tu codes la fonction en VBA tu peux le faire aussi.
C'est ce que je t'ai fait sur ce classeur. tu regardes si la feuille te vas sinon tu la corriges et tu cliques sur le bouton "générer onglets"

https://www.cjoint.com/c/HAjwss5Z4Zl
0
via55 Messages postés 14041 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 7 février 2023 2 551
Modifié le 9 janv. 2018 à 23:47
Bonsoir à vous deux

Pas de fonction il faut passer par une macro en VBA :
1) En feuille 1 tu fais une feuille modèle avec le tableau des horaires
2) En feuille 2 tu mets en A1 la date du 01/01/2018 puis tu étires vers le bas jusqu'au 31/12/2018
3) Tu ouvres l'éditeur VBA (ALT+F11) tu fais Insertion puis Module et tu copies-colle la macro suivante dans la page avant de fermer l'editeur
Sub creafeuilles()
For n = 1 To 3
    Sheets("Feuil1").Select
    Sheets("Feuil1").Copy After:=Sheets(Sheets.Count)
    Sheets("Feuil1 (2)").Select
    Sheets("Feuil1 (2)").Name = Day(Sheets("Feuil2").Range("A" & n)) & "-" & Month(Sheets("Feuil2").Range("A" & n))
Next
End Sub

4) Depuis l'onglet Developpeur - Macros tu fais executer la macro crafeuilles

Cdlmnt
Via

"L'imagination est plus importante que le savoir."    A. Einstein
0
via55 Messages postés 14041 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 7 février 2023 2 551
Modifié le 10 janv. 2018 à 08:08
Rectification :
Dans la macro (c’était la version d'essai) il faut remplacer la 1ere ligne par
For n=1 to 365
pour boucler sur les 365 jours bien sûr
0
gbinforme Messages postés 14939 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 649
10 janv. 2018 à 08:31
Bonjour via55 et bonne année à toi.

Tu essaies de nommer tes feuilles avec un nom qui ne correspond pas à la demande qui n'a pas besoin de 'Feuil2'.
D'autre part, ce n'est pas une bonne pratique d'utiliser des 'select' qui ne servent qu'à utiliser le processeur sans raison.

Bonne journée en attendant le retour du demandeur MAC qui risque d'avoir des soucis vu les disparités du système OS utilisé.
0
Dyhiat Messages postés 3 Date d'inscription mardi 9 janvier 2018 Statut Membre Dernière intervention 10 janvier 2018
10 janv. 2018 à 17:59
Bonjour via55 merci beaucoup ça a vraiment marché reste juste un petit point, le nom des feuilles c'est sous forme "" 01-01, 02-01"" est ce que il y a un moyen de modifier pour avoir "" Lundi 01 janvier, ..."" etc.
Merci d'avance et désolée si je demande trop :)
0
via55 Messages postés 14041 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 7 février 2023 2 551
10 janv. 2018 à 18:47
Bonjour

Utilise la macro de gbinforme (salut amical au passage) qui a raison elle est meilleure que la mienne, pas besoin d'une feuille 2
Si tu veux avoir les noms sous la forme Lundi 01 janvier etc tu n'as qu'à remplacer dans sa macro la ligne qui donne le format de la date par celle ci :
ActiveSheet.Name = Format(dat, "dddd dd mmmm ")

Cdlmnt
Via

0
Dyhiat Messages postés 3 Date d'inscription mardi 9 janvier 2018 Statut Membre Dernière intervention 10 janvier 2018
10 janv. 2018 à 21:26
Oui c'est vrai merci beaucoup à vous deux via55 et gbinforme c'est super gentil de votre part.
Sachant que je ne m'y connais pas en programmation, pouvez-vous me dire comment je peux modifier dans la macro pour avoir juste un mois sachant que je veux créer chaque mois dans un fichier appart et merci encore une fois.
0