Création d’un calendrier automatique avec Excel

Création d’un calendrier automatique avec Excel
Dernière mise à jour le 22/04/2024
Temps de lecture : 7 minutes

Comment créer un calendrier automatique avec Excel où les couleurs des week-ends et des jours fériés changent pour chaque mois. Cet article va vous détailler pas-à-pas comment le construire.

Si vous souhaitez un calendrier qui enregistre les données d'un mois sur l'autre, reportez-vous à cet article ou télécharger le fichier.

Étape 1 : Ajouter les noms des employés

En colonne A, vous allez écrire les noms de vos employés.

Calendrier_Automatique_1

Étape 2 : Ajouter d'un menu déroulant sous forme d'objet.

Il est très facile de créer des menus déroulants dans Excel, mais avec cette technique, il n'est pas possible d'y attacher une macro. Dans ce classeur, la macro va nous servir à masquer les jours selon le nombre de jours dans le mois.

Assurez-vous d'avoir le menu Développer d'affiché dans votre ruban. Si tel n'est pas le cas, allez dans le menu Fichier > Options > Personnaliser le ruban, puis cliquez sur le menu Développeur.

Calendrier_Automatique_2

Étape 3 : Insertion d'un objet Menu déroulant

  • Positionnez-vous en A1 pour créer le menu déroulant pour les mois.
  • Maintenant, dans votre Ruban, sélectionnez Développeur >  Insérer > Zone de liste déroulante
Calendrier_Automatique_3
  • Avec la souris, cliquez et étirez pour faire apparaître votre objet "Menu déroulant" dans votre feuille de calculs
Calendrier_Automatique_4

Étape 4 : Création de la liste des mois

Maintenant, nous allons créer la liste des mois quelque part dans notre classeur (dans une colonne assez éloignée).

Calendrier_Automatique_5

Ne perdez pas de temps à écrire les mois les uns à la suite des autres, la poignée de recopie le fait pour vous.

Étape 5 : Lier le menu déroulant à une cellule

Ensuite, il faut lier l'objet "Menu déroulant" à une cellule du classeur pour récupérer la valeur sélectionnée.

  1. Sélectionnez votre objet Menu déroulant
  2. Faites un clic-droit
  3. Sélectionnez Format de contrôle
Calendrier_Automatique_6

La boîte de dialogue suivante s'ouvre

Calendrier_Automatique_7

Dans l'onglet Contrôle

  • Sélectionnez la plage de données contenant les mois que vous avez écrits
  • Sélectionnez la cellule A1 comme cellule liée

Maintenant, si vous sélectionnez le mois de Mai, la cellule liée contiendra la valeur 5. Si vous sélectionnez Septembre, la valeur dans la cellule liée sera 9 et ainsi de suite.

Pourquoi avoir choisi spécifiquement la cellule A1 ? Tout simplement parce que le menu déroulant va masquer le résultat de la la cellule liée à vos utilisateurs

Étape 6 : Menu déroulant pour les années

Reproduisez les mêmes manipulations pour les avoir un menu déroulant pour les années

  • Créer une colonne pour les années
  • Insérer un nouveau menu déroulant
  • Lier la colonne des années avec le nouveau menu déroulant
  • Associer le menu déroulant à la cellule A2

Étape 7 : Créer la date en fonction du mois et de l'année sélectionné

Nous allons maintenant créer une formule qui va récupérer les cellules liées A1 (pour les mois) et A2 (pour les années)  pour retourner le premier jour du mois. Pour faire cela, nous allons utiliser la fonction DATE avec le contenu des cellules liées.

  • Pour A1, la cellule du mois, c'est très simple ; il suffit de reprendre la donnée telle quelle dans la formule
  • Pour A2, le menu déroulant va retourner les valeurs 1, 2, 3, ... correspondant à la valeur sélectionnée. Pour faire coïncider cette valeur avec une année, il faut rajouter une valeur fixe. Par exemple, il faut ajouter 2014 à la cellule liée pour créer l'année 2015.

La formule est donc

=DATE(A2+2014;A1;1)

Calendrier_Automatique_8

Étape 8 : Création des autres jours du mois

Pour calculer les autres jours, la formule est plus facile. Il suffit de rajouter 1 à la cellule précédente et de recopier cette formule sur la plage de données C6 jusqu'à AF6

=B6+1

Calendrier_Automatique_9a

Étape 9 : Changer le format de la date

Dans cette étape, nous allons changer le format des dates pour faire apparaître le jour en lettre et en chiffres

  • Sélectionnez toutes vos dates de la ligne 6 (de B6 à AF6)
  • Ouvrez la boîte de dialogue du format des nombres (raccourci clavier Ctrl + 1 ou Accueil>Format des nombres>Autres formats numériques ...
  • Sélectionnez la catégorie Personnalisée et entrer le format jjj jj dans la zone Type

Étape 10 : Changer l'orientation du texte

Maintenant, nous allons changer l'orientation des dates pour les afficher verticalement.

  • Sélectionnez les cellules B6:AF6
  • Allez dans le menu Accueil>Orientation>Rotation du texte vers le haut
Calendrier_Automatique_12

Et pour finir le travail, ajuster la taille des colonnes de B à AF

  1. Sélectionnez les colonnes de B:AF
  2. Faites un clic-droit sur l'en-tête des colonnes
  3. Choisissez l'option Largeur de colonnes
  4. Indiquez une largeur de 2.5
Calendrier_Automatique_13

En changeant les valeurs dans les menus déroulants, vous voyez les jours correspondant au mois sélectionné.

Étape 11 : Mise en forme de votre calendrier automatique dans Excel

Ajoutez des bordures ainsi que de la couleur à votre calendrier.

Calendrier_Automatique_14

Etape 12 : Ajoutez un titre dynamique

Détail qui a sont importance, avoir un calendrier automatique dans Excel signifie également avoir un titre qui va s'adapter au mois et à l'année sélectionnée.

Première et dernière date du mois

La formule pour la premier jour est :

=DATE(A2+2014;A1;1)

La formule pour la date du dernier jour du mois est :

=DATE(A2+2014;A1+1;1)-1

Formule pour le titre dynamique

Il ne nous reste plus qu'à insérer ces 2 fonctions dans une fonction TEXTE

="Période du "&TEXTE(DATE(A2+2014;A1;1);"jj mmmm aaaa")&" au "&TEXTE(DATE(A2+2014;A1+1;1)-1;"jj mmmm aaaa")

Et le résultat devient :

Calendrier_Automatique_15

A chaque fois que vous changez le mois ou l'année, votre titre se modifiera

Etape 13 : Changer la couleur des week-ends et des jours fériés

Pour changer les couleurs des jours féries, nous utiliserons les mises en forme conditionnelles et surtout les méthodes avec des formules personnalisées Pour que notre calendrier soit effectivement automatique, nous devons créer 2 règles pour la mise en forme conditionnelle

  • une pour les week-ends
  • une autre pour les jours fériés.

Règle pour les week-ends

  1. Sélectionnez votre plage de données B6:AF13
  2. Créer une nouvelle règle de mise en forme (Accueil>Mise en forme conditionnelle>Nouvelle règle)
  3. Sélectionnez l'option Utilisez une formule pour déterminer sur quelles cellules le format sera appliqué
  4. Ecrivez la formule =JOURSEM(B$6;2)>5
  5. Changez la couleur de remplissage (ici de l'orange)
Calendrier_Automatique_16

Règle pour les jours fériés

Ici, nous devons intégrer à notre classeur la liste des jours fériés de votre pays. En cliquant sur ce lien, vous trouverez les formules pour calculer les jours fériés français.

Calendrier_Automatique_17

La formule pour cette règle est différente du calcul précédent. Ici, nous utiliserons la fonction NB.SI.ENS

  1. Sélectionnez votre plage de données B6:AF13
  2. Créez une nouvelle règle de mise en forme (Accueil>Mise en forme conditionnelle>Nouvelle règle)
  3. Sélectionnez l'option Utilisez une formule pour déterminer pour quelles cellules le format sera appliqué
  4. Ecrivez la formule =NB.SI.ENS(Feuil2!$B$3:$B$15;B$6)>0
  5. Changez la couleur de remplissage en rouge

Vérifier vos règles

Ouvrez le manager de règles conditionnelles (Accueil>Mise en forme conditionnelle>Gérer les règles), vous pouvez visualiser les 2 règles créées dans votre feuille de calculs.

N'oubliez pas de sélectionner l'option "Cette feuille de calcul" dans le premier menu déroulant

Calendrier_Automatique_18

Etape 14 : Masquer les dernières colonnes par Macro

Pour terminer la construction du calendrier automatique sur Excel, il faut adapter les colonnes pour les jours 29, 30 et 31. Comme tous les mois n'ont pas le même nombre de jours, il faut créer un programme pour qu'Excel masque les colonnes pour les jours au-delà du mois sélectionné.

Toutes les explications sur le code vous sont données dans cet article en cas d'erreur.

Le programme va lire les colonnes AD, AE et AF pour vérifier que la valeur du mois dans ces cellules est égale à la valeur contenue en A1 (valeur du mois sélectionné). Si ce n'est pas le cas, la colonne est masquée.

  1. Appuyez sur les touches Alt + F11 pour ouvrir le Visual Basic Editor
  2. Depuis la barre de menu, sélectionnez Insertion>Module
  3. Copiez le code suivant
Sub Masquer_Jour()
Dim Num_Col As Long
For Num_Col = 30 To 32 ' Boucle sur les cellules des jours 29, 30 et 31
  If Month(Cells(6, Num_Col)) >= Cells(1, 1) Then
    Columns(Num_Col).Hidden = True
  Else
    Columns(Num_Col).Hidden = False
  End If
Next
Range("B6:AF13").ClearContents 'Supprime le contenu dans les cellules
End Sub

Rappel : Vous pouvez télécharger le fichier suivant pour avoir le même calendrier automatique dans Excel avec des fonctionnalités supplémentaires, comme l'enregistrement des informations d'un mois sur l'autre

Etape 15 : Lier les menus déroulants à la macro

Pour finir le travail, il nous reste à lier les 2 menus déroulants avec la macro. De cette façon, à chaque nouvelle sélection, la macro sera lancée.

  1. Sélectionnez l'un de vos menus déroulants
  2. Faites un clic-droit
  3. Sélectionnez Assignez une macro
  4. Sélectionnez le nom de votre macro
  5. Validez
  6. Refaites la même manipulation pour le second menu déroulant
Calendrier_Automatique_20

Maintenant, à chaque fois que vous sélectionnez un mois ou une année dans les menus déroulants, votre calendrier se mettra à jour et les colonnes se masqueront (ou s'afficheront) automatiquement

Changer la couleur des week ends et jours feries dans un calendrier

Vidéo explicative

217 Comments

  1. Jonathan GUIMARAES
    04/04/2024 @ 09:16

    Bonjour M. LE GUEN,

    Tout d'abord merci pour votre tuto, il est Top !

    J'aurai seulement une question :

    Etant donné que ce genre de tableau peut être utilisé pour suivre les congés de personnels, je me suis rendu compte que les cases à l'intérieur du tableau sont liées en fonction du mois sélectionné.

    Exemple, " l'employé 1" (pour suivre l'exemple de votre tableau) prend un jour de congé le 08 mai, je note donc CP le 08/05. Lorsqu'on passe sur le mois de juin, le CP mis le 08 mai est automatiquement reporté sur le mois de Juin.

    Est-il possible de rendre indépendantes les cases à l'intérieur du tableau afin que l'on puisse les compléter manuellement et différemment chaque mois ? Si oui, pourriez-vous m'indiquer la marche à suivre ?

    En espérant avoir été clair dans ma question et vous remerciant par avance pour votre retour.

    M. GUIMARAES

    Reply

    • Frédéric LE GUEN
      04/04/2024 @ 09:39

      Dans ce cas, il faut que vous achetiez le calendrier avec enregistrement automatique des données pour enregistrer les informations tous les mois. De cette façon en changeant de mois, vous initialisez la feuille du mois suivant et les données précédentes seront conservées

      Reply

  2. CamilleR
    13/02/2024 @ 11:59

    Bonjour,
    Super tuto, seulement la mise en forme conditionnelle pour les jours fériés ne fonctionne pas. Cela met tout mon planning en couleur au lieu de seulement la colonne correspondante...
    Auriez vous une idée ??

    Reply

    • Frédéric LE GUEN
      14/02/2024 @ 08:21

      Vous avez soit oublié un $ dans la formule ou alors vous ne pointez pas sur la bonne ligne pour faire le test logique.

      Reply

  3. Yann
    24/10/2023 @ 11:27

    Bonjour,
    Je viens de tomber sur votre tuto et il est extra. J'ai beaucoup appris. Le seul problème est que quand je colle la macro, cela ne masque pas le mois suivant. Quand j'ai entré la macro cela m'effaçait mes données, j'ai donc modifier les plages 30-32 en 32-34 ce qui correspond au placement des 29,30 et 31 sur mon tableau et D7 à AH14 pour ne pas effacer mes jours et salariés.
    Je pense que mon soucis viens de la ligne IF month mais je ne sais pas comment la modifier pour résoudre le soucis. auriez vous la possibilité de m'éclairer ?

    Merci d'avance.

    Reply

    • GROSPIERRE MICKAEL
      22/11/2023 @ 17:25

      Bonjour Monsieur,
      je souhaiterais insérer dans un fichier excel des dates complètes (Vendredi 1er décembre 2023) et ce pour chaque jour ouvrés de décembre 2023 et toute l'année 2024 espacer de plusieurs lignes.
      Auriez-vous une solution à m'apporter s'il vous plaît ?
      Merci beaucoup

      Reply

      • Frédéric LE GUEN
        27/11/2023 @ 15:30

        Je ne comprends pas la question ... il suffit que vous saisissiez vos valeurs

  4. LBATIRAMA
    13/03/2023 @ 18:37

    Bonjour,

    J'ai réalisé votre tutoriel à la lettre, excepté les jours fériés et la macro car cela n'a pas fonctionné mais pas trop grave, en revanche, petit problème, je souhaite mettre des couleurs dans les cases sous les jours. Je m'explique: A la place des employés, je met les noms des chantiers, et sous les jours, j'aimerai par exemple, en jaune les rendez vous de chantier, en bleu la fabrication et en rouge la pose admettons, histoire de voir l'avancement des dossiers au files des semaines, mais lorsque je change de mois, les couleurs et les noms des chantiers restent les même, se superposent sur les samedi et dimanche ... Pouvez vous m'aider?

    Cordialement, LBATIRAMA SA

    Reply

    • Frédéric LE GUEN
      14/03/2023 @ 03:25

      Ce que vous cherchez à faire c'est un suivi de projets et il y a des outils qui traitent de ce point en particulier, comme Microsoft Project sous votre licence 365. Excel n'est pas fait pour ça, c'est trop lours à gérer

      Reply

  5. Gays
    14/10/2022 @ 15:44

    Bonjour,

    Je n’arrive pas a faire la Macro et je ne sais pas pour quoi. Pouvez-vous m’aider ?

    Reply

  6. MidasRm
    11/10/2022 @ 04:25

    Bonjour

    Svp comment programmer ce calendrier sur 12 mois ?

    Reply

    • Frédéric LE GUEN
      13/10/2022 @ 04:09

      Il suffit de continuer de recopier la formule mais sur 12 mois (soit 365 colonnes)

      Reply

    • Marc Lepretre
      18/11/2022 @ 08:27

      Bonjour,
      J'ai pris sur votre explication pour faire également une calendrier automatique mais les jours des mois sont en lignes et pas en colonne.
      Le souci c'est que pour la macro si je copie colle ça ne marche pas et si je remplace les col par des rows ça efface tout mon tableau .
      Avez vous une aide a m'apporter pour mon calendrier

      Reply

  7. Duroc Laurent
    10/09/2022 @ 17:14

    Bonjour Mr Le Guen
    excel 2007 ne fait pas référence avec d'autre feuille pour les critères de mise en forme conditionnelle.
    du coup j'ai essayé en copiant les jours fériés sur la feuille du calendrier mais ça marche pas.
    Bien cordialement
    Laurent Duroc

    Reply

  8. Fano
    05/09/2022 @ 14:43

    les contenus sont bien effacés quand on passe d'un mois à un autre ou d'année mais on ne les retrouve plus si on revient au mois / année initial 🙁

    Reply

    • Frédéric LE GUEN
      06/09/2022 @ 15:36

      Oui, comme c'est écrit dans l'article, ce n'est pas l'objet de l'article. La programmation d'un tel calendrier (avec enregistrement des données d'un mois sur l'autre) est extrêmement complexe. C'est un vrai travail de programmation

      Reply

  9. nico
    29/07/2022 @ 20:16

    Bonjour,

    j'ai suivi toute la vidéo, je vous remercie elle m'a été d'une grande aide.
    Cependant j'aimerai rajouter une fonction qui permet de verrouiller les cellules (colonnes) correspondantes aux jours fériés et week-end.
    Est-ce-que vous pouvez me dire comment faire svp ?

    Merci

    Reply

    • Frédéric LE GUEN
      29/07/2022 @ 21:49

      Pour que soit automatique, il faut que ca soit gère par la macro et c'est vraiment très complique

      Reply

  10. leger
    31/05/2022 @ 10:03

    Bonjour,

    Est-il possible de faire la même chose avec les numéros de semaines?
    Merci d'avance

    Reply

  11. gege
    13/05/2022 @ 12:48

    Merci infiniment pour ce partage !!!!!!!!!!!!!!!!!

    Reply

  12. dz
    02/12/2021 @ 12:55

    Bonjour,

    Je ne trouve pas comment générer ce calendrier sous format trimestriel. Donc avec un affichage par 3 mois sur la bande de calendrier et T1 /T2/T3/T4 dans le menu déroulant...?

    Reply

    • GERALD
      22/04/2022 @ 22:30

      BONSOIR
      POUR LA MACRO IL FAUT ALLER SUR YOUTUBE ET CELA MARCHE A MERVEILLE
      MERCI POUR CE TUTO

      Reply

  13. Ghizlane
    07/02/2021 @ 18:06

    Bonjour,

    depuis plusieurs jours, je tente la Macro mais rien n'y fait elle ne fonctionne pas sachant que j'ai refait le calendrier comme vous.
    y aurait-il d'autres solutions?

    merci par avance.

    Reply

  14. Deboffle
    04/02/2021 @ 13:59

    Bonjour, je n'arrive pas à figer un contenu dans un mois comme dans votre exemple avec le chiffre 1.

    Lorsque ce chiffre est inscrit par exemple le 3 février et que je vais ensuite au mois de mars, il n'apparait pas et ça c'est bien.

    Par contre quand je reviens au mois de février, il n'y apparait plus.

    Cordialement

    Laurent D

    Reply

    • Natacha
      06/01/2022 @ 11:21

      Bonjour,

      Je rencontre la même problématique.
      Ce qui parait plutôt logique compte de cette ligne de code "Range ("...").ClearContents".
      Mais dans ce cas il nous manque info...

      Natacha

      Reply

      • Natacha
        06/01/2022 @ 11:36

        Alors, j'ai eu l'info plus bas !
        En fait, notre demande nécessiterait un développement plus complexe (ce qui n'était pas le but dans ce tuto).
        S'il existe un tuto à ce sujet, je suis preneuse, même s'il faut y passer du temps.
        Car tel quel, malheureusement ce tableau ne m'est pas utile.

        Merci tout de même pour ce tuto, hyper intéressant !!!

        Natacha

      • Frédéric LE GUEN
        06/01/2022 @ 12:05

        C'est exactement cela. Il y a tellement de situations de planning possible qu'il est impossible de proposer une solution simple pour tout le monde. Et puis à partir du moment où on doit gérer une sauvegarder des données avec le réaffichage des valeurs des mois précédents, ça demande une bonne centaine de ligne de code en VBA (au minimum).

  15. Eric R.
    21/01/2021 @ 21:02

    Bonsoir,
    Merci pour vos tutos, ils sont vraiment d'une aide précieuse.

    Concernant la modification automatique des derniers jours du mois, comment peut-on limiter le masquage à un groupe de cellules plutôt qu'à des lignes ou des colonnes ?

    Merci pour votre aide précieuse.
    Eric

    Reply

    • Frédéric LE GUEN
      22/01/2021 @ 11:38

      Bonjour, Je ne comprends absolument pas le besoin et l'intérêt de conserver seulement qques cellules du mois suivant.
      Dans tous les cas, dès que les règles se complexifient, l'écriture du code est bien plus difficile et longue à réaliser.

      Reply

      • Eric R.
        24/01/2021 @ 10:08

        Bonjour,

        Je me suis certainement mal exprimé.
        Dans une feuille de calcul, dont je me sers pour éditer le bulletin de salaire de la nounou qui garde notre fils, j'ai inséré une grille verticale pour indiquer le nombre d'heures effectuées chaque jour. Je me sers de cette grille pour calculer le nombres d'heures mensuelles et gérer le bulletin de salaire
        Cette grille fait partie intégrante du bulletin donc si je suis la procédure qui modifie les jours et qui remplace les dernières lignes du mois en fonction du mois en cours, cela masque des lignes de mon bulletin de salaire.
        Je souhaiterais donc limiter cette action à la plage de cellules utilisée pour ma grille où je saisis les heures de la nounou.

      • Eric R.
        11/02/2021 @ 09:35

        Bonjour,

        J'ai trouvé la solution à mon problème par une simple MFC sur ma plage de cellules verticale :
        =SOMMEPROD((JOUR($J$8:$J8)=JOUR($J8))*1)>1

        J8 étant la première cellule comprenant le 1er jour du mois.

      • Adriana Dos Santos
        08/03/2021 @ 10:03

        Bonjour,
        J'ai suivi pas à pas les consignes de la vidéo mais en arrivant à la macro, ça ne marche pas. J'ai tout essayé... copier-coller à partir du site internet, à partir d'un code laissé ici dans les commentaires, en copier lettre par lettre le code de la vidéo qui est différent de celui du site internet... et rien... les jours du mois suivants apparaissent à la fin du mois précédent.
        Que puis-je faire?
        Merci pour votre aide!

      • Frédéric LE GUEN
        08/03/2021 @ 12:03

        Il peut y avoir mille raison pour lesquelles votre code ne fonctionne pas.
        Avez-vous lu l'article suivant qui explique ligne à ligne comment fonctionne la macro ?

    • Balikou
      15/04/2022 @ 15:07

      Bonjour,
      Dans ce cas pourriez vous nous aider avec ce code VBA. Sinon je pense que le tuto est inachévé.

      Reply

  16. Lea
    14/01/2021 @ 17:21

    Bonjour,

    Merci pour ce tuto, qui m'a bien aidé, néanmoins, mes listes déroulantes sont "mois et année", lorsque je suis sur janvier et que je renseigne les variables associés.
    Ex: nombre d'heures effectuées sur janvier
    et que je passe sur février je retrouve mes données de janvier... Alors que ça devrait être vide.
    Je ne trouve et rien et je ne comprends pas pourquoi ça fait ça.
    Aidez moi svp

    Merci d'avance,

    Lea

    Reply

    • chiara
      01/02/2021 @ 10:47

      Bonjour Lea, je rencontre le même problème que toi. As tu trouvé une solution ? merci d'avance

      Reply

  17. co
    11/12/2020 @ 11:31

    Merci beaucoup, ça va m'aider pour la gestion du personnel !

    Reply

  18. Bilyck Patrice
    20/10/2020 @ 15:38

    Merci pour ce super TUTO
    J'ai quand même mis 1 journée mais c'est tres enrichissant !

    Reply

    • Frédéric LE GUEN
      20/10/2020 @ 16:01

      Mais c'est le but. Un rapport ne se construit pas en 3 clics (comme bcp le pense). Ca prend du temps et ça m'a pris bien plus qu'une journée pour concevoir cet article mais c'est aussi pour montrer qu'il est très important de pratiquer pour se rendre compte de la difficulté de créer des feuilles de calculs dynamiques. C'est pour cela que je donnerais jamais le classeur en téléchargement gratuit.

      Reply

    • Ham59
      02/11/2020 @ 00:39

      Bravo jai pris un plaisir à suivre le tuto j'ai appris des choses et je vais continuer à vous suivre et apprendre merci

      Reply

  19. FANY C.
    07/10/2020 @ 12:48

    Bonjour,

    Tout fonctionne parfaitement, mais je rencontre un problème dans la saisie des données.
    Les valeurs que je rentre dans les cellules sur un mois donné disparaissent quand je change de mois comme prévu. Cependant si je reviens sur le mois dans lequel j'ai renseigné ces cellules, elles ont aussi disparu.
    Pouvez-vous m'indiquer comment conserver les données dans les cellules d'un mois sur l'autre.

    Merci et bonne journée

    Reply

    • Frédéric LE GUEN
      11/11/2020 @ 13:38

      Ce n'est pas possible d'enregistrer d'un mois sur l'autre. Expliquez-moi comment une cellule peut à la fois vous servir à saisir vos valeurs (donc elle doit être vide) et aussi vous retourner un résultat d'un mois précédent (et là ça veut dire que la cellule contient une formule).
      Rien n'est impossible avec Excel mais c'est au moins 2 jours de développement en VBA pour un expert.

      Reply

  20. Rosy
    21/09/2020 @ 21:22

    Bonjour

    J'ai tout bien suivi mais Windows 10.. et ça ne garde pas les données quand je change de mois...
    Exemple je mets 1 sur une de mes lignes d'octobre 2020 puis je vais à Décembre et quand je reviens à Octobre tout a disparu...

    Reply

  21. HP
    28/08/2020 @ 14:12

    bonjour, je n'arrive pas a generer la macro pour cacher les jours suivant ?? mon tableau est en verticale, comment modifier la macro ??

    Reply

    • Frédéric LE GUEN
      28/08/2020 @ 15:42

      A la fin de l'article, il y a un lien vers un autre article qui explique ligne à ligne la macro.
      Il suffit d'inverser la variable pour les lignes et non pas les colonnes et ça va fonctionner

      Reply

      • HP
        31/08/2020 @ 15:56

        je suis assez novice en macro, je narrive pas a trouver comment inverser la variable, les lignes 4 et 6 generent des erreurs a cause des ";"

      • cindy
        16/09/2020 @ 15:26

        Bonjour,
        Je me suis arrêtée à l'étape 6, je n'avais pas besoin de plus.
        En revanche lorsque je rentre une valeur (ex:2) pour l'employé 1 le 13/09, elle se marque d'office dans la colonne le 13 des mois suivants.
        Comment puis-je supprimer cela?

  22. Noil
    31/07/2020 @ 14:33

    Hello,
    Je suis désolé mais le calendrier peut être sans interêt pour plusieurs, sur votre tuto, il y'a marqué les employés mais à quoi bon si le mois prochain les données resteront et tout ne se sauvegardera pas ?

    Reply

  23. Adrien
    28/07/2020 @ 09:18

    Bonjour,

    J'ai fait mon tableau de façons à ce que les dates soient toutes sur la colonne A du coup je n'arrive pas à ce que les dates de weekend soient en couleurs avec la formule =JOURSEM(B$6;2)>5 que j'ai modifié en =JOURSEM(A$7;2)>5.

    Et pareil pour les jours fériés.

    Pouvez vous m'aider? mes dates sont de A7 à A37

    Reply

    • Frédéric LE GUEN
      28/07/2020 @ 09:52

      C'est les $ qui sont mal positionnés. Un petit rappel sur les références mixtes ne serait pas une perte de temps.

      Reply

    • Lecharentais 79
      10/11/2020 @ 15:34

      Bonjour, je pense que vous devriez noter "=JOURSEM($A7;2)>5" pour bloquer votre colonne A.

      Reply

      • Frédéric LE GUEN
        11/11/2020 @ 13:29

        Bonjour, Non, la formule de la mise en forme conditionnelle est juste. Il faut bloquer sur la ligne et pas sur la colonne.

  24. selkakd
    20/07/2020 @ 14:21

    Bonjour

    J'ai le même problème que vous,
    Avez vous obtenu une réponse ?

    Merci

    Reply

  25. Lihodut
    06/07/2020 @ 14:30

    Pour un tableau vertical, modifiez la macro comme ceci :

    Sub Masquer_Jour()
    Dim Num_Col As Long
    Range("B7:B37").ClearContents 'Supprime le contenu dans les cellules, remplacer par la plage de votre tableau
    For Num_Row = 35 To 37 ' Remplacer par les lignes de vos jours 29, 30, 31
    If Month(Cells(Num_Row, 1)) Cells(1, 3) Then 'Num_Row, 1 où 1 est la colonne où se trouve les jours du mois
    Rows(Num_Row).Hidden = True
    Else
    Rows(Num_Row).Hidden = False
    End If
    Next
    End Sub

    Reply

    • Frédéric LE GUEN
      06/07/2020 @ 17:15

      Range("B7:B37"), hmmmm, Ca ne nettoie pas les cellules en colonne C, D, E, F, ....
      Mais sinon c'est ok, je valide 😉

      Reply

  26. Bachellerie
    01/07/2020 @ 14:16

    bonjour,

    Est-il possible de fixer un mois ? Par exemple, j'ai créer mon planning pour Juillet, cependant je désire le changer en Août. Mais si je sélectionne le mois d'août, j'ai certaines colonnes et lignes du mois de juillet.

    Super sujet merci

    Reply

  27. Léa
    22/07/2019 @ 08:27

    Bonjour,
    J'ai fait le tableau avec les employés et maintenant j'aimerai pouvoir entrer M (maladie) ou A (accident) pour chaque employé et pour chaque mois. Malheureusement, je me rends compte que si par exemple je mets M le 6 janvier, ce M se reporte partout (tous les mois). Je ne sais pas comment faire car du coup le tableau que j'ai passé des heures à faire m'est inutile si je n'arrive pas à rentrer les absences des employés pour chaque jour et mois.
    J'ai essayé de colorier la case mais cela ne change rien, la couleur se met là encore à tous les mois quand je change le mois avec la liste déroulante.
    Quelqu'un peut-il m'aider? merci d'avance

    Reply

    • Frédéric LE GUEN
      28/07/2019 @ 16:39

      Bonjour,
      Je viens de rajouter un article pour expliquer pas-à-pas le fonctionnement du code. J'espère que ces explications vont vous aider à résoudre votre problème.

      Reply

  28. Ludovic
    20/07/2019 @ 15:53

    Merci pour vos explications claires et hyper détaillées.
    je n'ai pas réussi tout du premier coup mais la persévérance m'a permis de franchir des caps.
    Ma macro ne fonctionnait pas correctement les colonnes 29-32 restaient masquées.
    en supprimant le "=" de If Month(Cells(6, Num_Col)) >= Cells(1, 1) Then
    tout fonctionne parfaitement

    Reply

    • alex
      26/07/2019 @ 17:29

      remplacer If Month(Cells(6, Num_Col)) >= Cells(1, 1) Then
      par If Month(Cells(6, Num_Col)) Cells(1, 1) Then

      Reply

      • Frédéric LE GUEN
        28/07/2019 @ 16:30

        Je viens d'écrire un article qui explique toutes les lignes de code. Merci de votre participation 🙂

  29. Bon Laëtitia
    08/07/2019 @ 15:44

    Bonjour,

    J'ai suivi toute votre procédure jusqu'à imbriquer le calendrier en feuill2 et là: bug, je n'arrive pas à copier la fonction du calendrier concernant Pâques. Vous est-il possible de mettre un lien sans mode protéger car quand je copie dans le press-papier la formule s'évapore. Du coup comme c'est une case de référence pour le calendrier en lui-même des jours fériés, impossible de poursuivre. merci pour votre réponse

    Reply

    • Frédéric LE GUEN
      08/07/2019 @ 18:06

      Pourquoi vous n'avez pas télécharger le fichier qui contient toutes les formules pour les jours fériés ?

      Reply

  30. BEN POTTIER
    19/06/2019 @ 23:32

    Un magnifique tuto!
    extrêmement pédagogue, j'ai adoré!

    il manque un peu d'explication pour le vba par contre. c'est le seul bémol. J'ai eu des soucis également sur la ligne If du vba étant donné que je ne dois pas être sur la même version que vous et que je n'ai pas positionné mes éléments aux mêmes endroits.
    Je suis sur excel 2019. voici mon code vba.

    Sub Masquer_Jour()
    Dim Num_Col As Long
    For Num_Col = 34 To 36 ' Boucle sur les cellules des jours 29, 30 et 31
    If Month(Cells(6, Num_Col)) Cells(1, 4) Then 'le 4 correspond a la colonne de la cellule liée du menu déroulant du mois, le 1 à la ligne
    Columns(Num_Col).Hidden = True
    Else
    Columns(Num_Col).Hidden = False
    End If
    Next
    Range("F7:AJ20").ClearContents 'Supprime le contenu dans les cellules
    End Sub

    Reply

  31. Olivia
    18/06/2019 @ 16:37

    Bonjour,

    Super explications pour la création de ce fichier Excel! Tout fonctionne jusqu'à l'étape 9. J'ai bien fait Alt+F11, j'ai bien coller le code et enregistrer. Ensuite, je ne parviens pas à affecter les macros sur les deux listes déroulantes. Y a t il un nom spécifique à donner? Enfait, Un message d'erreur apparait: "impossible d'affecter la macro "mon nom du document.xlsZone combinée2_quand changment'. Il est possible qu'elle ne soit pas disponible dans ce classeur ou que toute les macros soient désactivées.
    De plus, j'aimerai pouvoir mettre des 1 ou 0 sous les jours pour chaque mois. Comment faire pour que mes annotations reste sur le mois et l'année séléctionnée?
    Un grand merci d'avance.
    Olivia

    Reply

    • Frédéric LE GUEN
      18/06/2019 @ 19:22

      Vous êtes le 150e commentaires sur cet article, c'est dire s'il a du succès. Mais pour autant, je suis bien incapable de vous aider.
      Je pense que par défaut, vous avez du bloquer les macros Fichiers > Options > Centre de gestion de la confidentialité > Appuyer sur le bouton Paramètres du Centre de gestion de la confidentialité > Paramètres des macros. Et là, je pense que les macros sont désactivées.
      Pour le reste, comprenez que mon métier c'est de concevoir des développements comme celui-ci pour les entreprises et c'est exactement votre cas de figure. Contactez-moi si vous souhaitez que je réalise ce travail.

      Reply

  32. Angélique
    11/06/2019 @ 15:26

    Bonjour,

    Super ce tuto, vraiment impressionnée, mais je rencontre deux problèmes.

    J'ai élaboré le calendrier différemment du vôtre, de la façon suivante :
    - 1 ligne = 1 jour (débutant en "A17", se terminant en "H78" pour les mois à 31 jours)
    - Menus déroulants : année en "B1" et mois en "C1"

    1 - J'ai nommé le calendrier que j'ai créé "2019-06". Je dois créer cette fiche pour chaque salarié et chaque mois. En dupliquant l'onglet 2019-06 pour faire celui de 2019-07, les menus déroulants qui me permettent de changer l'année et le mois ne sont plus fonctionnels et apparaissent comme "grisés" (je ne peux plus accéder au contenu des listes). Existe-t-il une subtilité pour faire fonctionner les menus déroulants comme sur l'onglet initial ?
    J'ai testé pas mal de bidouilles (dupliquer le calendrier ET l'onglet jours fériés ; les copier dans un nouveau fichier, etc). Il n'y a que le copié/collé manuel qui me conserve les menus déroulants, mais je perds la mise en forme de tout le reste.
    Je voudrais éviter d'avoir à enregistrer un fichier par mois, mais bien un seul fichier par an pour chacun.

    2 - je bloque à la macro, je ne sais pas comment la modifier pour qu'elle fonctionne selon la disposition de mon calendrier.

    Je vous remercie par avance pour votre aide, et surtout pour ce tuto bien pratique !

    Angélique

    Reply

  33. Cyril
    23/05/2019 @ 17:55

    Bonjour , tout d'abord merci beaucoup pour ce tuto tout marche très bien , mais pour des raison pratiques j'ai mis mais jour à la verticale il faut donc que je masque des lignes plutôt que des colonnes j'ai essayé de modifier la macro mais ça marche pas pouvez-vous m'aguiller svp.
    Cordialement
    Cyril

    Reply

    • Frédéric LE GUEN
      24/05/2019 @ 19:15

      Il faut inverser la variable dans les paramètres de l'instruction Cells(ligne, colonne).
      Dans l'article, j'ai mis mon le lien vers mon livre. Il est très bien noté sur Amazon et est très pédagogique. Ca vous permettra de comprendre le déroulement du code et comment l'adapter à vos besoins de création de calendrier

      Reply

  34. Clément FOUSSIER
    21/05/2019 @ 03:13

    Bonjour,

    D'abord, merci pour ce tuto très accessible et bien détaillé.
    J'ai pu réaliser un calendrier, à partir de l'année 2019, après m'être "heurté" sur le code VBA.
    Voici les petites modification que j'ai apporté :

    Sub Masquer_Jour()
    Dim Num_Col As Long
    For Num_Col = 30 To 32 ' Boucle sur les cellules des jours 29, 30 et 31
    If Month(Cells(6, Num_Col)) Month(Cells(6, 2)) Then
    Columns(Num_Col).Hidden = True
    Else
    Columns(Num_Col).Hidden = False
    End If
    Next
    Range("B7:AF13").ClearContents 'Supprime le contenu dans les cellules
    End Sub

    Sous cette forme le code à l'air de bien fonctionner, je débute VBA donc j'espère qu'il est viable et qu'il aidera les prochains.
    Merci encore, bonne journée et à bientôt.

    Reply

  35. Daniel Sala
    25/04/2019 @ 17:20

    Bonjour,

    Merci pour la correction du code VBA (problème HTML), voici quelques erreurs que j'ai remarquées :

    P.S. J'ai mis le calendrier et les 2 listes déroulantes exactement dans les mêmes cellules que dans le tuto, donc, le code VBA est pareil aussi à ce niveau.

    1) En mettant >= les 3 dernières colonnes (jours 29, 30, 31) sont cachées pour tous les mois. C'est en mettant juste > que le code fait la bonne chose dans le calendrier (si je choisis le mois de mai, ça affiche les 31 jours, si c'est juin, c'est 30 et si c'est février, c'est 28 ou 29 selon l'année choisie.

    2) J'ai mis le code pour supprimer le contenu des cellules, mais ça supprime aussi les cellules de B6 à AF6 (les jours) et de A7 à A13 (Employé). Pour cette raison, j'ai enlevé cette ligne de code.

    Dans le tuto, vous marquez le code : "Range("B6:AF13").ClearContents 'Supprime le contenu dans les cellules", mais dans les commentaires juste en bas, vous écrivez "La ligne Range("B6:AF13").ClearContents supprime le contenu des cellules de B6 à B13. Selon la position de votre calendrier, vous serez amené à changer cette plage de cellules (la position de mon calendrier est identique à celle du tuto).

    La cellule AF13 n'est pas la même que B13 et comme je l'ai écrit plus haut, dans mon cas, il supprime les jours et les 7 employés aussi. Si on veut juste supprimer le calendrier sans toucher à ces 2 choses, la plage sera plus B7 à AF13.

    3) L'année 1900 n'était pas une année bissextile, mais Excel ne prend pas en charge cette exception par défaut (sauf si on fait une exception dans le code VBA pour l'année 1900 (A2) et qu'on modifie aussi la cellule B4).

    Merci,

    Daniel

    Reply

  36. Claire
    17/04/2019 @ 15:59

    J'ai 2 souci :
    1) sur Mirosoft Visual Basic : il me dit qu'il y a une erreur sur cette ligne :
    If Month(Cells(6, Num_Col)) <= Cells(1, 1) Then

    2) plus ennuyeux : quand je change de mois j'ai les cases du mois dernier qui sont toujours là dans chaque mois. C'est à dire j'ai mis une croix sur le 5 janvier, cette croix apparaitra dans tous les mois ?

    Je vous remercie pour votre aide

    claire

    Reply

    • Frédéric LE GUEN
      17/04/2019 @ 17:09

      Bonjour,
      J'ai corrigé et complété l'article pour répondre à vos questions

      Reply

  37. Daniel Sala
    16/04/2019 @ 17:20

    Le macro ne marche pas pour moi, (ça me cause une erreur de syntaxe dans Excel 2016), voici la ligne où sa bloque

    Sub Masquer_Jour()
    Dim Num_Col As Long

    For Num_Col = 30 To 32
    ' Compare la valeur du mois de la cellule AD6 Month(Cells(6, Num_Col)
    ' avec la valeur du mois sélectionné en A1 Cells(1, 1)
    If Month(Cells(6, Num_Col)) <= Cells(1, 1) Then ------> c'est quoi --> <= dans cette ligne du macro, ça me donne une erreur de syntaxe quand je change le mois/année dans Excel. Oui, j'ai pris la bonne cellule
    Columns(Num_Col).Hidden = True
    Else
    Columns(Num_Col).Hidden = False
    End If
    Next

    'Supprime le contenu dans les cellules
    Range("B6:AF13").ClearContents
    End Sub

    Reply

    • Frédéric LE GUEN
      16/04/2019 @ 19:06

      Ok, merci du message.
      C'est un problème de retranscription du code dans la page HTML (désolé, ce n'est pas de ma faute)
      C'est le site supérieur qu'il faut comprendre ici.
      If Month(Cells(6, Num_Col)) >= Cells(1, 1) Then
      Si la valeur du mois de la ligne 6 est supérieur au mois sélectionné (en A1) alors, le test est Vrai

      Reply

  38. cecile vanderkam
    12/04/2019 @ 11:36

    Bonjour,

    Je vous remercie pour ce tuto.
    ça marche très bien.

    Je voudrai savoir comment faire pour qu'un texte apparaisse que dans une case spécifique selon le jour de la semaine.
    merci

    Reply

  39. Vincent
    11/04/2019 @ 17:40

    Bonjour,

    J'ai suivi vos conseils pour le tableau tout fonctionne (je n'ai pas les mêmes coordonnées que le votre sauf le masquage automatique des colonnes, que dois je modifier dans le programme comme coordonnes.

    Pouvez vous m 'aider

    Merci beaucoup

    Reply

  40. Vincent
    07/04/2019 @ 15:54

    Bonjour,

    J'ai crée un calendrier avec votre tuto, mais je n'arrive pas pour masquer les dates en trop avec les macros, est il possible de vous envoyez mon fichier pour créée le programme.

    Merci beaucoup

    Reply

  41. Esther Villas
    07/04/2019 @ 14:07

    Bonjour,

    Existe-t-il une formule macro ou non pour contrer celle de suppression ?
    Je m'explique, lorsque je passe du moi de Janvier à Février les données de Janvier sont effacées, mais je voudrais pouvoir revenir sur le mois passé et récupérer les données entrée précédemment.

    Merci d'avance pour la réponse.

    Reply

    • Frédéric LE GUEN
      07/04/2019 @ 19:28

      Ce n'est pas l'objet de l'article. Ce que vous demandez c'est un vrai développement informatique qui demande plusieurs jours de travail.

      Reply

  42. ANAIS
    19/03/2019 @ 11:45

    Bonjour,
    Est il possible de rajouter un onglet trimestre ? Pour pouvoir avoir un affichage plus large dans le temps ?

    Reply

  43. SYLVIE PERRY
    14/03/2019 @ 15:17

    Bonjour,

    J'ai également un problème avec le code. J'ai beau refaire, contrôler, je ne vois pas ce qui cloche. Lorsque je saisie un quantité en janvier par exemple, elle réapparaît en février.

    Merci,

    Reply

    • Frédéric LE GUEN
      16/03/2019 @ 14:54

      Bonjour,
      Comprenez que le code est là pour présenter comment les macros peuvent vous aider dans la construction de feuilles complexes. Mais en aucun cas cet article s'applique à toutes les situations. Il est donc fort possible de transformer le code pour qu'il réponde à votre besoin mais ça c'est du développement

      Reply

  44. Jess
    01/03/2019 @ 18:54

    Sub Masquer_Jour()
    Dim Num_Col As Long

    For Num_Col = 30 To 32
    If Month(Cells(6, Num_Col)) Cells(1, 1) Then
    Columns(Num_Col).Hidden = True
    Else
    Columns(Num_Col).Hidden = False
    End If
    Next

    End Sub

    Reply

  45. Jessica
    28/02/2019 @ 16:24

    Merci beaucoup ! Mon calendrier est prêt pour toutes les années à venir !

    Reply

  46. Arnaud
    19/02/2019 @ 23:15

    Bonsoir,
    Je viens de finir de créer mon calendrier 2019 grâce à votre Tuto. Je suis "sous le choc". Un grand merci à vous.

    Reply

  47. Valentin
    01/02/2019 @ 10:41

    Bonjour,

    Très bon tutoriel.
    Néanmoins, j'ai souhaité modifier légèrement la mise en page, puisqu'elle ne convenait pas à l'usage que je souhaite en faire. J'ai donc mis mes dates dans une colonne (A) et non une ligne. C'est alors au niveau de la formule pour identifier les week-end que ça bloque ! Je m'explique : Mes dates sont en colonne A de la ligne 12 à 42. J'ai saisi la formule : JOURSEM($A19;2)>5. Le résultat est convaincant pour une grande partie du mois mais ne fonctionne plus vers la fin du mois, puisque toutes mes lignes deviennent orange sur la fin du mois. Un conseil pour rectifier le tir ?
    Merci d'avance.

    Reply

  48. Laurence
    12/01/2019 @ 15:54

    bonjour,
    Merci pour les tutos. J'ai juste un souci.
    chez moi la macro ne fonctionne pas non plus. J'ai un message d'erreur - erreur de compilation ou de syntaxe. Je suis sur Excel 2016 et je n'arrive pas à réparer moi-même. Hélas je ne fais que démarrer avec VBA.
    L'instruction if month se plante à chaque fois et j'aimerais comprendre pourquoi.

    Si quelqu'un peut m'expliquer c'est volontiers car j'aimerais progresser.

    Par avance, un grand merci pour votre aide.

    Reply

  49. AliceM
    03/01/2019 @ 14:13

    Bonjour,

    J'ai le même problème, malgré la vidéo cela ne fonctionne pas. En revanche, ça ne me dérange pas de voir apparaître des jours inexistants, mais quand je saisie des valeurs dans une cellule,elle reste dans cette cellule quelque soit le mois.

    Comment faire alors ?

    Reply

  50. Philippe
    02/01/2019 @ 12:33

    Bonjour,
    Tout d'abords merci pour ces explications concretes.
    Mon premier bémol viens du fait que lorsque l'on passe sur une autre année les jours fériés ne se coloris pas! faut-il attendre de passer en 2020 ou comment fait on pour dématérialiser la date figée dans la feuille 2?
    Le second viens du VBE qui s'ouvre a chaque fois, je vais consulter et apprendre l'analyseur conseillé.
    Sinon c'est excellent tout fonctionne...Enfin presque sinon j’appellerais pas au secours.

    Bloavez mad.

    Reply

  51. Anne-Sophie
    09/08/2018 @ 15:46

    Bonjour,
    j'aimerai marqué en dessous de mes jours les noms des personnes fêtées ainsi que le nom du férier. comment cela est-il possible ?
    merci à vous,
    Anne-Sophie

    Reply

  52. Pierre-Jean
    09/08/2018 @ 09:10

    Bonjour,

    Tout fonctionne parfaitement, mais je rencontre un problème dans la saisie des données.
    Les valeurs que je rentre dans les cellules sur un mois donné disparaissent quand je change de mois comme prévu. Cependant si je reviens sur le mois dans lequel j'ai renseigné ces cellules, elles ont aussi disparu.
    Pouvez-vous m'indiquer comment conserver les données dans les cellules d'un mois sur l'autre.

    merci

    Reply

    • Frédéric LE GUEN
      09/08/2018 @ 09:48

      Comme cela a déjà été rappelé dans d'autres messages, l'enregistrement des données entre les mois ne peut se faire que par la création d'un programme spécifique. Contactez-moi si vous voulez que je prenne en charge ce travail

      Reply

  53. bareille
    17/07/2018 @ 08:11

    Bonjour

    J'ai crée le calendrier , super tuto.
    Mais je rencontre un probléme pour masquer les jours 30,31 la formule marche pas.
    Merci pour votre aide

    Reply

    • Frédéric LE GUEN
      17/07/2018 @ 09:11

      Ce n'est pas une formule, c'est une macro. Ca fonctionne parfaitement. Reportez-vous à la vidéo pour vous aider à comprendre

      Reply

  54. Simo
    17/07/2018 @ 02:42

    le code à la fin ne fonctionne pas du tout, alors que j'ai pris exactement les même casa que vous.
    De plus vous auriez pu proposé quelque chose pour que les données saisies restent sauvegarder et ne disparaissent pas d'un mois à l'autre.
    Je voulais réellement acheté le produit mais je vois qu'il ne pourra pas me servir a grand chose.
    Merci quand même

    Reply

    • Frédéric LE GUEN
      17/07/2018 @ 09:10

      Le code fonctionne parfaitement, je vous le garantie.
      Pour ce qu'il en est de la sauvegarde des données, la programmation est plus complexe et rentre dans le cadre de mes activités de développeur et de consultant. Et de plus, comme chaque entreprise à ses propres contraintes en terme de gestion, il est impossible de faire un tuto pour chacune d'entre elles.
      Si vous souhaitez que je vous conçois le programme de votre calendrier pour enregistrer les données d'un mois sur l'autre, faites le moi savoir.

      Reply

      • Martin Gérard
        06/01/2019 @ 09:28

        Monsieur bonjour
        Merci pour votre tuto de calendrier.
        Par contre où trouver le code pour le faire fonctionner.
        Je voudrai rentrer des données et les retrouver suivant les mois.
        En vous remerciant à l'avance de votre réponse.

        Gérard

      • Frédéric LE GUEN
        11/01/2019 @ 17:20

        Le code est écrit à l'étape 10. Il suffit de le recopier

  55. LORENZO-LAUZEVIS
    11/07/2018 @ 16:22

    Bonjour,
    J'ai réussi à créer le calendrier, le seul soucis que je rencontre est que lorsque je rentre une lettre ou une couleur dans le calendrier; exemple en juillet 2018 que je passe au mois d'août je n'ai rien ... normal, mais lorsque je reviens au mois de juillet ou j'ai noté les éléments tout à disparu.
    rien ne s'enregistre.
    merci de votre aide

    Reply

    • Frédéric LE GUEN
      12/07/2018 @ 06:36

      Bonjour,
      C'est tout à fait normal car l'article explique comment modifier les couleurs des jours d'un calendrier uniquement. Pour enregistrer les données d'un mois sur l'autre, il faut faire un vrai développement avec du code VBA.
      Vous pouvez me contacter si vous souhaitez que je m'occupe de ce travail webmaster@excel-exercice.com

      Reply

  56. marco
    11/07/2018 @ 10:01

    Bonjour,

    Problème avec les jours du mois 30,31 de ma derniére colonne du tableau.
    Pouvez vous m'aider?
    Merci

    Reply

  57. marco
    06/07/2018 @ 21:30

    bonsoir

    la formule pour masquer la derniére colonne ne fonctionne pas , pourquoi?

    Reply

  58. marco
    06/07/2018 @ 12:56

    Bonjour,

    Concernant les jours feriés quand je mets nouvelle régle sous excel 2007 çà me dit vous ne pouvez pas faire référence à d'autres feuilles ou classeurs pour critére de mise en forme conditionnelle.
    Comment faire?
    Merci de votre aide

    Reply

    • Frédéric LE GUEN
      06/07/2018 @ 13:05

      Bonjour,
      C'est fort possible (ça fait très longtemps que je n'ai pas travaillé avec Excel 2007). Pour bcp d'utilisateurs, il n'y a aucune différence entre Excel 2007, 2010, 2013 ou 2016. Et bien si, il y en a.
      Cette différence en fait partie. Le seul moyen de résoudre le problème c'est de mettre les jours fériés sur la même feuille de calcul que le calendrier

      Reply

    • marco
      06/07/2018 @ 20:56

      merci pour l'info
      çà marche super

      Reply

  59. LISTELLO
    17/06/2018 @ 13:13

    Bonjour,

    J'ai un souci; j'ai créé un tableau de suivi de planning prévisionnel travaux sur excel. Par exemple, quand une date change; je suis obligée de décaler ligne par ligne et faire les modifications une à une....c'est très fastidieux. N'y existerai t-il pas une fonction dans excel, afin que lorsque l'on modifie une donnée du graphique, il y ait une réactualisation automatique?

    Merci pour votre aide.

    Reply

  60. Bertrand
    14/06/2018 @ 10:32

    Bonjour,

    J'utilise excel au quotidien mais de manière autodidacte et donc assez peu automatisée. Votre tutoriel vient de me faire gagner un temps fou pour l'avenir (même si j'ai passé la matinée à faire fonctionner tout cela).

    Je vous remercie beaucoup pour ce partage de connaissance précieux !!

    Juste une question : j'ai essayé de faire le tableau dans l'autre sens (entrées "dates" en colonne A) mais cela fait dysfonctionner la formule pour changer la couleur des jours fériés et week-end. Je crois comprendre qu'il s'agit d'un problème de dédoublement de la formule : il doit falloir faire la recherche des jours concernés dans la colonne des dates, mais l'affichage de la couleur concernée doit se faire dans la ligne correspondante. J'ai essayé de contourner le problème, mais je n'y suis pas parvenu. Et je ne suis pas certain d'être clair dans ma formulation du problème.

    J'ai donc refait le tableau en suivant scrupuleusement les étapes et ça fonctionne.

    Merci mille fois !

    Reply

  61. Christophe
    31/05/2018 @ 08:08

    Bonjour,

    Super tuto merci, Mais j'ai un petit souci ... par exemple en janvier, je marque mes horaires je passe à un autre mois et ainsi de suite.

    le problème quand je reviens sur le moi de Janvier tout ce qui était inscrit à disparu. est-ce normal ?

    Merci.

    Reply

    • Frédéric LE GUEN
      31/05/2018 @ 08:38

      Il n'est pas possible de faire réafficher les valeurs d'un mois précédent. Ce tuto montre comment les couleurs changent automatiquement uniquement.
      La conception d'un calendrier qui permette le réaffichage des valeurs précédentes est un projet complexe qui ne peut pas faire l'objet d'un simple article web.

      Reply

  62. phil54
    06/05/2018 @ 21:37

    Bonjour et merci beaucoup pour vos informations. J'ai pu créer le calendrier sous excel et qui fonctionne parfaitement. J'ai rencontré une difficulté à intégrer une mise en forme conditionnelle à partir d'une 2ème feuille car j'ai un message qui s'affiche me disant que c'est impossible. Ce que j'ai pu confirmer par ailleurs (sources internet toujours, ça vaut ce que ça vaut). J'ai contourné le problème en trouvant une autre formule et ça fonctionne donc problème résolu.
    Néanmoins, je souhaite suivre les absences des personnes en utilisant un code couleur. Le problème, c'est que si je remplis les cellules en vert par exemple du 01 juillet au 15 pour Monsieur Untel car il est en vacances, je retrouve les mêmes cellules remplies tous les mois à la même période. Du coup, l'intérêt pour moi est bien moindre. Y a-t-il une solution ?
    Merci.

    Reply

  63. Richter
    27/03/2018 @ 16:22

    Bonjour

    j'ai un problème avec la formule automatique du jour de pâques qui ne fonctionne pas
    Je n'arrive pas à l'automatiser et j'ai toujours l'erreur NOM qui s'affiche
    Pour information, je suis sur un Excel 2010 en version française

    Reply

    • Frédéric LE GUEN
      27/03/2018 @ 16:39

      Bonjour,
      Il n'y a pas de raison. Dans le classeur que vous avez téléchargée, dans la feuille 2 toutes les formules fonctionnent quelques soit la version d'Excel

      Reply

  64. huguet
    28/12/2017 @ 14:20

    Bonjour,

    Merci beaucoup pour ce tuto, j'ai pu me faire un planning sympa.
    Seul "hic", c'est... l'effacement total du contenu. Je m'explique :

    J'ai mon planning fonctionnel, je choisi "janvier 2018".
    Ici j'intègre des infos de planning avec une mise en forme conditionnelle.
    La mise en forme est : si dans les cellules, j'écris " I " pour Intervention, alors remplir la cellule en rouge.
    Et là, je souhaite remplir le mois de février... je le rempli, et je reviens ensuite sur le mois de janvier : tout a disparu.
    Je retourne sur le mois de février : tout a également disparu.

    Je comprends bien qu'il s'agit de la formule "ClearContents", qui efface donc le contenu des cellules. Mais quelle est l'utilité d'un tel planning si au fur et a mesure, les infos sont supprimées ?
    N'existe-t-il pas de moyen de conserver les infos de tel mois pour telle année, puis de faire appel à cette info lorsqu'on retourne sur ce mois/année ?
    Je ne sais pas si j'ai été clair, donc n'hésitez pas à me demander plus d'explication.

    Reply

    • Frédéric LE GUEN
      28/12/2017 @ 14:34

      Bonjour,
      La vocation de se tuto est de présenter un planning vierge chaque mois. Mais ça ne reste qu'une interface de visualisation et pas l'enregistrement des données d'un mois sur l'autre avec possibilité de revenir consulter les mois précédents.
      Réaliser un tel classeur est un vrai projet de développement informatique et certainement pas un tuto. De plus chaque entreprise a des spécificités qui lui sont propres et c'est donc impossible d'imaginer de trouver votre solution sous forme de tuto sur le web.
      J'ai déjà réalisé pour d'autres entreprises ce type de projet. Si vous voulez que je m'en occupe, vous pouvez me contacter via le formulaire de contact sur la page d'accueil.

      Reply

  65. HIROUX
    28/12/2017 @ 13:55

    Bonjour

    Je souhaite débloquer le tuto pour une semaine (2.99 €) mais ne souhaite pas passer par paypal..
    Comment faire?
    Merci

    Reply

    • Frédéric LE GUEN
      28/12/2017 @ 14:12

      Bonjour,
      Je n'ai pas d'autres solution à vous proposer j'en suis désolé. Paypal est le seul système qui ne propose pas des frais excessifs par transaction.
      Mais il n'est pas nécessaire d'avoir un compte Paypal. Il vous suffit de renseigner le détail de votre carte bancaire pour finaliser la transaction

      Reply

  66. Stéphan
    19/12/2017 @ 14:06

    Bonjour,
    Je découvre votre tuto, intéressant.
    Je m’interroge toutefois sur le fait que les données remplies dans le calendrier sont perdues lorsqu'on passe d'un mois à l'autre ?
    Exemple : je remplis quelques heures sur juillet, je passe sur août puis revient sur juillet, plus rien ?
    Merci.

    Reply

  67. Joseph
    04/12/2017 @ 02:51

    Bonjour,

    Info complémentaire : Le titre dynamique fonctionne maintenant, la formule est ok, simple problème de copier - coller qui n'a pas fonctionné correctement.
    Le masquage ou non des colonnes en fonction du mois fonctionne correctement aussi.

    Cela fait moins de problèmes en suspens

    il ne reste plus que :

    - le coloriage des jours fériés qui ne fonctionne toujours pas malgré diverses tentatives

    - l'effacement du contenu des cellules dans les colonnes masquées du tableau que je ne sais pas comment intégrer dans la macro

    - pour le tableau des jours fériés à Genève, je l'ai reconstitué à partir des formules du tableau français, sauf pour le calcul du jeûne genevois qui se situe le jeudi suivant le 1er dimanche de septembre
    De plus la cellule année dans ce tableau se réfère à l'année en cours Cellule AN1 : = ANNEE(AUJOURDHUI())
    et je ne sais pas comment la remplacer automatiquement par l'année indiquée dans mon menu déroulant sans que cela fausse le calcul des autres cellules du tableau exemple dans la Cellule AN3 : =DATE($AN$1;1;1)
    afin de pouvoir préparer les planning de l'année suivante par exemple

    encore merci pour les éventuelles réponses

    Reply

  68. Joseph
    03/12/2017 @ 15:47

    Bonjour,

    Depuis mon commentaire précédent, j'ai rectifié une source d'erreur concernant la macro pour cacher les colonnes: mon tableau n'étant pas positionné à partir de la ligne 6 mais 7 j'avais oublié de rectifier !

    Mais reste la question du coloriage des jours fériés qui lui reste cantonné à la colonne du 31 du mois.

    Comment inclure à la macro l'effacement du contenu des cellules depuis la ligne juste en dessous de la date jusqu'au bas du tableau mais uniquement pour les colonnes cachées ?

    Et par quel procédé lier la cellule de la date du tableau dynamique à la date sélectionnée pour le calendrier afin de pouvoir calculer les jours féries sur une autre année ? (par exemple si je prépare mon planning de 2018, en 2017)

    Merci

    Reply

  69. Joseph
    03/12/2017 @ 14:44

    Bonjour,

    Tout d'abord, merci de votre contribution car elle me permet de dépasser un obstacle dans mon projet (planning et calcul automatisé des heures travaillées)

    Je suis un débutant voir plus que débutant sur Excel et j'utilise actuellement la version 2007

    J'ai suivi le tuto "Comment créer un calendrier automatique dans Excel" pas à pas, mais je reste bloqué sur 4 problèmes

    - message d'erreur pour la formule du titre dynamique (même en enlevant le dernier " => peut être en lien avec les formats de date par rapports aux versions plus récentes d'excel ??

    - le coloriage des jours fériés car Excel ne me permet pas de me référer à une autre feuille dans le classeur alors j'ai inclus le tableau directement dans la feuille mais ça ne fonctionne pas : les jours fériés ne sont pas repérés mais uniquement le 31 du mois quel que soit le mois ou l'année.

    - la macro masque bien les colonnes mais elles ne réapparaissent plus lorsque je change de mois.

    - Tableau dynamique des jours fériés : comme je n'ai pas encore entièrement compris la formule s'y référant, existe-t-il un tableau dynamique des jours fériés suisses ainsi que la formule permettant la mise en forme conditionnelle

    Merci de bien vouloir prendre le temps de me répondre

    Reply

  70. n.teillard
    12/10/2017 @ 10:27

    Bonjour,

    Ce code ne fonctionne pas dans mon document.
    J'ai intégré la formule : =JOURSEM(D$16;2)>5, pour afficher les jours fériés en couleur et la totalité de la sélection s'est affiché en couleur sans distinction de jours fériés.
    Je ne comprends pas d'où peut provenir l'erreur.
    cordialement

    Reply

    • Frédéric LE GUEN
      12/10/2017 @ 10:31

      Bonjour,
      Hmmmm .... L'écriture de la fonction JOURSEM est correcte pour les jours du week-end (le $ est bien positionné)
      Maintenant, il faudrait voir l'écriture que vous avez faite pour l'affichage des jours fériés. Il doit manquer un $ quelquel part dans la formule.

      Reply

      • n.teillard
        12/10/2017 @ 11:00

        Je ne suis pas sûr de bien comprendre votre demande mais voici la formule complète :
        Formule : =JOURSEM(D$16;2)>5 s'applique à =$D$16:$I$46

      • Frédéric LE GUEN
        12/10/2017 @ 11:07

        Dans votre premier message vous me parlez des jours fériés. Or, la formule que vous me présentez (avec JOURSEM) c'est pour trouver les week-end.
        Pour les jours fériés, c'est la fonction NB.SI.ENS qu'il faut utiliser.
        Le pb se situe avec la couleur des week-end ou des jours fériés ?

      • n.teillard
        12/10/2017 @ 12:58

        Oui excusez-moi je me suis mal exprimé, c'est bien pour trouver les week-end.
        Je suis pas à pas votre tutoriel : Création d’un calendrier automatique

      • Frédéric LE GUEN
        12/10/2017 @ 13:27

        Donc il n'y a pas de problème.
        Si vous avez bien construit la ligne contenant les dates 01 lun, 02 mar, ..... le test fonctionne. Il faut que ça soit bien des dates (c'est-à-dire des nombres) et pas du texte écrit en dur dans les cellules.
        D'après ce que je comprends, vous avez construit cette ligne en ligne 16 en commençant à la colonne D. Donc la mise en forme conditionnelle avec la fonction que vous m'avez envoyée doit parfaitement changer les couleurs quand le jour en ligne 16 à pour valeur 6 (samedi) ou 7 (dimanche)

      • Helene Gicqueau
        19/03/2021 @ 10:42

        Bonjour je n ai pas option pour intégrer le ruban comment faire

      • n.teillard
        12/10/2017 @ 13:43

        La ligne des dates est conforme.
        La première ligne renvoi à la ligne de la date
        Les suivantes sont au format date selon la formule : D16+1, D16+2
        Les dates sont conformes au calendrier.
        Mais la couleur ne change pas le samedi et le dimanche.
        Toute la zone sélectionné est en couleur.

        VRAI dim 01
        FAUX lun 02
        FAUX mar 03
        FAUX mer 04
        FAUX jeu 05
        FAUX ven 06

    • Joseph
      03/12/2017 @ 14:48

      Bonjour, j'ai eu le même problème, simplement parce que le n'avais pas intégré la ligne comprenant les dates dans la sélection.
      Dès que j'ai englobé la ligne avec le reste du tableau ça a fonctionné

      Reply

  71. contact4
    29/08/2017 @ 19:30

    Bonjour,

    Merci beaucoup pour cette vidéo, elle est très claire, cependant je sèche sur 2 points :

    - Malgré la formule que vous donnez pour la macro, les jours s'arrêtent tous au 28 du mois, quelque soit le mois ?!?
    - Je souhaiterais utiliser ce calendrier pour faire le planning de mes salariés, cependant avec la formule de la macro, lorsque j'écris dans les cellules de juillet 17 (par exemple), et que je change de mois, ce que j'avais écrit, disparaît (ok, c'est bien ce que l'on demande), mais en revanche lorsque je retourne sur juillet 17, tout est effacé également ?!?

    En vous remerciant du temps que vous prendrez pour me répondre.

    Reply

  72. Nicolas
    16/01/2017 @ 12:11

    Bonjour,
    Je vous remercie pour ce tuto vraiment parfait.
    Juste une question, lorsque je fais mes plannings, je remplis une case en couleur, mais lorsque je change de mois les couleurs restent. Est-ce possible de rendre la page vierge quand je change de mois?
    En vous remerciant d'avance

    Reply

    • Frédéric LE GUEN
      16/02/2017 @ 12:30

      Bonjour,
      Il faut dans ce cas remplacer ClearContents par Clear mais cela va également impacter les bordures

      Reply

  73. phil.perso
    28/12/2016 @ 11:43

    Bonjour,

    Quand je crée ma deuxième page pour les fériés et que je fais =ANNEE(C2+2016) il me met 1905...

    Je n'arrive pas à obtenir 2016 ???

    Pouvez-vous m'aider ?

    Reply

    • Frédéric LE GUEN
      29/12/2016 @ 19:43

      Pourquoi vous mettez la fonction ANNEE ? Faite juste C2+2016 et ça fonctionne

      Reply

  74. basso2024
    13/11/2016 @ 17:30

    Bonjour,

    j'ai un gros soucis avec la macro: je copie exactement soit la macro sur le site que celle de la vidéo (il y a comme même une légère différence), mais ou tous les données disparait ou le jours que j'aimerai faire disparaitre ... reste visible.

    Je ne comprends pas la raison.

    Pourriez-vous m'aider?

    Merci

    Reply

    • Frédéric LE GUEN
      14/11/2016 @ 15:09

      Envoyez moi votre fichier à webmaster@excel-exercice.com

      Reply

      • basso2024
        14/11/2016 @ 21:15

        Bonjour,

        c'est fait. Merci de l'aide

        Luca

    • Fabien Dardillac
      17/02/2017 @ 16:19

      Bonjour,

      J'ai exactement le même soucis. Pourriez-vous expliquer la solution que vous avez préconisé s'il vous plait ?

      Merci d'avance,

      Fabien

      Reply

      • Frédéric LE GUEN
        17/02/2017 @ 18:30

        Bonjour,

        Idem, envoyez moi votre fichier pour que je vois/trouve le problème.

  75. Vincent Debever
    11/11/2016 @ 18:22

    Bonjour,

    Merci pour ce tuto, je n'ai pas eu de problème jusqu'à la macro. En effet, lors que je copie le code que vous avez mis pour masquer ou non les colonnes, la macro fonctionne bien mais réduit l'ensemble des mois à 28 jours... Lorsque je passe à un autre mois ou une autre année, les dates supérieures (29, 30, 31) ne sont pas affichées, le nouveau tableau ne se met pas à jour. Je dois ouvrir Visual Basic pour cliquer sur la petite flèche verte (Exécuter Sub) pour qu'il puisse être mis à jour. Pourquoi mon tableau n'est pas automatiquement mis à jour ?

    Merci d'avance pour votre réponse

    Reply

    • Frédéric LE GUEN
      13/11/2016 @ 12:13

      Bonjour,
      Il doit y avoir un décalage entre les valeurs de la boucle For / Next et les numéros de colonnes.
      Vérifiez que la première valeur de votre colonne corresponde bien à la colonne qui représente le 28ème jour.

      Reply

  76. MPRT
    25/02/2016 @ 14:02

    Si ce qu'on écrit pour le mois de janvier se retrouve dans le mois de mars et que cela ne peut pas être modifié, je ne comprends pas à quoi sert cette liste déroulante alors ?

    Reply

    • Frédéric LE GUEN
      25/02/2016 @ 14:32

      Le tableau doit se remettre à jour automatiquement grâce à l'instruction
      Range("B6:AF13").ClearContents tel que c'est indiqué dans le code

      Reply

  77. DomS
    24/02/2016 @ 12:51

    Bonjour,
    superbe ce programme de calendrier automatique! Juste une question : J'aimerai faire un calendrier montrant le tournus sur 3 semaines pour 3 groupes. Ex. groupe 1 semaine du lundi 22.02 au dimanche 28.02, Groupe 2 du lundi 29.02 au dimanche 06.03 et groupe 3 du lundi 07.03 au dimanche 13.03, puis de nouveau le groupe 1. Comment faire?

    Reply

  78. MPRT
    23/02/2016 @ 14:13

    Bonjour,
    Je suis vraiment novice en ce qui concerne Excell ... et j'ai le même problème qui a déjà été mentionné (lorsque je remplie le mois de février les données s'enregistrent pour les autres ois alors que je veux qu'ils restent vierge). J'ai essayé d'appliquer vos différentes réponses mais j'ai besoin d'une réponse aussi détaillé que le tuto au final pcq 'rajouter une commande dans la macro' je ne vois vraiment pas ....

    Merci d'avance de votre temps et patience.

    Reply

  79. COMMY
    23/02/2016 @ 10:30

    Bonjour,

    J'ai un problème avec le tableau. Apres l'avoir réaliser correctement, je n'arrive pas à modifier le contenu des cellules sans que cela ne se répercute et s'affiche sur le calendrier des autres mois. Que faire pour que le contenu soit dissocié par mois?
    Merci

    Reply

    • Frédéric LE GUEN
      24/02/2016 @ 21:01

      Bonjour,
      Le tuto explique comment changer automatiquement l'affichage rien de plus, ce que vous voulez c'est conserver les précédentes valeurs. Or ceci est une base de données (trop compliqué et trop long à expliquer dans un tuto).

      Reply

  80. CCGaybeul
    17/02/2016 @ 00:27

    Bonjour à tous,

    Merci beaucoup pour le tuto, tout se passe bien avec Excel !!

    Mais maintenant, je rencontre un problème avec Google Sheets dans le quelle j'ai importé mon fichier excel, jue me retrouve avec une erreur avec la commande "=DATE(A2+2014;A1;1)" Erreur : le parametre 2 de la fonction DATE attend des valeurs du type nombre.Mais Février est du type texte et ne peut pas être forcé pour être un nombre.
    Une idée svp???
    Merci d'avance pour votre intérêt à mon problème

    Reply

    • Frédéric LE GUEN
      24/02/2016 @ 21:02

      Bonjour,
      Je ne n'utilise jamais Google Sheet par ce qu'Excel est également gratuit depuis son compte Onedrive (www.office.com). Et donc, toutes les fonctions Excel sont justes.

      Reply

  81. zamponi84Jean-Pierre
    14/02/2016 @ 18:02

    Bonjour,

    Lorsque je passe d'un mois à un autre, le contenu de mon planning, reste. Or, je souhaite pouvoir le modifier d'un mois à l'autre, tout en mémorisant les anciens mois ; d'où son intérêt.

    Il existe un autre programme ?

    Reply

  82. Germain Germain
    14/02/2016 @ 14:51

    Bonjour
    Une idée
    Pour éviter le VBA

    Dans les cellules AC1, AD1, AE1,AF1 je récupère le numéro du mois correspondant aux cellules AC6, AD6, AE6, AF6 par la fonction =MOIS(AC6), MOIS(AD6) etc.
    Dans les mises en forme conditionnelle pour la plage AD6:AD12* (*selon le nombre de lignes)
    =$AC$1$AD$1 qui s'applique à =$AD$6:$AF$12
    pour la plage AE6:AE12
    =$AC$1$AE$1 qui s'applique à =$AE$6:$AF$12
    pour la plage AF6:AF12
    =$AC$1$AF$1 qui s'applique à =$AF$6:$AF$12

    Avec Couleur blanche pour remplissage et caractères.

    Salutations

    Reply

  83. Rico
    11/01/2016 @ 11:48

    Bon, j'ai tenté ça, mais il plante sur la 4ème ligne :

    Sub Masquer_Jour()
    Dim Num_Ro As Long
    For Num_Ro = 32 To 35
    If Month(Cells(4, Num_Ro)) Cells(1, 1) Then
    Rows(Num_Ro).Hidden = True
    Else
    Rows(Num_Ro).Hidden = False
    End If
    Next
    Range("A4:K34").ClearContents
    End Sub

    voilà, si quelqu'un veut bien me filer un coup de main...

    Reply

  84. Rico
    08/01/2016 @ 11:13

    Bonjour,
    le tuto est super, mais je bug un peu sur module pour masquer les dates hors mois, le soucis c'est que mon tableau est à l'envers (dates de A4 à A34) et que mon code bloque sur le changement de "colonne" à "lignes" :
    Sub Masquer_Jour()
    Dim Num_Li As Long
    For Num_Li = 30 To 32
    If Month(Cells(6, Num_Li)) Cells(1, 1) Then
    Lignes(Num_Li).Hidden = True
    Else
    Lignes(Num_Li).Hidden = False
    End If
    Next
    Range("A4:K34").ClearContents
    End Sub

    Les lignes je les ai appelé "Lignes" ou "Lines" ou "Li" et il bloque toujours dessus. Quelqu'un sait comment m'aider ?

    Reply

  85. DGDF
    16/12/2015 @ 22:31

    Bonjour, j'ai bien respecté tout le tutoriel et merci beaucoup !
    Cependant, j'aimerais pouvoir rentrer des données différentes pour chaque mois mais ça ne semble pas possible car si j'ajoute la ligne Clear content, la donnée disparaît dès que je change de mois et si je ne rentre pas cette ligne, les données sont répétés pour chaque mois de chaque année.
    Comment faire?

    Merci par avance

    Reply

  86. Anonyme
    08/12/2015 @ 15:24

    Merci pour ce superbe tutoriel, tout cela est bien expliqué.

    Reply

  87. Yannick
    04/12/2015 @ 18:52

    Bonjour,

    Tout d'abord merci infiniment pour ce tutoriel très utile et intéressant !

    Je suis parvenu à réaliser l'ensemble du calendrier mais je rencontre un problème avec la macro : celle-ci fonctionne bien mais réduit l'ensemble des mois à 28 jours... Je passe d'un tableau où figurent les dates supérieures au 29 (pour février 2016) et au 30 (pour tous les mois qui ne comptent que 30 jours) à un tableau où tous les mois, qu'ils fassent 29, 30 ou 31 jours se voient réduits à 28 jours... Une idée de la cause de ce problème et de sa solution ?

    Par avance, un grand merci pour votre aide !

    Reply

    • Yannick
      07/12/2015 @ 23:39

      Problème réglé, merci et désolé !!! 🙂

      Reply

      • DGDF
        16/12/2015 @ 18:38

        Bonjour Yannick, 🙂 Comment as tu réglé ce problème ? merci par avance

  88. Delf
    03/12/2015 @ 16:35

    Bonjour
    Ce tuto est magique ! Mais sur mon fichier Excel, les conditionnelles pour mettre les WE et les jours fériés en couleur ne fonctionnent pas. En mettant les jours fériés sur une autre feuille il refuse de prendre en considération ma demande. Du coup ma grille devient entièrement orange selon le mois, mais pas uniquement les WE

    Reply

  89. Marc
    03/12/2015 @ 13:28

    Bonjour, j'aimerais savoir s'il est possible de laisser en mémoire le contenu des cases pour chaque mois. Je m'explique: l'employé N°1 prends congé le 15 du mois suivant. Je le note au mois suivant et lorsque je reviens sur le mois actuel, l'annotation est partie--> super! Mais lorsque je reviens sur le mois suivant, elle est aussi partie et j'aurai voulu qu'elle reste.

    Reply

  90. Frédéric LE GUEN
    27/11/2015 @ 23:02

    Super réponse (oui, je sais j'ai des pbs de guillemets sans comprendre d'où ça vient)
    Veux-tu participer à la rédaction des articles ?

    Reply

    • Smedoc
      18/12/2015 @ 02:02

      Salut. Désolé pour la réponse tardive et comme tu as pas de lien Contact...je vais raconter ma vie ici....

      En ce qui concerne ton site et les guillemets... Je pense qu'un petit tour dans tes meta règleront ton souci

      Sur ton site ici tu déclares

      et une localisation en fr

      sur mes sites

      Et mes guillemets restent des guillemets.

      En ce qui concerne la rédaction des postes..J'ai bien peur de ne plus avoir assez de temps déjà pour moi. Il est 2h du mat et je termine à peine la maintenance d'un de mes sites et il m'en reste deux encore à faire. Mais je ferais un petit tour de temps en temps par ici..

      Reply

  91. Anonyme
    27/11/2015 @ 18:03

    Sub Masquer_Jour()

    Dim Num_Col As Long
    For Num_Col = 28 To 32
    If Month(Cells(6, Num_Col)) Cells(1, 1) Then
    Columns(Num_Col).Hidden = True
    Else
    Columns(Num_Col).Hidden = False
    End If
    Next

    End Sub

    Comme ca sa fonctionne

    Reply

  92. Vimal
    25/11/2015 @ 16:15

    La macro fonctionne bien mais je ne comprends pas pourquoi la donnée que je rentre pour une journée s'efface lorsque je change de mois ou même d'année ?

    Reply

  93. Didic974
    21/11/2015 @ 23:22

    Bonjour
    Merci pour ce tuto
    J'ai eu un petit soucis pour la commande de macro mais résolu grace aux messages déja poste
    Par contre je me rends compte qu'en passant à 2016 les jours fériés ne se reproduisent pas est ce normale ou j'ai fait une mauvaise manip
    Merci

    Reply

    • Didic974
      22/11/2015 @ 10:47

      Par contre je disais que j'avais pas de soucis avec la macro ben en fait si les données ne s'effacent pas non plus

      Reply

  94. Ran
    20/11/2015 @ 14:22

    Bonjour,

    J'ai le même soucis, si j'écris quelque chose dans une cellule du calendrier, l'info est répétée sur tous les mois et les années. Avez-vous trouvé une solution?

    Merci,

    Reply

    • Anonyme
      25/11/2015 @ 16:10

      Tu dois rajouter cette ligne :
      Range("B7:AF13").ClearContents

      Reply

      • Vimal
        25/11/2015 @ 16:24

        Mais le problème qui se pose est que la donnée que tu rentres pour une journée ne s'affiche plus une fois que tu changes de mois

  95. Alban
    20/11/2015 @ 10:11

    Bonjour Frédéric,

    Tout d'abord, merci beaucoup pour ce tuto, le calendrier mis en place répond totalement à ce que je recherchais.

    J'ai un souci avec la macro copié de votre site, elle n'a pas l'air de vouloir fonctionner.

    J'ai la ligne Range(« B6:AF13 »).ClearContents qui s'affiche en rouge et quand je veux exécuter la macro, Visual Basic m'affiche ceci : Erreur de compilation: Erreur de syntaxe.

    Est-ce que j'ai oublié une étape ?

    Reply

    • Alban
      20/11/2015 @ 10:47

      Je viens de trouver la solution à mon problème en supprimant la ligne qui me posait soucis, à savoir Range(« B6:AF13 »).ClearContents

      Encore merci pour ce tuto

      Reply

      • Frédéric LE GUEN
        22/11/2015 @ 18:05

        Il n'y a aucune raison que ça plante à cette instruction. Il faut bien utiliser le séparateur " (touche 3) pour entourer les références des cellules.

  96. Frédéric LE GUEN
    16/11/2015 @ 19:01

    Bonjour,
    Il faut rajouter la ligne de commande suivante dans la macro
    Range("B6:AF6").ClearContents

    Reply

  97. Naj
    10/11/2015 @ 09:21

    Bonjour,

    J'ai suivi toutes les étapes et tous fonctionne correctement mis à part sur la notation.
    Lorsque je rentre des informations sur le mois de Novembre de l'année 2015 ces mêmes informations apparaissent sur les autres mois et année en gardant la référence de la case.
    Quelqu'un aurait eu le même soucis ?

    Merci

    Reply

  98. Audrey
    29/10/2015 @ 09:57

    Bonjour,

    après de nombreuse tentatives, je ne parviens pas à faire fonctionner ma mise en forme conditionnelle pour les jours fériés.
    A ne pas y comprendre pourquoi...
    J'ai pourtant vérifié de nombreuses fois et essayé plusieurs choses différentes mais rien n'y fait.

    Si vous avez une petite idée d'où peut provenir le problème (mise en forme d'une cellule par exemple), je suis preneuse !

    Dans l'attente d'un retour de votre part,
    J'espère pouvoir échanger avec vous rapidement.

    Bien cordialement,
    Audrey.

    Reply

  99. Maquaire léa
    28/10/2015 @ 15:46

    Super ça m'a énormément aidé!
    Je créée un calendrier pour la gestion des congés d'une équipe. J'aimerais non pas pouvoir le faire au mois, mais à la semaine. Par exemple j'aimerais pouvoir sélectionner la semaine n°3 de 2016 et ne voir apparaitre la plage du 18 janvier au 24 janvier. Est ce possible ?

    J'ai commencer par faire un menu déroulant avec des numéros de semaines (jusqu'à 52). Mais je ne sais pas quel formule écrire pour ensuite l'afficher à la place de tous les jours du mois.

    Merci

    Reply

  100. soukaina
    24/10/2015 @ 11:47

    aider moi SVP ce code ne marche pas pour moi

    Reply

    • Anonyme
      27/10/2015 @ 01:27

      Celui ci fonctionne-t-il?
      Dim Num_Col As Long
      For Num_Col = 30 To 32
      If Month(Cells(6, Num_Col)) Cells(1, 1) Then
      Columns(Num_Col).Hidden = True
      Else
      Columns(Num_Col).Hidden = False
      End If
      Next
      End Sub

      Reply

  101. Claude
    22/10/2015 @ 22:52

    Re Bonsoir,
    Je pense que j'ai trouvé l'erreur dans le code. C'est au niveau de la plage de cellules. Ce n'est pas B6:AF13 mais B7:AF13. Après modification la macro marche très bien.

    Reply

  102. Claude
    22/10/2015 @ 22:38

    Bonsoir,
    Merci pour le tuto qui m'a été très utile....jusqu'à la macro. J'ai recréé le même tableau que dans le tuto et exécuté la macro. Cela a bien supprimé des colonnes pour le mois de février par exemple mais ça a aussi supprimé tous les jours (du 1er au 31). Conséquence, quand on veut rechanger le mois, il n'y a plu de référence de date et la macro ne fonctionne plus. Bien que vous confirmiez qu'elle fonctionne, n'y aurait-il pas une erreur quelque part? C'est ma première question. La seconde est que le calendrier que je veux créer est vertical et je veux cacher des lignes au lieu des colonnes. Que faut-il changer dans le code pour cacher des lignes? J'ai Excel 2010 et vous l'avez compris, je suis nul en VBA.
    Merci d'avance pour vos réponses

    Reply

  103. ARNAUD
    20/10/2015 @ 01:23

    Merci sincèrement, des articles comme celui ci simplifient tant la vie.

    Reply

  104. Mawine
    16/10/2015 @ 14:55

    Bonjour

    Si on remplit des choses dans le calendrier pour le mois d'octobre et qu'on va sur novembre, on retrouve les mêmes commentaires d'un mois à l'autre, il n'est pas possible de rendre le calendrier vide d'un mois à un autre?

    Merci d'avance pour votre aide

    Reply

    • Pesi
      16/11/2015 @ 13:24

      Bonjour, est-ce que tu as pu trouver une solution ? J'ai le même problème que toi.
      Merci d'avance de votre aide.

      Reply

  105. Audrey
    15/10/2015 @ 10:46

    Bonjour je rencontre un problème avec les jours fériés. Tout s'enregistre correctement mais le résultat n'est pas perceptible. Aucun changement sur le tableau.

    ps: vos données de la base B6:AF13 correspond pour moi à I18:AM18.

    Merci de m'apporter vos lumières.
    Cdt,
    Audrey.

    Reply

  106. Buydut
    09/10/2015 @ 14:34

    Bonjour,
    Je voudrais créer un calendrier automatique pour 2016, reprenant les mois en colonnes. J'ai incrémenté les cellules. Donc, dans la colonne de février, la colonne se termine par ... le 1er et le 2 mars. Comment faire pour que ces deux cellules soient vides?
    Merci d'avance si vous avez une solution.

    Reply

  107. james Bond 007
    23/09/2015 @ 12:48

    qui peut me passer le tableau s'il vous plait ?

    Reply

  108. MisterM
    23/09/2015 @ 12:47

    bonjour je rencontre un problème pour mettre les jour férié et pour les mois comme février il me continue le moi avec 01 02 03. j'ai suivit tous qu'il y'avait de marquer mais pas moyen.

    Reply

  109. khadija
    26/08/2015 @ 10:57

    parfait. je vous remercie

    Reply

  110. Thebaud
    21/08/2015 @ 14:30

    Très bon tuto sauf pour la macro après l'avoir affectée toutes les cases du calendrier se vident et les mises en formes conditionnelles disparaissent.
    Quelqu'un peut il résoudre ce problème svp??

    Reply

  111. Damien
    07/08/2015 @ 11:37

    Bonjour,
    Super tuto par contre je rencontre quelques problèmes.

    1) Lorsque je veux mettre le titre dynamique il met met qu'il ne reconnait pas la fonction.
    2) Lorsque je met le code visual basic et que je compile et que j'associe bhen il me met une erreur de synthaxe quand je change de date.
    3) Pour certains mois les dates ne s'affiche pas et me met "#######"

    Merci beaucoup !

    Reply

  112. Betty
    05/08/2015 @ 13:55

    Bonjour,

    Je rencontre un problème au niveau des dates, il me fait commencer le mois d'aout un vendredi, or ce doit être un samedi. D'où vient l'erreur ? Merci d'avance

    Reply

    • Betty
      05/08/2015 @ 14:02

      Ok, je n'avais pas lu jusqu'à la fin .. --'

      Reply

  113. Alexandra
    22/07/2015 @ 13:08

    Merci pour le tuto !
    Par contre, petit bémol... Le calendrier rencontre une limite lorsque le mois concerné ne possède que 29 ou 30 jours... Les jours du mois suivants s'ajoutent... Pas top !

    A moins que je n'ai fais une erreur sans m'en apercevoir >.<

    Reply

    • Frédéric LE GUEN
      23/07/2015 @ 09:40

      Rien d'anormal, dans la vidéo c'est d'ailleurs comme celà que ça fonctionne. Par contre, il faut terminer le travail en ajouter les 5 lignes de codes pour masquer les jours du mois suivant

      Reply

      • Frey Corinne
        25/08/2015 @ 16:28

        Corinne
        merci de nous donner ces lignes de code pour résoudre les problèmes de jour 29 ou 30 car sur la video ce n'est pas lisible

  114. GUEDON
    19/07/2015 @ 17:46

    Bonjour et merci pour ce super tuto ; Perso je rencontre un problème quand je rentre la règle =NB.SI(Feuil2!$B$3:$B$15;B$6)>0 pour les jours fériés , Excel me dit : " vous ne pouvez pas faire référence à d' autres feuilles ou classeurs pour les critères de mise en forme conditionnelles "

    Reply

  115. Destin
    19/07/2015 @ 10:03

    merci ce tuto m'a énormément aidé.

    Reply

  116. Anonyme
    17/07/2015 @ 11:17

    Parfait ! Merci

    Reply

  117. Laura
    10/07/2015 @ 16:45

    Merci beaucoup pour ce tuto, juste un soucis au niveau de la macro, j'ai corrigé les erreurs de copier-coller (guillements) mais il ne semble pas appliquer la règle ... Mais encore merci, très clair pour une non-experte!

    Reply

  118. Anonyme
    01/07/2015 @ 16:41

    Merci beaucoup, les explications super clair mais j'ai toute fois un problème avec les jours 31, ils s'affichent pour chauques mois, du coup chacunes de mes dates ont le mauvais jour de semaine.
    Merci encore pour votre aide 🙂

    Reply

  119. chaden
    22/06/2015 @ 14:34

    vraiment mille merci ☺

    Reply

  120. Anonyme
    19/06/2015 @ 14:52

    excellent tuto

    Reply

  121. scherrer jerome
    10/06/2015 @ 20:07

    Bonjour,
    Merci encore pour ce tuto !!!! j 'aurais juste besoin d'une astuce, lors d'un changement de mois mon texte reste dans les cases et j aimerai qu'elle soit vierge à chaque mois.
    cordialement

    Reply

    • Frédéric LE GUEN
      11/06/2015 @ 08:06

      Les cellules ne peuvent pas être vierge car toute la construction du calendrier repose sur les cellules A1 et A2.
      Par contre, si on met la couleur de texte de ces cellules à "Blanc" alors les valeurs en A1 et A2 sont invisibles

      Reply

    • Naj
      10/11/2015 @ 09:29

      J'ai le même soucis avez vous trouvé une solution ?
      Merci

      Reply

  122. cammas
    03/06/2015 @ 10:03

    Bonjour
    Je voudrais coller mon cycle de travail sur le calendrier (6 jours de w et 6 de repos) en remplaçant "employé 1" par "Matin" employé 2 -Matin; employé3 et 4 après midi; et employé 5 et 6 nuit et faire que tout celà se décale en faisant varier les mois.
    Pouvez-vous m'aider. je ne sais pas comment m'y prendre
    Merci

    Reply

  123. Divine mankanguila
    26/05/2015 @ 15:35

    Merci beaucoup

    Reply

  124. Anonyme
    12/05/2015 @ 14:41

    Merci pour ce site !

    Reply

  125. Mel
    11/05/2015 @ 15:35

    Bonjour,

    Merci pour ce tuto, c'est très bien expliqué ! Super 🙂
    J'ai toutefois une question : est-il possible de modifier l'intérieur du calendrier sans que cela ne change pour les autres mois ? Je souhaiterai renseigner pour chacun des employés le chantier sur lequel ils se trouvent chaque jour. Ex : Pour le mois de Mai l'employer 1 est sur le chantier "jaune" à telle et telle date, "bleu" à d'autres dates et ainsi de suite… Mais est il possible de passer au mois de Juin avec un calendrier "vierge" tout en gardant le planning du mois de Mai enregistré ?

    Merci par avance 😉

    Reply

    • Frédéric LE GUEN
      11/05/2015 @ 18:45

      Alors c'est possible mais avec une macro plus complexe. Il faut bien voir qu'ici ce n'est pas une base de données qui conserve l'historique des informations. C'est juste un tutoriel qui montre comment mettre en forme automatiquement un calendrier avec les dates spécifiques. Pour faire une vraie base de données c'est bcp plus de travail à effectuer (qques jours de programmation)

      Reply

  126. bartho
    05/05/2015 @ 15:33

    La macro ne semble pas fonctionner en l'état (pb de caractères mal interprété)

    Reply

    • Frédéric LE GUEN
      08/05/2015 @ 14:42

      Si si, la macro a été testée plusieurs fois et elle fonctionne

      Reply

  127. kondor7
    21/04/2015 @ 19:42

    J'obtiens un message d'erreur à l'entrée de la formule usant la fonction texte
    = »Période du « &TEXTE(DATE(A2+2014;A1;1); »jj mmmm aaaa »)& » au « &TEXTE(DATE(A2+2014;A1+1;1)-1; »jj mmmm aaaa ») »

    Pouvez vous m'éclairez ?

    Reply

    • kondor7
      21/04/2015 @ 20:07

      même mis sous cette forme je précise :

      = "Période du"&TEXTE(DATE(A2+2014;A1;1);"jj mmmm aaaa ")&"au"&TEXTE(DATE(A2+2014;A1+1;1)-1;"jj mmmm aaaa")"

      Reply

      • kondor7
        21/04/2015 @ 20:09

        Le site modifie les guillemets. Même en mettant des apostophes je voulais dire

      • corinne
        30/06/2015 @ 11:02

        IL SUFFIT DE SUPPRIMER LE DERNIER GUILLEMET
        = « Période du »&TEXTE(DATE(A2+2014;A1;1); »jj mmmm aaaa « )& »au »&TEXTE(DATE(A2+2014;A1+1;1)-1; »jj mmmm aaaa »)

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Création d’un calendrier automatique avec Excel

Reading time: 7 minutes
Dernière mise à jour le 22/04/2024

Comment créer un calendrier automatique avec Excel où les couleurs des week-ends et des jours fériés changent pour chaque mois. Cet article va vous détailler pas-à-pas comment le construire.

Si vous souhaitez un calendrier qui enregistre les données d'un mois sur l'autre, reportez-vous à cet article ou télécharger le fichier.

Étape 1 : Ajouter les noms des employés

En colonne A, vous allez écrire les noms de vos employés.

Calendrier_Automatique_1

Étape 2 : Ajouter d'un menu déroulant sous forme d'objet.

Il est très facile de créer des menus déroulants dans Excel, mais avec cette technique, il n'est pas possible d'y attacher une macro. Dans ce classeur, la macro va nous servir à masquer les jours selon le nombre de jours dans le mois.

Assurez-vous d'avoir le menu Développer d'affiché dans votre ruban. Si tel n'est pas le cas, allez dans le menu Fichier > Options > Personnaliser le ruban, puis cliquez sur le menu Développeur.

Calendrier_Automatique_2

Étape 3 : Insertion d'un objet Menu déroulant

  • Positionnez-vous en A1 pour créer le menu déroulant pour les mois.
  • Maintenant, dans votre Ruban, sélectionnez Développeur >  Insérer > Zone de liste déroulante
Calendrier_Automatique_3
  • Avec la souris, cliquez et étirez pour faire apparaître votre objet "Menu déroulant" dans votre feuille de calculs
Calendrier_Automatique_4

Étape 4 : Création de la liste des mois

Maintenant, nous allons créer la liste des mois quelque part dans notre classeur (dans une colonne assez éloignée).

Calendrier_Automatique_5

Ne perdez pas de temps à écrire les mois les uns à la suite des autres, la poignée de recopie le fait pour vous.

Étape 5 : Lier le menu déroulant à une cellule

Ensuite, il faut lier l'objet "Menu déroulant" à une cellule du classeur pour récupérer la valeur sélectionnée.

  1. Sélectionnez votre objet Menu déroulant
  2. Faites un clic-droit
  3. Sélectionnez Format de contrôle
Calendrier_Automatique_6

La boîte de dialogue suivante s'ouvre

Calendrier_Automatique_7

Dans l'onglet Contrôle

  • Sélectionnez la plage de données contenant les mois que vous avez écrits
  • Sélectionnez la cellule A1 comme cellule liée

Maintenant, si vous sélectionnez le mois de Mai, la cellule liée contiendra la valeur 5. Si vous sélectionnez Septembre, la valeur dans la cellule liée sera 9 et ainsi de suite.

Pourquoi avoir choisi spécifiquement la cellule A1 ? Tout simplement parce que le menu déroulant va masquer le résultat de la la cellule liée à vos utilisateurs

Étape 6 : Menu déroulant pour les années

Reproduisez les mêmes manipulations pour les avoir un menu déroulant pour les années

  • Créer une colonne pour les années
  • Insérer un nouveau menu déroulant
  • Lier la colonne des années avec le nouveau menu déroulant
  • Associer le menu déroulant à la cellule A2

Étape 7 : Créer la date en fonction du mois et de l'année sélectionné

Nous allons maintenant créer une formule qui va récupérer les cellules liées A1 (pour les mois) et A2 (pour les années)  pour retourner le premier jour du mois. Pour faire cela, nous allons utiliser la fonction DATE avec le contenu des cellules liées.

  • Pour A1, la cellule du mois, c'est très simple ; il suffit de reprendre la donnée telle quelle dans la formule
  • Pour A2, le menu déroulant va retourner les valeurs 1, 2, 3, ... correspondant à la valeur sélectionnée. Pour faire coïncider cette valeur avec une année, il faut rajouter une valeur fixe. Par exemple, il faut ajouter 2014 à la cellule liée pour créer l'année 2015.

La formule est donc

=DATE(A2+2014;A1;1)

Calendrier_Automatique_8

Étape 8 : Création des autres jours du mois

Pour calculer les autres jours, la formule est plus facile. Il suffit de rajouter 1 à la cellule précédente et de recopier cette formule sur la plage de données C6 jusqu'à AF6

=B6+1

Calendrier_Automatique_9a

Étape 9 : Changer le format de la date

Dans cette étape, nous allons changer le format des dates pour faire apparaître le jour en lettre et en chiffres

  • Sélectionnez toutes vos dates de la ligne 6 (de B6 à AF6)
  • Ouvrez la boîte de dialogue du format des nombres (raccourci clavier Ctrl + 1 ou Accueil>Format des nombres>Autres formats numériques ...
  • Sélectionnez la catégorie Personnalisée et entrer le format jjj jj dans la zone Type

Étape 10 : Changer l'orientation du texte

Maintenant, nous allons changer l'orientation des dates pour les afficher verticalement.

  • Sélectionnez les cellules B6:AF6
  • Allez dans le menu Accueil>Orientation>Rotation du texte vers le haut
Calendrier_Automatique_12

Et pour finir le travail, ajuster la taille des colonnes de B à AF

  1. Sélectionnez les colonnes de B:AF
  2. Faites un clic-droit sur l'en-tête des colonnes
  3. Choisissez l'option Largeur de colonnes
  4. Indiquez une largeur de 2.5
Calendrier_Automatique_13

En changeant les valeurs dans les menus déroulants, vous voyez les jours correspondant au mois sélectionné.

Étape 11 : Mise en forme de votre calendrier automatique dans Excel

Ajoutez des bordures ainsi que de la couleur à votre calendrier.

Calendrier_Automatique_14

Etape 12 : Ajoutez un titre dynamique

Détail qui a sont importance, avoir un calendrier automatique dans Excel signifie également avoir un titre qui va s'adapter au mois et à l'année sélectionnée.

Première et dernière date du mois

La formule pour la premier jour est :

=DATE(A2+2014;A1;1)

La formule pour la date du dernier jour du mois est :

=DATE(A2+2014;A1+1;1)-1

Formule pour le titre dynamique

Il ne nous reste plus qu'à insérer ces 2 fonctions dans une fonction TEXTE

="Période du "&TEXTE(DATE(A2+2014;A1;1);"jj mmmm aaaa")&" au "&TEXTE(DATE(A2+2014;A1+1;1)-1;"jj mmmm aaaa")

Et le résultat devient :

Calendrier_Automatique_15

A chaque fois que vous changez le mois ou l'année, votre titre se modifiera

Etape 13 : Changer la couleur des week-ends et des jours fériés

Pour changer les couleurs des jours féries, nous utiliserons les mises en forme conditionnelles et surtout les méthodes avec des formules personnalisées Pour que notre calendrier soit effectivement automatique, nous devons créer 2 règles pour la mise en forme conditionnelle

  • une pour les week-ends
  • une autre pour les jours fériés.

Règle pour les week-ends

  1. Sélectionnez votre plage de données B6:AF13
  2. Créer une nouvelle règle de mise en forme (Accueil>Mise en forme conditionnelle>Nouvelle règle)
  3. Sélectionnez l'option Utilisez une formule pour déterminer sur quelles cellules le format sera appliqué
  4. Ecrivez la formule =JOURSEM(B$6;2)>5
  5. Changez la couleur de remplissage (ici de l'orange)
Calendrier_Automatique_16

Règle pour les jours fériés

Ici, nous devons intégrer à notre classeur la liste des jours fériés de votre pays. En cliquant sur ce lien, vous trouverez les formules pour calculer les jours fériés français.

Calendrier_Automatique_17

La formule pour cette règle est différente du calcul précédent. Ici, nous utiliserons la fonction NB.SI.ENS

  1. Sélectionnez votre plage de données B6:AF13
  2. Créez une nouvelle règle de mise en forme (Accueil>Mise en forme conditionnelle>Nouvelle règle)
  3. Sélectionnez l'option Utilisez une formule pour déterminer pour quelles cellules le format sera appliqué
  4. Ecrivez la formule =NB.SI.ENS(Feuil2!$B$3:$B$15;B$6)>0
  5. Changez la couleur de remplissage en rouge

Vérifier vos règles

Ouvrez le manager de règles conditionnelles (Accueil>Mise en forme conditionnelle>Gérer les règles), vous pouvez visualiser les 2 règles créées dans votre feuille de calculs.

N'oubliez pas de sélectionner l'option "Cette feuille de calcul" dans le premier menu déroulant

Calendrier_Automatique_18

Etape 14 : Masquer les dernières colonnes par Macro

Pour terminer la construction du calendrier automatique sur Excel, il faut adapter les colonnes pour les jours 29, 30 et 31. Comme tous les mois n'ont pas le même nombre de jours, il faut créer un programme pour qu'Excel masque les colonnes pour les jours au-delà du mois sélectionné.

Toutes les explications sur le code vous sont données dans cet article en cas d'erreur.

Le programme va lire les colonnes AD, AE et AF pour vérifier que la valeur du mois dans ces cellules est égale à la valeur contenue en A1 (valeur du mois sélectionné). Si ce n'est pas le cas, la colonne est masquée.

  1. Appuyez sur les touches Alt + F11 pour ouvrir le Visual Basic Editor
  2. Depuis la barre de menu, sélectionnez Insertion>Module
  3. Copiez le code suivant
Sub Masquer_Jour()
Dim Num_Col As Long
For Num_Col = 30 To 32 ' Boucle sur les cellules des jours 29, 30 et 31
  If Month(Cells(6, Num_Col)) >= Cells(1, 1) Then
    Columns(Num_Col).Hidden = True
  Else
    Columns(Num_Col).Hidden = False
  End If
Next
Range("B6:AF13").ClearContents 'Supprime le contenu dans les cellules
End Sub

Rappel : Vous pouvez télécharger le fichier suivant pour avoir le même calendrier automatique dans Excel avec des fonctionnalités supplémentaires, comme l'enregistrement des informations d'un mois sur l'autre

Etape 15 : Lier les menus déroulants à la macro

Pour finir le travail, il nous reste à lier les 2 menus déroulants avec la macro. De cette façon, à chaque nouvelle sélection, la macro sera lancée.

  1. Sélectionnez l'un de vos menus déroulants
  2. Faites un clic-droit
  3. Sélectionnez Assignez une macro
  4. Sélectionnez le nom de votre macro
  5. Validez
  6. Refaites la même manipulation pour le second menu déroulant
Calendrier_Automatique_20

Maintenant, à chaque fois que vous sélectionnez un mois ou une année dans les menus déroulants, votre calendrier se mettra à jour et les colonnes se masqueront (ou s'afficheront) automatiquement

Changer la couleur des week ends et jours feries dans un calendrier

Vidéo explicative

217 Comments

  1. Jonathan GUIMARAES
    04/04/2024 @ 09:16

    Bonjour M. LE GUEN,

    Tout d'abord merci pour votre tuto, il est Top !

    J'aurai seulement une question :

    Etant donné que ce genre de tableau peut être utilisé pour suivre les congés de personnels, je me suis rendu compte que les cases à l'intérieur du tableau sont liées en fonction du mois sélectionné.

    Exemple, " l'employé 1" (pour suivre l'exemple de votre tableau) prend un jour de congé le 08 mai, je note donc CP le 08/05. Lorsqu'on passe sur le mois de juin, le CP mis le 08 mai est automatiquement reporté sur le mois de Juin.

    Est-il possible de rendre indépendantes les cases à l'intérieur du tableau afin que l'on puisse les compléter manuellement et différemment chaque mois ? Si oui, pourriez-vous m'indiquer la marche à suivre ?

    En espérant avoir été clair dans ma question et vous remerciant par avance pour votre retour.

    M. GUIMARAES

    Reply

    • Frédéric LE GUEN
      04/04/2024 @ 09:39

      Dans ce cas, il faut que vous achetiez le calendrier avec enregistrement automatique des données pour enregistrer les informations tous les mois. De cette façon en changeant de mois, vous initialisez la feuille du mois suivant et les données précédentes seront conservées

      Reply

  2. CamilleR
    13/02/2024 @ 11:59

    Bonjour,
    Super tuto, seulement la mise en forme conditionnelle pour les jours fériés ne fonctionne pas. Cela met tout mon planning en couleur au lieu de seulement la colonne correspondante...
    Auriez vous une idée ??

    Reply

    • Frédéric LE GUEN
      14/02/2024 @ 08:21

      Vous avez soit oublié un $ dans la formule ou alors vous ne pointez pas sur la bonne ligne pour faire le test logique.

      Reply

  3. Yann
    24/10/2023 @ 11:27

    Bonjour,
    Je viens de tomber sur votre tuto et il est extra. J'ai beaucoup appris. Le seul problème est que quand je colle la macro, cela ne masque pas le mois suivant. Quand j'ai entré la macro cela m'effaçait mes données, j'ai donc modifier les plages 30-32 en 32-34 ce qui correspond au placement des 29,30 et 31 sur mon tableau et D7 à AH14 pour ne pas effacer mes jours et salariés.
    Je pense que mon soucis viens de la ligne IF month mais je ne sais pas comment la modifier pour résoudre le soucis. auriez vous la possibilité de m'éclairer ?

    Merci d'avance.

    Reply

    • GROSPIERRE MICKAEL
      22/11/2023 @ 17:25

      Bonjour Monsieur,
      je souhaiterais insérer dans un fichier excel des dates complètes (Vendredi 1er décembre 2023) et ce pour chaque jour ouvrés de décembre 2023 et toute l'année 2024 espacer de plusieurs lignes.
      Auriez-vous une solution à m'apporter s'il vous plaît ?
      Merci beaucoup

      Reply

      • Frédéric LE GUEN
        27/11/2023 @ 15:30

        Je ne comprends pas la question ... il suffit que vous saisissiez vos valeurs

  4. LBATIRAMA
    13/03/2023 @ 18:37

    Bonjour,

    J'ai réalisé votre tutoriel à la lettre, excepté les jours fériés et la macro car cela n'a pas fonctionné mais pas trop grave, en revanche, petit problème, je souhaite mettre des couleurs dans les cases sous les jours. Je m'explique: A la place des employés, je met les noms des chantiers, et sous les jours, j'aimerai par exemple, en jaune les rendez vous de chantier, en bleu la fabrication et en rouge la pose admettons, histoire de voir l'avancement des dossiers au files des semaines, mais lorsque je change de mois, les couleurs et les noms des chantiers restent les même, se superposent sur les samedi et dimanche ... Pouvez vous m'aider?

    Cordialement, LBATIRAMA SA

    Reply

    • Frédéric LE GUEN
      14/03/2023 @ 03:25

      Ce que vous cherchez à faire c'est un suivi de projets et il y a des outils qui traitent de ce point en particulier, comme Microsoft Project sous votre licence 365. Excel n'est pas fait pour ça, c'est trop lours à gérer

      Reply

  5. Gays
    14/10/2022 @ 15:44

    Bonjour,

    Je n’arrive pas a faire la Macro et je ne sais pas pour quoi. Pouvez-vous m’aider ?

    Reply

  6. MidasRm
    11/10/2022 @ 04:25

    Bonjour

    Svp comment programmer ce calendrier sur 12 mois ?

    Reply

    • Frédéric LE GUEN
      13/10/2022 @ 04:09

      Il suffit de continuer de recopier la formule mais sur 12 mois (soit 365 colonnes)

      Reply

    • Marc Lepretre
      18/11/2022 @ 08:27

      Bonjour,
      J'ai pris sur votre explication pour faire également une calendrier automatique mais les jours des mois sont en lignes et pas en colonne.
      Le souci c'est que pour la macro si je copie colle ça ne marche pas et si je remplace les col par des rows ça efface tout mon tableau .
      Avez vous une aide a m'apporter pour mon calendrier

      Reply

  7. Duroc Laurent
    10/09/2022 @ 17:14

    Bonjour Mr Le Guen
    excel 2007 ne fait pas référence avec d'autre feuille pour les critères de mise en forme conditionnelle.
    du coup j'ai essayé en copiant les jours fériés sur la feuille du calendrier mais ça marche pas.
    Bien cordialement
    Laurent Duroc

    Reply

  8. Fano
    05/09/2022 @ 14:43

    les contenus sont bien effacés quand on passe d'un mois à un autre ou d'année mais on ne les retrouve plus si on revient au mois / année initial 🙁

    Reply

    • Frédéric LE GUEN
      06/09/2022 @ 15:36

      Oui, comme c'est écrit dans l'article, ce n'est pas l'objet de l'article. La programmation d'un tel calendrier (avec enregistrement des données d'un mois sur l'autre) est extrêmement complexe. C'est un vrai travail de programmation

      Reply

  9. nico
    29/07/2022 @ 20:16

    Bonjour,

    j'ai suivi toute la vidéo, je vous remercie elle m'a été d'une grande aide.
    Cependant j'aimerai rajouter une fonction qui permet de verrouiller les cellules (colonnes) correspondantes aux jours fériés et week-end.
    Est-ce-que vous pouvez me dire comment faire svp ?

    Merci

    Reply

    • Frédéric LE GUEN
      29/07/2022 @ 21:49

      Pour que soit automatique, il faut que ca soit gère par la macro et c'est vraiment très complique

      Reply

  10. leger
    31/05/2022 @ 10:03

    Bonjour,

    Est-il possible de faire la même chose avec les numéros de semaines?
    Merci d'avance

    Reply

  11. gege
    13/05/2022 @ 12:48

    Merci infiniment pour ce partage !!!!!!!!!!!!!!!!!

    Reply

  12. dz
    02/12/2021 @ 12:55

    Bonjour,

    Je ne trouve pas comment générer ce calendrier sous format trimestriel. Donc avec un affichage par 3 mois sur la bande de calendrier et T1 /T2/T3/T4 dans le menu déroulant...?

    Reply

    • GERALD
      22/04/2022 @ 22:30

      BONSOIR
      POUR LA MACRO IL FAUT ALLER SUR YOUTUBE ET CELA MARCHE A MERVEILLE
      MERCI POUR CE TUTO

      Reply

  13. Ghizlane
    07/02/2021 @ 18:06

    Bonjour,

    depuis plusieurs jours, je tente la Macro mais rien n'y fait elle ne fonctionne pas sachant que j'ai refait le calendrier comme vous.
    y aurait-il d'autres solutions?

    merci par avance.

    Reply

  14. Deboffle
    04/02/2021 @ 13:59

    Bonjour, je n'arrive pas à figer un contenu dans un mois comme dans votre exemple avec le chiffre 1.

    Lorsque ce chiffre est inscrit par exemple le 3 février et que je vais ensuite au mois de mars, il n'apparait pas et ça c'est bien.

    Par contre quand je reviens au mois de février, il n'y apparait plus.

    Cordialement

    Laurent D

    Reply

    • Natacha
      06/01/2022 @ 11:21

      Bonjour,

      Je rencontre la même problématique.
      Ce qui parait plutôt logique compte de cette ligne de code "Range ("...").ClearContents".
      Mais dans ce cas il nous manque info...

      Natacha

      Reply

      • Natacha
        06/01/2022 @ 11:36

        Alors, j'ai eu l'info plus bas !
        En fait, notre demande nécessiterait un développement plus complexe (ce qui n'était pas le but dans ce tuto).
        S'il existe un tuto à ce sujet, je suis preneuse, même s'il faut y passer du temps.
        Car tel quel, malheureusement ce tableau ne m'est pas utile.

        Merci tout de même pour ce tuto, hyper intéressant !!!

        Natacha

      • Frédéric LE GUEN
        06/01/2022 @ 12:05

        C'est exactement cela. Il y a tellement de situations de planning possible qu'il est impossible de proposer une solution simple pour tout le monde. Et puis à partir du moment où on doit gérer une sauvegarder des données avec le réaffichage des valeurs des mois précédents, ça demande une bonne centaine de ligne de code en VBA (au minimum).

  15. Eric R.
    21/01/2021 @ 21:02

    Bonsoir,
    Merci pour vos tutos, ils sont vraiment d'une aide précieuse.

    Concernant la modification automatique des derniers jours du mois, comment peut-on limiter le masquage à un groupe de cellules plutôt qu'à des lignes ou des colonnes ?

    Merci pour votre aide précieuse.
    Eric

    Reply

    • Frédéric LE GUEN
      22/01/2021 @ 11:38

      Bonjour, Je ne comprends absolument pas le besoin et l'intérêt de conserver seulement qques cellules du mois suivant.
      Dans tous les cas, dès que les règles se complexifient, l'écriture du code est bien plus difficile et longue à réaliser.

      Reply

      • Eric R.
        24/01/2021 @ 10:08

        Bonjour,

        Je me suis certainement mal exprimé.
        Dans une feuille de calcul, dont je me sers pour éditer le bulletin de salaire de la nounou qui garde notre fils, j'ai inséré une grille verticale pour indiquer le nombre d'heures effectuées chaque jour. Je me sers de cette grille pour calculer le nombres d'heures mensuelles et gérer le bulletin de salaire
        Cette grille fait partie intégrante du bulletin donc si je suis la procédure qui modifie les jours et qui remplace les dernières lignes du mois en fonction du mois en cours, cela masque des lignes de mon bulletin de salaire.
        Je souhaiterais donc limiter cette action à la plage de cellules utilisée pour ma grille où je saisis les heures de la nounou.

      • Eric R.
        11/02/2021 @ 09:35

        Bonjour,

        J'ai trouvé la solution à mon problème par une simple MFC sur ma plage de cellules verticale :
        =SOMMEPROD((JOUR($J$8:$J8)=JOUR($J8))*1)>1

        J8 étant la première cellule comprenant le 1er jour du mois.

      • Adriana Dos Santos
        08/03/2021 @ 10:03

        Bonjour,
        J'ai suivi pas à pas les consignes de la vidéo mais en arrivant à la macro, ça ne marche pas. J'ai tout essayé... copier-coller à partir du site internet, à partir d'un code laissé ici dans les commentaires, en copier lettre par lettre le code de la vidéo qui est différent de celui du site internet... et rien... les jours du mois suivants apparaissent à la fin du mois précédent.
        Que puis-je faire?
        Merci pour votre aide!

      • Frédéric LE GUEN
        08/03/2021 @ 12:03

        Il peut y avoir mille raison pour lesquelles votre code ne fonctionne pas.
        Avez-vous lu l'article suivant qui explique ligne à ligne comment fonctionne la macro ?

    • Balikou
      15/04/2022 @ 15:07

      Bonjour,
      Dans ce cas pourriez vous nous aider avec ce code VBA. Sinon je pense que le tuto est inachévé.

      Reply

  16. Lea
    14/01/2021 @ 17:21

    Bonjour,

    Merci pour ce tuto, qui m'a bien aidé, néanmoins, mes listes déroulantes sont "mois et année", lorsque je suis sur janvier et que je renseigne les variables associés.
    Ex: nombre d'heures effectuées sur janvier
    et que je passe sur février je retrouve mes données de janvier... Alors que ça devrait être vide.
    Je ne trouve et rien et je ne comprends pas pourquoi ça fait ça.
    Aidez moi svp

    Merci d'avance,

    Lea

    Reply

    • chiara
      01/02/2021 @ 10:47

      Bonjour Lea, je rencontre le même problème que toi. As tu trouvé une solution ? merci d'avance

      Reply

  17. co
    11/12/2020 @ 11:31

    Merci beaucoup, ça va m'aider pour la gestion du personnel !

    Reply

  18. Bilyck Patrice
    20/10/2020 @ 15:38

    Merci pour ce super TUTO
    J'ai quand même mis 1 journée mais c'est tres enrichissant !

    Reply

    • Frédéric LE GUEN
      20/10/2020 @ 16:01

      Mais c'est le but. Un rapport ne se construit pas en 3 clics (comme bcp le pense). Ca prend du temps et ça m'a pris bien plus qu'une journée pour concevoir cet article mais c'est aussi pour montrer qu'il est très important de pratiquer pour se rendre compte de la difficulté de créer des feuilles de calculs dynamiques. C'est pour cela que je donnerais jamais le classeur en téléchargement gratuit.

      Reply

    • Ham59
      02/11/2020 @ 00:39

      Bravo jai pris un plaisir à suivre le tuto j'ai appris des choses et je vais continuer à vous suivre et apprendre merci

      Reply

  19. FANY C.
    07/10/2020 @ 12:48

    Bonjour,

    Tout fonctionne parfaitement, mais je rencontre un problème dans la saisie des données.
    Les valeurs que je rentre dans les cellules sur un mois donné disparaissent quand je change de mois comme prévu. Cependant si je reviens sur le mois dans lequel j'ai renseigné ces cellules, elles ont aussi disparu.
    Pouvez-vous m'indiquer comment conserver les données dans les cellules d'un mois sur l'autre.

    Merci et bonne journée

    Reply

    • Frédéric LE GUEN
      11/11/2020 @ 13:38

      Ce n'est pas possible d'enregistrer d'un mois sur l'autre. Expliquez-moi comment une cellule peut à la fois vous servir à saisir vos valeurs (donc elle doit être vide) et aussi vous retourner un résultat d'un mois précédent (et là ça veut dire que la cellule contient une formule).
      Rien n'est impossible avec Excel mais c'est au moins 2 jours de développement en VBA pour un expert.

      Reply

  20. Rosy
    21/09/2020 @ 21:22

    Bonjour

    J'ai tout bien suivi mais Windows 10.. et ça ne garde pas les données quand je change de mois...
    Exemple je mets 1 sur une de mes lignes d'octobre 2020 puis je vais à Décembre et quand je reviens à Octobre tout a disparu...

    Reply

  21. HP
    28/08/2020 @ 14:12

    bonjour, je n'arrive pas a generer la macro pour cacher les jours suivant ?? mon tableau est en verticale, comment modifier la macro ??

    Reply

    • Frédéric LE GUEN
      28/08/2020 @ 15:42

      A la fin de l'article, il y a un lien vers un autre article qui explique ligne à ligne la macro.
      Il suffit d'inverser la variable pour les lignes et non pas les colonnes et ça va fonctionner

      Reply

      • HP
        31/08/2020 @ 15:56

        je suis assez novice en macro, je narrive pas a trouver comment inverser la variable, les lignes 4 et 6 generent des erreurs a cause des ";"

      • cindy
        16/09/2020 @ 15:26

        Bonjour,
        Je me suis arrêtée à l'étape 6, je n'avais pas besoin de plus.
        En revanche lorsque je rentre une valeur (ex:2) pour l'employé 1 le 13/09, elle se marque d'office dans la colonne le 13 des mois suivants.
        Comment puis-je supprimer cela?

  22. Noil
    31/07/2020 @ 14:33

    Hello,
    Je suis désolé mais le calendrier peut être sans interêt pour plusieurs, sur votre tuto, il y'a marqué les employés mais à quoi bon si le mois prochain les données resteront et tout ne se sauvegardera pas ?

    Reply

  23. Adrien
    28/07/2020 @ 09:18

    Bonjour,

    J'ai fait mon tableau de façons à ce que les dates soient toutes sur la colonne A du coup je n'arrive pas à ce que les dates de weekend soient en couleurs avec la formule =JOURSEM(B$6;2)>5 que j'ai modifié en =JOURSEM(A$7;2)>5.

    Et pareil pour les jours fériés.

    Pouvez vous m'aider? mes dates sont de A7 à A37

    Reply

    • Frédéric LE GUEN
      28/07/2020 @ 09:52

      C'est les $ qui sont mal positionnés. Un petit rappel sur les références mixtes ne serait pas une perte de temps.

      Reply

    • Lecharentais 79
      10/11/2020 @ 15:34

      Bonjour, je pense que vous devriez noter "=JOURSEM($A7;2)>5" pour bloquer votre colonne A.

      Reply

      • Frédéric LE GUEN
        11/11/2020 @ 13:29

        Bonjour, Non, la formule de la mise en forme conditionnelle est juste. Il faut bloquer sur la ligne et pas sur la colonne.

  24. selkakd
    20/07/2020 @ 14:21

    Bonjour

    J'ai le même problème que vous,
    Avez vous obtenu une réponse ?

    Merci

    Reply

  25. Lihodut
    06/07/2020 @ 14:30

    Pour un tableau vertical, modifiez la macro comme ceci :

    Sub Masquer_Jour()
    Dim Num_Col As Long
    Range("B7:B37").ClearContents 'Supprime le contenu dans les cellules, remplacer par la plage de votre tableau
    For Num_Row = 35 To 37 ' Remplacer par les lignes de vos jours 29, 30, 31
    If Month(Cells(Num_Row, 1)) Cells(1, 3) Then 'Num_Row, 1 où 1 est la colonne où se trouve les jours du mois
    Rows(Num_Row).Hidden = True
    Else
    Rows(Num_Row).Hidden = False
    End If
    Next
    End Sub

    Reply

    • Frédéric LE GUEN
      06/07/2020 @ 17:15

      Range("B7:B37"), hmmmm, Ca ne nettoie pas les cellules en colonne C, D, E, F, ....
      Mais sinon c'est ok, je valide 😉

      Reply

  26. Bachellerie
    01/07/2020 @ 14:16

    bonjour,

    Est-il possible de fixer un mois ? Par exemple, j'ai créer mon planning pour Juillet, cependant je désire le changer en Août. Mais si je sélectionne le mois d'août, j'ai certaines colonnes et lignes du mois de juillet.

    Super sujet merci

    Reply

  27. Léa
    22/07/2019 @ 08:27

    Bonjour,
    J'ai fait le tableau avec les employés et maintenant j'aimerai pouvoir entrer M (maladie) ou A (accident) pour chaque employé et pour chaque mois. Malheureusement, je me rends compte que si par exemple je mets M le 6 janvier, ce M se reporte partout (tous les mois). Je ne sais pas comment faire car du coup le tableau que j'ai passé des heures à faire m'est inutile si je n'arrive pas à rentrer les absences des employés pour chaque jour et mois.
    J'ai essayé de colorier la case mais cela ne change rien, la couleur se met là encore à tous les mois quand je change le mois avec la liste déroulante.
    Quelqu'un peut-il m'aider? merci d'avance

    Reply

    • Frédéric LE GUEN
      28/07/2019 @ 16:39

      Bonjour,
      Je viens de rajouter un article pour expliquer pas-à-pas le fonctionnement du code. J'espère que ces explications vont vous aider à résoudre votre problème.

      Reply

  28. Ludovic
    20/07/2019 @ 15:53

    Merci pour vos explications claires et hyper détaillées.
    je n'ai pas réussi tout du premier coup mais la persévérance m'a permis de franchir des caps.
    Ma macro ne fonctionnait pas correctement les colonnes 29-32 restaient masquées.
    en supprimant le "=" de If Month(Cells(6, Num_Col)) >= Cells(1, 1) Then
    tout fonctionne parfaitement

    Reply

    • alex
      26/07/2019 @ 17:29

      remplacer If Month(Cells(6, Num_Col)) >= Cells(1, 1) Then
      par If Month(Cells(6, Num_Col)) Cells(1, 1) Then

      Reply

      • Frédéric LE GUEN
        28/07/2019 @ 16:30

        Je viens d'écrire un article qui explique toutes les lignes de code. Merci de votre participation 🙂

  29. Bon Laëtitia
    08/07/2019 @ 15:44

    Bonjour,

    J'ai suivi toute votre procédure jusqu'à imbriquer le calendrier en feuill2 et là: bug, je n'arrive pas à copier la fonction du calendrier concernant Pâques. Vous est-il possible de mettre un lien sans mode protéger car quand je copie dans le press-papier la formule s'évapore. Du coup comme c'est une case de référence pour le calendrier en lui-même des jours fériés, impossible de poursuivre. merci pour votre réponse

    Reply

    • Frédéric LE GUEN
      08/07/2019 @ 18:06

      Pourquoi vous n'avez pas télécharger le fichier qui contient toutes les formules pour les jours fériés ?

      Reply

  30. BEN POTTIER
    19/06/2019 @ 23:32

    Un magnifique tuto!
    extrêmement pédagogue, j'ai adoré!

    il manque un peu d'explication pour le vba par contre. c'est le seul bémol. J'ai eu des soucis également sur la ligne If du vba étant donné que je ne dois pas être sur la même version que vous et que je n'ai pas positionné mes éléments aux mêmes endroits.
    Je suis sur excel 2019. voici mon code vba.

    Sub Masquer_Jour()
    Dim Num_Col As Long
    For Num_Col = 34 To 36 ' Boucle sur les cellules des jours 29, 30 et 31
    If Month(Cells(6, Num_Col)) Cells(1, 4) Then 'le 4 correspond a la colonne de la cellule liée du menu déroulant du mois, le 1 à la ligne
    Columns(Num_Col).Hidden = True
    Else
    Columns(Num_Col).Hidden = False
    End If
    Next
    Range("F7:AJ20").ClearContents 'Supprime le contenu dans les cellules
    End Sub

    Reply

  31. Olivia
    18/06/2019 @ 16:37

    Bonjour,

    Super explications pour la création de ce fichier Excel! Tout fonctionne jusqu'à l'étape 9. J'ai bien fait Alt+F11, j'ai bien coller le code et enregistrer. Ensuite, je ne parviens pas à affecter les macros sur les deux listes déroulantes. Y a t il un nom spécifique à donner? Enfait, Un message d'erreur apparait: "impossible d'affecter la macro "mon nom du document.xlsZone combinée2_quand changment'. Il est possible qu'elle ne soit pas disponible dans ce classeur ou que toute les macros soient désactivées.
    De plus, j'aimerai pouvoir mettre des 1 ou 0 sous les jours pour chaque mois. Comment faire pour que mes annotations reste sur le mois et l'année séléctionnée?
    Un grand merci d'avance.
    Olivia

    Reply

    • Frédéric LE GUEN
      18/06/2019 @ 19:22

      Vous êtes le 150e commentaires sur cet article, c'est dire s'il a du succès. Mais pour autant, je suis bien incapable de vous aider.
      Je pense que par défaut, vous avez du bloquer les macros Fichiers > Options > Centre de gestion de la confidentialité > Appuyer sur le bouton Paramètres du Centre de gestion de la confidentialité > Paramètres des macros. Et là, je pense que les macros sont désactivées.
      Pour le reste, comprenez que mon métier c'est de concevoir des développements comme celui-ci pour les entreprises et c'est exactement votre cas de figure. Contactez-moi si vous souhaitez que je réalise ce travail.

      Reply

  32. Angélique
    11/06/2019 @ 15:26

    Bonjour,

    Super ce tuto, vraiment impressionnée, mais je rencontre deux problèmes.

    J'ai élaboré le calendrier différemment du vôtre, de la façon suivante :
    - 1 ligne = 1 jour (débutant en "A17", se terminant en "H78" pour les mois à 31 jours)
    - Menus déroulants : année en "B1" et mois en "C1"

    1 - J'ai nommé le calendrier que j'ai créé "2019-06". Je dois créer cette fiche pour chaque salarié et chaque mois. En dupliquant l'onglet 2019-06 pour faire celui de 2019-07, les menus déroulants qui me permettent de changer l'année et le mois ne sont plus fonctionnels et apparaissent comme "grisés" (je ne peux plus accéder au contenu des listes). Existe-t-il une subtilité pour faire fonctionner les menus déroulants comme sur l'onglet initial ?
    J'ai testé pas mal de bidouilles (dupliquer le calendrier ET l'onglet jours fériés ; les copier dans un nouveau fichier, etc). Il n'y a que le copié/collé manuel qui me conserve les menus déroulants, mais je perds la mise en forme de tout le reste.
    Je voudrais éviter d'avoir à enregistrer un fichier par mois, mais bien un seul fichier par an pour chacun.

    2 - je bloque à la macro, je ne sais pas comment la modifier pour qu'elle fonctionne selon la disposition de mon calendrier.

    Je vous remercie par avance pour votre aide, et surtout pour ce tuto bien pratique !

    Angélique

    Reply

  33. Cyril
    23/05/2019 @ 17:55

    Bonjour , tout d'abord merci beaucoup pour ce tuto tout marche très bien , mais pour des raison pratiques j'ai mis mais jour à la verticale il faut donc que je masque des lignes plutôt que des colonnes j'ai essayé de modifier la macro mais ça marche pas pouvez-vous m'aguiller svp.
    Cordialement
    Cyril

    Reply

    • Frédéric LE GUEN
      24/05/2019 @ 19:15

      Il faut inverser la variable dans les paramètres de l'instruction Cells(ligne, colonne).
      Dans l'article, j'ai mis mon le lien vers mon livre. Il est très bien noté sur Amazon et est très pédagogique. Ca vous permettra de comprendre le déroulement du code et comment l'adapter à vos besoins de création de calendrier

      Reply

  34. Clément FOUSSIER
    21/05/2019 @ 03:13

    Bonjour,

    D'abord, merci pour ce tuto très accessible et bien détaillé.
    J'ai pu réaliser un calendrier, à partir de l'année 2019, après m'être "heurté" sur le code VBA.
    Voici les petites modification que j'ai apporté :

    Sub Masquer_Jour()
    Dim Num_Col As Long
    For Num_Col = 30 To 32 ' Boucle sur les cellules des jours 29, 30 et 31
    If Month(Cells(6, Num_Col)) Month(Cells(6, 2)) Then
    Columns(Num_Col).Hidden = True
    Else
    Columns(Num_Col).Hidden = False
    End If
    Next
    Range("B7:AF13").ClearContents 'Supprime le contenu dans les cellules
    End Sub

    Sous cette forme le code à l'air de bien fonctionner, je débute VBA donc j'espère qu'il est viable et qu'il aidera les prochains.
    Merci encore, bonne journée et à bientôt.

    Reply

  35. Daniel Sala
    25/04/2019 @ 17:20

    Bonjour,

    Merci pour la correction du code VBA (problème HTML), voici quelques erreurs que j'ai remarquées :

    P.S. J'ai mis le calendrier et les 2 listes déroulantes exactement dans les mêmes cellules que dans le tuto, donc, le code VBA est pareil aussi à ce niveau.

    1) En mettant >= les 3 dernières colonnes (jours 29, 30, 31) sont cachées pour tous les mois. C'est en mettant juste > que le code fait la bonne chose dans le calendrier (si je choisis le mois de mai, ça affiche les 31 jours, si c'est juin, c'est 30 et si c'est février, c'est 28 ou 29 selon l'année choisie.

    2) J'ai mis le code pour supprimer le contenu des cellules, mais ça supprime aussi les cellules de B6 à AF6 (les jours) et de A7 à A13 (Employé). Pour cette raison, j'ai enlevé cette ligne de code.

    Dans le tuto, vous marquez le code : "Range("B6:AF13").ClearContents 'Supprime le contenu dans les cellules", mais dans les commentaires juste en bas, vous écrivez "La ligne Range("B6:AF13").ClearContents supprime le contenu des cellules de B6 à B13. Selon la position de votre calendrier, vous serez amené à changer cette plage de cellules (la position de mon calendrier est identique à celle du tuto).

    La cellule AF13 n'est pas la même que B13 et comme je l'ai écrit plus haut, dans mon cas, il supprime les jours et les 7 employés aussi. Si on veut juste supprimer le calendrier sans toucher à ces 2 choses, la plage sera plus B7 à AF13.

    3) L'année 1900 n'était pas une année bissextile, mais Excel ne prend pas en charge cette exception par défaut (sauf si on fait une exception dans le code VBA pour l'année 1900 (A2) et qu'on modifie aussi la cellule B4).

    Merci,

    Daniel

    Reply

  36. Claire
    17/04/2019 @ 15:59

    J'ai 2 souci :
    1) sur Mirosoft Visual Basic : il me dit qu'il y a une erreur sur cette ligne :
    If Month(Cells(6, Num_Col)) &amp;amp;lt;= Cells(1, 1) Then

    2) plus ennuyeux : quand je change de mois j'ai les cases du mois dernier qui sont toujours là dans chaque mois. C'est à dire j'ai mis une croix sur le 5 janvier, cette croix apparaitra dans tous les mois ?

    Je vous remercie pour votre aide

    claire

    Reply

    • Frédéric LE GUEN
      17/04/2019 @ 17:09

      Bonjour,
      J'ai corrigé et complété l'article pour répondre à vos questions

      Reply

  37. Daniel Sala
    16/04/2019 @ 17:20

    Le macro ne marche pas pour moi, (ça me cause une erreur de syntaxe dans Excel 2016), voici la ligne où sa bloque

    Sub Masquer_Jour()
    Dim Num_Col As Long

    For Num_Col = 30 To 32
    ' Compare la valeur du mois de la cellule AD6 Month(Cells(6, Num_Col)
    ' avec la valeur du mois sélectionné en A1 Cells(1, 1)
    If Month(Cells(6, Num_Col)) &amp;amp;lt;= Cells(1, 1) Then ------> c'est quoi --> &amp;amp;lt;= dans cette ligne du macro, ça me donne une erreur de syntaxe quand je change le mois/année dans Excel. Oui, j'ai pris la bonne cellule
    Columns(Num_Col).Hidden = True
    Else
    Columns(Num_Col).Hidden = False
    End If
    Next

    'Supprime le contenu dans les cellules
    Range("B6:AF13").ClearContents
    End Sub

    Reply

    • Frédéric LE GUEN
      16/04/2019 @ 19:06

      Ok, merci du message.
      C'est un problème de retranscription du code dans la page HTML (désolé, ce n'est pas de ma faute)
      C'est le site supérieur qu'il faut comprendre ici.
      If Month(Cells(6, Num_Col)) >= Cells(1, 1) Then
      Si la valeur du mois de la ligne 6 est supérieur au mois sélectionné (en A1) alors, le test est Vrai

      Reply

  38. cecile vanderkam
    12/04/2019 @ 11:36

    Bonjour,

    Je vous remercie pour ce tuto.
    ça marche très bien.

    Je voudrai savoir comment faire pour qu'un texte apparaisse que dans une case spécifique selon le jour de la semaine.
    merci

    Reply

  39. Vincent
    11/04/2019 @ 17:40

    Bonjour,

    J'ai suivi vos conseils pour le tableau tout fonctionne (je n'ai pas les mêmes coordonnées que le votre sauf le masquage automatique des colonnes, que dois je modifier dans le programme comme coordonnes.

    Pouvez vous m 'aider

    Merci beaucoup

    Reply

  40. Vincent
    07/04/2019 @ 15:54

    Bonjour,

    J'ai crée un calendrier avec votre tuto, mais je n'arrive pas pour masquer les dates en trop avec les macros, est il possible de vous envoyez mon fichier pour créée le programme.

    Merci beaucoup

    Reply

  41. Esther Villas
    07/04/2019 @ 14:07

    Bonjour,

    Existe-t-il une formule macro ou non pour contrer celle de suppression ?
    Je m'explique, lorsque je passe du moi de Janvier à Février les données de Janvier sont effacées, mais je voudrais pouvoir revenir sur le mois passé et récupérer les données entrée précédemment.

    Merci d'avance pour la réponse.

    Reply

    • Frédéric LE GUEN
      07/04/2019 @ 19:28

      Ce n'est pas l'objet de l'article. Ce que vous demandez c'est un vrai développement informatique qui demande plusieurs jours de travail.

      Reply

  42. ANAIS
    19/03/2019 @ 11:45

    Bonjour,
    Est il possible de rajouter un onglet trimestre ? Pour pouvoir avoir un affichage plus large dans le temps ?

    Reply

  43. SYLVIE PERRY
    14/03/2019 @ 15:17

    Bonjour,

    J'ai également un problème avec le code. J'ai beau refaire, contrôler, je ne vois pas ce qui cloche. Lorsque je saisie un quantité en janvier par exemple, elle réapparaît en février.

    Merci,

    Reply

    • Frédéric LE GUEN
      16/03/2019 @ 14:54

      Bonjour,
      Comprenez que le code est là pour présenter comment les macros peuvent vous aider dans la construction de feuilles complexes. Mais en aucun cas cet article s'applique à toutes les situations. Il est donc fort possible de transformer le code pour qu'il réponde à votre besoin mais ça c'est du développement

      Reply

  44. Jess
    01/03/2019 @ 18:54

    Sub Masquer_Jour()
    Dim Num_Col As Long

    For Num_Col = 30 To 32
    If Month(Cells(6, Num_Col)) Cells(1, 1) Then
    Columns(Num_Col).Hidden = True
    Else
    Columns(Num_Col).Hidden = False
    End If
    Next

    End Sub

    Reply

  45. Jessica
    28/02/2019 @ 16:24

    Merci beaucoup ! Mon calendrier est prêt pour toutes les années à venir !

    Reply

  46. Arnaud
    19/02/2019 @ 23:15

    Bonsoir,
    Je viens de finir de créer mon calendrier 2019 grâce à votre Tuto. Je suis "sous le choc". Un grand merci à vous.

    Reply

  47. Valentin
    01/02/2019 @ 10:41

    Bonjour,

    Très bon tutoriel.
    Néanmoins, j'ai souhaité modifier légèrement la mise en page, puisqu'elle ne convenait pas à l'usage que je souhaite en faire. J'ai donc mis mes dates dans une colonne (A) et non une ligne. C'est alors au niveau de la formule pour identifier les week-end que ça bloque ! Je m'explique : Mes dates sont en colonne A de la ligne 12 à 42. J'ai saisi la formule : JOURSEM($A19;2)>5. Le résultat est convaincant pour une grande partie du mois mais ne fonctionne plus vers la fin du mois, puisque toutes mes lignes deviennent orange sur la fin du mois. Un conseil pour rectifier le tir ?
    Merci d'avance.

    Reply

  48. Laurence
    12/01/2019 @ 15:54

    bonjour,
    Merci pour les tutos. J'ai juste un souci.
    chez moi la macro ne fonctionne pas non plus. J'ai un message d'erreur - erreur de compilation ou de syntaxe. Je suis sur Excel 2016 et je n'arrive pas à réparer moi-même. Hélas je ne fais que démarrer avec VBA.
    L'instruction if month se plante à chaque fois et j'aimerais comprendre pourquoi.

    Si quelqu'un peut m'expliquer c'est volontiers car j'aimerais progresser.

    Par avance, un grand merci pour votre aide.

    Reply

  49. AliceM
    03/01/2019 @ 14:13

    Bonjour,

    J'ai le même problème, malgré la vidéo cela ne fonctionne pas. En revanche, ça ne me dérange pas de voir apparaître des jours inexistants, mais quand je saisie des valeurs dans une cellule,elle reste dans cette cellule quelque soit le mois.

    Comment faire alors ?

    Reply

  50. Philippe
    02/01/2019 @ 12:33

    Bonjour,
    Tout d'abords merci pour ces explications concretes.
    Mon premier bémol viens du fait que lorsque l'on passe sur une autre année les jours fériés ne se coloris pas! faut-il attendre de passer en 2020 ou comment fait on pour dématérialiser la date figée dans la feuille 2?
    Le second viens du VBE qui s'ouvre a chaque fois, je vais consulter et apprendre l'analyseur conseillé.
    Sinon c'est excellent tout fonctionne...Enfin presque sinon j’appellerais pas au secours.

    Bloavez mad.

    Reply

  51. Anne-Sophie
    09/08/2018 @ 15:46

    Bonjour,
    j'aimerai marqué en dessous de mes jours les noms des personnes fêtées ainsi que le nom du férier. comment cela est-il possible ?
    merci à vous,
    Anne-Sophie

    Reply

  52. Pierre-Jean
    09/08/2018 @ 09:10

    Bonjour,

    Tout fonctionne parfaitement, mais je rencontre un problème dans la saisie des données.
    Les valeurs que je rentre dans les cellules sur un mois donné disparaissent quand je change de mois comme prévu. Cependant si je reviens sur le mois dans lequel j'ai renseigné ces cellules, elles ont aussi disparu.
    Pouvez-vous m'indiquer comment conserver les données dans les cellules d'un mois sur l'autre.

    merci

    Reply

    • Frédéric LE GUEN
      09/08/2018 @ 09:48

      Comme cela a déjà été rappelé dans d'autres messages, l'enregistrement des données entre les mois ne peut se faire que par la création d'un programme spécifique. Contactez-moi si vous voulez que je prenne en charge ce travail

      Reply

  53. bareille
    17/07/2018 @ 08:11

    Bonjour

    J'ai crée le calendrier , super tuto.
    Mais je rencontre un probléme pour masquer les jours 30,31 la formule marche pas.
    Merci pour votre aide

    Reply

    • Frédéric LE GUEN
      17/07/2018 @ 09:11

      Ce n'est pas une formule, c'est une macro. Ca fonctionne parfaitement. Reportez-vous à la vidéo pour vous aider à comprendre

      Reply

  54. Simo
    17/07/2018 @ 02:42

    le code à la fin ne fonctionne pas du tout, alors que j'ai pris exactement les même casa que vous.
    De plus vous auriez pu proposé quelque chose pour que les données saisies restent sauvegarder et ne disparaissent pas d'un mois à l'autre.
    Je voulais réellement acheté le produit mais je vois qu'il ne pourra pas me servir a grand chose.
    Merci quand même

    Reply

    • Frédéric LE GUEN
      17/07/2018 @ 09:10

      Le code fonctionne parfaitement, je vous le garantie.
      Pour ce qu'il en est de la sauvegarde des données, la programmation est plus complexe et rentre dans le cadre de mes activités de développeur et de consultant. Et de plus, comme chaque entreprise à ses propres contraintes en terme de gestion, il est impossible de faire un tuto pour chacune d'entre elles.
      Si vous souhaitez que je vous conçois le programme de votre calendrier pour enregistrer les données d'un mois sur l'autre, faites le moi savoir.

      Reply

      • Martin Gérard
        06/01/2019 @ 09:28

        Monsieur bonjour
        Merci pour votre tuto de calendrier.
        Par contre où trouver le code pour le faire fonctionner.
        Je voudrai rentrer des données et les retrouver suivant les mois.
        En vous remerciant à l'avance de votre réponse.

        Gérard

      • Frédéric LE GUEN
        11/01/2019 @ 17:20

        Le code est écrit à l'étape 10. Il suffit de le recopier

  55. LORENZO-LAUZEVIS
    11/07/2018 @ 16:22

    Bonjour,
    J'ai réussi à créer le calendrier, le seul soucis que je rencontre est que lorsque je rentre une lettre ou une couleur dans le calendrier; exemple en juillet 2018 que je passe au mois d'août je n'ai rien ... normal, mais lorsque je reviens au mois de juillet ou j'ai noté les éléments tout à disparu.
    rien ne s'enregistre.
    merci de votre aide

    Reply

    • Frédéric LE GUEN
      12/07/2018 @ 06:36

      Bonjour,
      C'est tout à fait normal car l'article explique comment modifier les couleurs des jours d'un calendrier uniquement. Pour enregistrer les données d'un mois sur l'autre, il faut faire un vrai développement avec du code VBA.
      Vous pouvez me contacter si vous souhaitez que je m'occupe de ce travail webmaster@excel-exercice.com

      Reply

  56. marco
    11/07/2018 @ 10:01

    Bonjour,

    Problème avec les jours du mois 30,31 de ma derniére colonne du tableau.
    Pouvez vous m'aider?
    Merci

    Reply

  57. marco
    06/07/2018 @ 21:30

    bonsoir

    la formule pour masquer la derniére colonne ne fonctionne pas , pourquoi?

    Reply

  58. marco
    06/07/2018 @ 12:56

    Bonjour,

    Concernant les jours feriés quand je mets nouvelle régle sous excel 2007 çà me dit vous ne pouvez pas faire référence à d'autres feuilles ou classeurs pour critére de mise en forme conditionnelle.
    Comment faire?
    Merci de votre aide

    Reply

    • Frédéric LE GUEN
      06/07/2018 @ 13:05

      Bonjour,
      C'est fort possible (ça fait très longtemps que je n'ai pas travaillé avec Excel 2007). Pour bcp d'utilisateurs, il n'y a aucune différence entre Excel 2007, 2010, 2013 ou 2016. Et bien si, il y en a.
      Cette différence en fait partie. Le seul moyen de résoudre le problème c'est de mettre les jours fériés sur la même feuille de calcul que le calendrier

      Reply

    • marco
      06/07/2018 @ 20:56

      merci pour l'info
      çà marche super

      Reply

  59. LISTELLO
    17/06/2018 @ 13:13

    Bonjour,

    J'ai un souci; j'ai créé un tableau de suivi de planning prévisionnel travaux sur excel. Par exemple, quand une date change; je suis obligée de décaler ligne par ligne et faire les modifications une à une....c'est très fastidieux. N'y existerai t-il pas une fonction dans excel, afin que lorsque l'on modifie une donnée du graphique, il y ait une réactualisation automatique?

    Merci pour votre aide.

    Reply

  60. Bertrand
    14/06/2018 @ 10:32

    Bonjour,

    J'utilise excel au quotidien mais de manière autodidacte et donc assez peu automatisée. Votre tutoriel vient de me faire gagner un temps fou pour l'avenir (même si j'ai passé la matinée à faire fonctionner tout cela).

    Je vous remercie beaucoup pour ce partage de connaissance précieux !!

    Juste une question : j'ai essayé de faire le tableau dans l'autre sens (entrées "dates" en colonne A) mais cela fait dysfonctionner la formule pour changer la couleur des jours fériés et week-end. Je crois comprendre qu'il s'agit d'un problème de dédoublement de la formule : il doit falloir faire la recherche des jours concernés dans la colonne des dates, mais l'affichage de la couleur concernée doit se faire dans la ligne correspondante. J'ai essayé de contourner le problème, mais je n'y suis pas parvenu. Et je ne suis pas certain d'être clair dans ma formulation du problème.

    J'ai donc refait le tableau en suivant scrupuleusement les étapes et ça fonctionne.

    Merci mille fois !

    Reply

  61. Christophe
    31/05/2018 @ 08:08

    Bonjour,

    Super tuto merci, Mais j'ai un petit souci ... par exemple en janvier, je marque mes horaires je passe à un autre mois et ainsi de suite.

    le problème quand je reviens sur le moi de Janvier tout ce qui était inscrit à disparu. est-ce normal ?

    Merci.

    Reply

    • Frédéric LE GUEN
      31/05/2018 @ 08:38

      Il n'est pas possible de faire réafficher les valeurs d'un mois précédent. Ce tuto montre comment les couleurs changent automatiquement uniquement.
      La conception d'un calendrier qui permette le réaffichage des valeurs précédentes est un projet complexe qui ne peut pas faire l'objet d'un simple article web.

      Reply

  62. phil54
    06/05/2018 @ 21:37

    Bonjour et merci beaucoup pour vos informations. J'ai pu créer le calendrier sous excel et qui fonctionne parfaitement. J'ai rencontré une difficulté à intégrer une mise en forme conditionnelle à partir d'une 2ème feuille car j'ai un message qui s'affiche me disant que c'est impossible. Ce que j'ai pu confirmer par ailleurs (sources internet toujours, ça vaut ce que ça vaut). J'ai contourné le problème en trouvant une autre formule et ça fonctionne donc problème résolu.
    Néanmoins, je souhaite suivre les absences des personnes en utilisant un code couleur. Le problème, c'est que si je remplis les cellules en vert par exemple du 01 juillet au 15 pour Monsieur Untel car il est en vacances, je retrouve les mêmes cellules remplies tous les mois à la même période. Du coup, l'intérêt pour moi est bien moindre. Y a-t-il une solution ?
    Merci.

    Reply

  63. Richter
    27/03/2018 @ 16:22

    Bonjour

    j'ai un problème avec la formule automatique du jour de pâques qui ne fonctionne pas
    Je n'arrive pas à l'automatiser et j'ai toujours l'erreur NOM qui s'affiche
    Pour information, je suis sur un Excel 2010 en version française

    Reply

    • Frédéric LE GUEN
      27/03/2018 @ 16:39

      Bonjour,
      Il n'y a pas de raison. Dans le classeur que vous avez téléchargée, dans la feuille 2 toutes les formules fonctionnent quelques soit la version d'Excel

      Reply

  64. huguet
    28/12/2017 @ 14:20

    Bonjour,

    Merci beaucoup pour ce tuto, j'ai pu me faire un planning sympa.
    Seul "hic", c'est... l'effacement total du contenu. Je m'explique :

    J'ai mon planning fonctionnel, je choisi "janvier 2018".
    Ici j'intègre des infos de planning avec une mise en forme conditionnelle.
    La mise en forme est : si dans les cellules, j'écris " I " pour Intervention, alors remplir la cellule en rouge.
    Et là, je souhaite remplir le mois de février... je le rempli, et je reviens ensuite sur le mois de janvier : tout a disparu.
    Je retourne sur le mois de février : tout a également disparu.

    Je comprends bien qu'il s'agit de la formule "ClearContents", qui efface donc le contenu des cellules. Mais quelle est l'utilité d'un tel planning si au fur et a mesure, les infos sont supprimées ?
    N'existe-t-il pas de moyen de conserver les infos de tel mois pour telle année, puis de faire appel à cette info lorsqu'on retourne sur ce mois/année ?
    Je ne sais pas si j'ai été clair, donc n'hésitez pas à me demander plus d'explication.

    Reply

    • Frédéric LE GUEN
      28/12/2017 @ 14:34

      Bonjour,
      La vocation de se tuto est de présenter un planning vierge chaque mois. Mais ça ne reste qu'une interface de visualisation et pas l'enregistrement des données d'un mois sur l'autre avec possibilité de revenir consulter les mois précédents.
      Réaliser un tel classeur est un vrai projet de développement informatique et certainement pas un tuto. De plus chaque entreprise a des spécificités qui lui sont propres et c'est donc impossible d'imaginer de trouver votre solution sous forme de tuto sur le web.
      J'ai déjà réalisé pour d'autres entreprises ce type de projet. Si vous voulez que je m'en occupe, vous pouvez me contacter via le formulaire de contact sur la page d'accueil.

      Reply

  65. HIROUX
    28/12/2017 @ 13:55

    Bonjour

    Je souhaite débloquer le tuto pour une semaine (2.99 €) mais ne souhaite pas passer par paypal..
    Comment faire?
    Merci

    Reply

    • Frédéric LE GUEN
      28/12/2017 @ 14:12

      Bonjour,
      Je n'ai pas d'autres solution à vous proposer j'en suis désolé. Paypal est le seul système qui ne propose pas des frais excessifs par transaction.
      Mais il n'est pas nécessaire d'avoir un compte Paypal. Il vous suffit de renseigner le détail de votre carte bancaire pour finaliser la transaction

      Reply

  66. Stéphan
    19/12/2017 @ 14:06

    Bonjour,
    Je découvre votre tuto, intéressant.
    Je m’interroge toutefois sur le fait que les données remplies dans le calendrier sont perdues lorsqu'on passe d'un mois à l'autre ?
    Exemple : je remplis quelques heures sur juillet, je passe sur août puis revient sur juillet, plus rien ?
    Merci.

    Reply

  67. Joseph
    04/12/2017 @ 02:51

    Bonjour,

    Info complémentaire : Le titre dynamique fonctionne maintenant, la formule est ok, simple problème de copier - coller qui n'a pas fonctionné correctement.
    Le masquage ou non des colonnes en fonction du mois fonctionne correctement aussi.

    Cela fait moins de problèmes en suspens

    il ne reste plus que :

    - le coloriage des jours fériés qui ne fonctionne toujours pas malgré diverses tentatives

    - l'effacement du contenu des cellules dans les colonnes masquées du tableau que je ne sais pas comment intégrer dans la macro

    - pour le tableau des jours fériés à Genève, je l'ai reconstitué à partir des formules du tableau français, sauf pour le calcul du jeûne genevois qui se situe le jeudi suivant le 1er dimanche de septembre
    De plus la cellule année dans ce tableau se réfère à l'année en cours Cellule AN1 : = ANNEE(AUJOURDHUI())
    et je ne sais pas comment la remplacer automatiquement par l'année indiquée dans mon menu déroulant sans que cela fausse le calcul des autres cellules du tableau exemple dans la Cellule AN3 : =DATE($AN$1;1;1)
    afin de pouvoir préparer les planning de l'année suivante par exemple

    encore merci pour les éventuelles réponses

    Reply

  68. Joseph
    03/12/2017 @ 15:47

    Bonjour,

    Depuis mon commentaire précédent, j'ai rectifié une source d'erreur concernant la macro pour cacher les colonnes: mon tableau n'étant pas positionné à partir de la ligne 6 mais 7 j'avais oublié de rectifier !

    Mais reste la question du coloriage des jours fériés qui lui reste cantonné à la colonne du 31 du mois.

    Comment inclure à la macro l'effacement du contenu des cellules depuis la ligne juste en dessous de la date jusqu'au bas du tableau mais uniquement pour les colonnes cachées ?

    Et par quel procédé lier la cellule de la date du tableau dynamique à la date sélectionnée pour le calendrier afin de pouvoir calculer les jours féries sur une autre année ? (par exemple si je prépare mon planning de 2018, en 2017)

    Merci

    Reply

  69. Joseph
    03/12/2017 @ 14:44

    Bonjour,

    Tout d'abord, merci de votre contribution car elle me permet de dépasser un obstacle dans mon projet (planning et calcul automatisé des heures travaillées)

    Je suis un débutant voir plus que débutant sur Excel et j'utilise actuellement la version 2007

    J'ai suivi le tuto "Comment créer un calendrier automatique dans Excel" pas à pas, mais je reste bloqué sur 4 problèmes

    - message d'erreur pour la formule du titre dynamique (même en enlevant le dernier " => peut être en lien avec les formats de date par rapports aux versions plus récentes d'excel ??

    - le coloriage des jours fériés car Excel ne me permet pas de me référer à une autre feuille dans le classeur alors j'ai inclus le tableau directement dans la feuille mais ça ne fonctionne pas : les jours fériés ne sont pas repérés mais uniquement le 31 du mois quel que soit le mois ou l'année.

    - la macro masque bien les colonnes mais elles ne réapparaissent plus lorsque je change de mois.

    - Tableau dynamique des jours fériés : comme je n'ai pas encore entièrement compris la formule s'y référant, existe-t-il un tableau dynamique des jours fériés suisses ainsi que la formule permettant la mise en forme conditionnelle

    Merci de bien vouloir prendre le temps de me répondre

    Reply

  70. n.teillard
    12/10/2017 @ 10:27

    Bonjour,

    Ce code ne fonctionne pas dans mon document.
    J'ai intégré la formule : =JOURSEM(D$16;2)>5, pour afficher les jours fériés en couleur et la totalité de la sélection s'est affiché en couleur sans distinction de jours fériés.
    Je ne comprends pas d'où peut provenir l'erreur.
    cordialement

    Reply

    • Frédéric LE GUEN
      12/10/2017 @ 10:31

      Bonjour,
      Hmmmm .... L'écriture de la fonction JOURSEM est correcte pour les jours du week-end (le $ est bien positionné)
      Maintenant, il faudrait voir l'écriture que vous avez faite pour l'affichage des jours fériés. Il doit manquer un $ quelquel part dans la formule.

      Reply

      • n.teillard
        12/10/2017 @ 11:00

        Je ne suis pas sûr de bien comprendre votre demande mais voici la formule complète :
        Formule : =JOURSEM(D$16;2)>5 s'applique à =$D$16:$I$46

      • Frédéric LE GUEN
        12/10/2017 @ 11:07

        Dans votre premier message vous me parlez des jours fériés. Or, la formule que vous me présentez (avec JOURSEM) c'est pour trouver les week-end.
        Pour les jours fériés, c'est la fonction NB.SI.ENS qu'il faut utiliser.
        Le pb se situe avec la couleur des week-end ou des jours fériés ?

      • n.teillard
        12/10/2017 @ 12:58

        Oui excusez-moi je me suis mal exprimé, c'est bien pour trouver les week-end.
        Je suis pas à pas votre tutoriel : Création d’un calendrier automatique

      • Frédéric LE GUEN
        12/10/2017 @ 13:27

        Donc il n'y a pas de problème.
        Si vous avez bien construit la ligne contenant les dates 01 lun, 02 mar, ..... le test fonctionne. Il faut que ça soit bien des dates (c'est-à-dire des nombres) et pas du texte écrit en dur dans les cellules.
        D'après ce que je comprends, vous avez construit cette ligne en ligne 16 en commençant à la colonne D. Donc la mise en forme conditionnelle avec la fonction que vous m'avez envoyée doit parfaitement changer les couleurs quand le jour en ligne 16 à pour valeur 6 (samedi) ou 7 (dimanche)

      • Helene Gicqueau
        19/03/2021 @ 10:42

        Bonjour je n ai pas option pour intégrer le ruban comment faire

      • n.teillard
        12/10/2017 @ 13:43

        La ligne des dates est conforme.
        La première ligne renvoi à la ligne de la date
        Les suivantes sont au format date selon la formule : D16+1, D16+2
        Les dates sont conformes au calendrier.
        Mais la couleur ne change pas le samedi et le dimanche.
        Toute la zone sélectionné est en couleur.

        VRAI dim 01
        FAUX lun 02
        FAUX mar 03
        FAUX mer 04
        FAUX jeu 05
        FAUX ven 06

    • Joseph
      03/12/2017 @ 14:48

      Bonjour, j'ai eu le même problème, simplement parce que le n'avais pas intégré la ligne comprenant les dates dans la sélection.
      Dès que j'ai englobé la ligne avec le reste du tableau ça a fonctionné

      Reply

  71. contact4
    29/08/2017 @ 19:30

    Bonjour,

    Merci beaucoup pour cette vidéo, elle est très claire, cependant je sèche sur 2 points :

    - Malgré la formule que vous donnez pour la macro, les jours s'arrêtent tous au 28 du mois, quelque soit le mois ?!?
    - Je souhaiterais utiliser ce calendrier pour faire le planning de mes salariés, cependant avec la formule de la macro, lorsque j'écris dans les cellules de juillet 17 (par exemple), et que je change de mois, ce que j'avais écrit, disparaît (ok, c'est bien ce que l'on demande), mais en revanche lorsque je retourne sur juillet 17, tout est effacé également ?!?

    En vous remerciant du temps que vous prendrez pour me répondre.

    Reply

  72. Nicolas
    16/01/2017 @ 12:11

    Bonjour,
    Je vous remercie pour ce tuto vraiment parfait.
    Juste une question, lorsque je fais mes plannings, je remplis une case en couleur, mais lorsque je change de mois les couleurs restent. Est-ce possible de rendre la page vierge quand je change de mois?
    En vous remerciant d'avance

    Reply

    • Frédéric LE GUEN
      16/02/2017 @ 12:30

      Bonjour,
      Il faut dans ce cas remplacer ClearContents par Clear mais cela va également impacter les bordures

      Reply

  73. phil.perso
    28/12/2016 @ 11:43

    Bonjour,

    Quand je crée ma deuxième page pour les fériés et que je fais =ANNEE(C2+2016) il me met 1905...

    Je n'arrive pas à obtenir 2016 ???

    Pouvez-vous m'aider ?

    Reply

    • Frédéric LE GUEN
      29/12/2016 @ 19:43

      Pourquoi vous mettez la fonction ANNEE ? Faite juste C2+2016 et ça fonctionne

      Reply

  74. basso2024
    13/11/2016 @ 17:30

    Bonjour,

    j'ai un gros soucis avec la macro: je copie exactement soit la macro sur le site que celle de la vidéo (il y a comme même une légère différence), mais ou tous les données disparait ou le jours que j'aimerai faire disparaitre ... reste visible.

    Je ne comprends pas la raison.

    Pourriez-vous m'aider?

    Merci

    Reply

    • Frédéric LE GUEN
      14/11/2016 @ 15:09

      Envoyez moi votre fichier à webmaster@excel-exercice.com

      Reply

      • basso2024
        14/11/2016 @ 21:15

        Bonjour,

        c'est fait. Merci de l'aide

        Luca

    • Fabien Dardillac
      17/02/2017 @ 16:19

      Bonjour,

      J'ai exactement le même soucis. Pourriez-vous expliquer la solution que vous avez préconisé s'il vous plait ?

      Merci d'avance,

      Fabien

      Reply

      • Frédéric LE GUEN
        17/02/2017 @ 18:30

        Bonjour,

        Idem, envoyez moi votre fichier pour que je vois/trouve le problème.

  75. Vincent Debever
    11/11/2016 @ 18:22

    Bonjour,

    Merci pour ce tuto, je n'ai pas eu de problème jusqu'à la macro. En effet, lors que je copie le code que vous avez mis pour masquer ou non les colonnes, la macro fonctionne bien mais réduit l'ensemble des mois à 28 jours... Lorsque je passe à un autre mois ou une autre année, les dates supérieures (29, 30, 31) ne sont pas affichées, le nouveau tableau ne se met pas à jour. Je dois ouvrir Visual Basic pour cliquer sur la petite flèche verte (Exécuter Sub) pour qu'il puisse être mis à jour. Pourquoi mon tableau n'est pas automatiquement mis à jour ?

    Merci d'avance pour votre réponse

    Reply

    • Frédéric LE GUEN
      13/11/2016 @ 12:13

      Bonjour,
      Il doit y avoir un décalage entre les valeurs de la boucle For / Next et les numéros de colonnes.
      Vérifiez que la première valeur de votre colonne corresponde bien à la colonne qui représente le 28ème jour.

      Reply

  76. MPRT
    25/02/2016 @ 14:02

    Si ce qu'on écrit pour le mois de janvier se retrouve dans le mois de mars et que cela ne peut pas être modifié, je ne comprends pas à quoi sert cette liste déroulante alors ?

    Reply

    • Frédéric LE GUEN
      25/02/2016 @ 14:32

      Le tableau doit se remettre à jour automatiquement grâce à l'instruction
      Range("B6:AF13").ClearContents tel que c'est indiqué dans le code

      Reply

  77. DomS
    24/02/2016 @ 12:51

    Bonjour,
    superbe ce programme de calendrier automatique! Juste une question : J'aimerai faire un calendrier montrant le tournus sur 3 semaines pour 3 groupes. Ex. groupe 1 semaine du lundi 22.02 au dimanche 28.02, Groupe 2 du lundi 29.02 au dimanche 06.03 et groupe 3 du lundi 07.03 au dimanche 13.03, puis de nouveau le groupe 1. Comment faire?

    Reply

  78. MPRT
    23/02/2016 @ 14:13

    Bonjour,
    Je suis vraiment novice en ce qui concerne Excell ... et j'ai le même problème qui a déjà été mentionné (lorsque je remplie le mois de février les données s'enregistrent pour les autres ois alors que je veux qu'ils restent vierge). J'ai essayé d'appliquer vos différentes réponses mais j'ai besoin d'une réponse aussi détaillé que le tuto au final pcq 'rajouter une commande dans la macro' je ne vois vraiment pas ....

    Merci d'avance de votre temps et patience.

    Reply

  79. COMMY
    23/02/2016 @ 10:30

    Bonjour,

    J'ai un problème avec le tableau. Apres l'avoir réaliser correctement, je n'arrive pas à modifier le contenu des cellules sans que cela ne se répercute et s'affiche sur le calendrier des autres mois. Que faire pour que le contenu soit dissocié par mois?
    Merci

    Reply

    • Frédéric LE GUEN
      24/02/2016 @ 21:01

      Bonjour,
      Le tuto explique comment changer automatiquement l'affichage rien de plus, ce que vous voulez c'est conserver les précédentes valeurs. Or ceci est une base de données (trop compliqué et trop long à expliquer dans un tuto).

      Reply

  80. CCGaybeul
    17/02/2016 @ 00:27

    Bonjour à tous,

    Merci beaucoup pour le tuto, tout se passe bien avec Excel !!

    Mais maintenant, je rencontre un problème avec Google Sheets dans le quelle j'ai importé mon fichier excel, jue me retrouve avec une erreur avec la commande "=DATE(A2+2014;A1;1)" Erreur : le parametre 2 de la fonction DATE attend des valeurs du type nombre.Mais Février est du type texte et ne peut pas être forcé pour être un nombre.
    Une idée svp???
    Merci d'avance pour votre intérêt à mon problème

    Reply

    • Frédéric LE GUEN
      24/02/2016 @ 21:02

      Bonjour,
      Je ne n'utilise jamais Google Sheet par ce qu'Excel est également gratuit depuis son compte Onedrive (www.office.com). Et donc, toutes les fonctions Excel sont justes.

      Reply

  81. zamponi84Jean-Pierre
    14/02/2016 @ 18:02

    Bonjour,

    Lorsque je passe d'un mois à un autre, le contenu de mon planning, reste. Or, je souhaite pouvoir le modifier d'un mois à l'autre, tout en mémorisant les anciens mois ; d'où son intérêt.

    Il existe un autre programme ?

    Reply

  82. Germain Germain
    14/02/2016 @ 14:51

    Bonjour
    Une idée
    Pour éviter le VBA

    Dans les cellules AC1, AD1, AE1,AF1 je récupère le numéro du mois correspondant aux cellules AC6, AD6, AE6, AF6 par la fonction =MOIS(AC6), MOIS(AD6) etc.
    Dans les mises en forme conditionnelle pour la plage AD6:AD12* (*selon le nombre de lignes)
    =$AC$1$AD$1 qui s'applique à =$AD$6:$AF$12
    pour la plage AE6:AE12
    =$AC$1$AE$1 qui s'applique à =$AE$6:$AF$12
    pour la plage AF6:AF12
    =$AC$1$AF$1 qui s'applique à =$AF$6:$AF$12

    Avec Couleur blanche pour remplissage et caractères.

    Salutations

    Reply

  83. Rico
    11/01/2016 @ 11:48

    Bon, j'ai tenté ça, mais il plante sur la 4ème ligne :

    Sub Masquer_Jour()
    Dim Num_Ro As Long
    For Num_Ro = 32 To 35
    If Month(Cells(4, Num_Ro)) Cells(1, 1) Then
    Rows(Num_Ro).Hidden = True
    Else
    Rows(Num_Ro).Hidden = False
    End If
    Next
    Range("A4:K34").ClearContents
    End Sub

    voilà, si quelqu'un veut bien me filer un coup de main...

    Reply

  84. Rico
    08/01/2016 @ 11:13

    Bonjour,
    le tuto est super, mais je bug un peu sur module pour masquer les dates hors mois, le soucis c'est que mon tableau est à l'envers (dates de A4 à A34) et que mon code bloque sur le changement de "colonne" à "lignes" :
    Sub Masquer_Jour()
    Dim Num_Li As Long
    For Num_Li = 30 To 32
    If Month(Cells(6, Num_Li)) Cells(1, 1) Then
    Lignes(Num_Li).Hidden = True
    Else
    Lignes(Num_Li).Hidden = False
    End If
    Next
    Range("A4:K34").ClearContents
    End Sub

    Les lignes je les ai appelé "Lignes" ou "Lines" ou "Li" et il bloque toujours dessus. Quelqu'un sait comment m'aider ?

    Reply

  85. DGDF
    16/12/2015 @ 22:31

    Bonjour, j'ai bien respecté tout le tutoriel et merci beaucoup !
    Cependant, j'aimerais pouvoir rentrer des données différentes pour chaque mois mais ça ne semble pas possible car si j'ajoute la ligne Clear content, la donnée disparaît dès que je change de mois et si je ne rentre pas cette ligne, les données sont répétés pour chaque mois de chaque année.
    Comment faire?

    Merci par avance

    Reply

  86. Anonyme
    08/12/2015 @ 15:24

    Merci pour ce superbe tutoriel, tout cela est bien expliqué.

    Reply

  87. Yannick
    04/12/2015 @ 18:52

    Bonjour,

    Tout d'abord merci infiniment pour ce tutoriel très utile et intéressant !

    Je suis parvenu à réaliser l'ensemble du calendrier mais je rencontre un problème avec la macro : celle-ci fonctionne bien mais réduit l'ensemble des mois à 28 jours... Je passe d'un tableau où figurent les dates supérieures au 29 (pour février 2016) et au 30 (pour tous les mois qui ne comptent que 30 jours) à un tableau où tous les mois, qu'ils fassent 29, 30 ou 31 jours se voient réduits à 28 jours... Une idée de la cause de ce problème et de sa solution ?

    Par avance, un grand merci pour votre aide !

    Reply

    • Yannick
      07/12/2015 @ 23:39

      Problème réglé, merci et désolé !!! 🙂

      Reply

      • DGDF
        16/12/2015 @ 18:38

        Bonjour Yannick, 🙂 Comment as tu réglé ce problème ? merci par avance

  88. Delf
    03/12/2015 @ 16:35

    Bonjour
    Ce tuto est magique ! Mais sur mon fichier Excel, les conditionnelles pour mettre les WE et les jours fériés en couleur ne fonctionnent pas. En mettant les jours fériés sur une autre feuille il refuse de prendre en considération ma demande. Du coup ma grille devient entièrement orange selon le mois, mais pas uniquement les WE

    Reply

  89. Marc
    03/12/2015 @ 13:28

    Bonjour, j'aimerais savoir s'il est possible de laisser en mémoire le contenu des cases pour chaque mois. Je m'explique: l'employé N°1 prends congé le 15 du mois suivant. Je le note au mois suivant et lorsque je reviens sur le mois actuel, l'annotation est partie--> super! Mais lorsque je reviens sur le mois suivant, elle est aussi partie et j'aurai voulu qu'elle reste.

    Reply

  90. Frédéric LE GUEN
    27/11/2015 @ 23:02

    Super réponse (oui, je sais j'ai des pbs de guillemets sans comprendre d'où ça vient)
    Veux-tu participer à la rédaction des articles ?

    Reply

    • Smedoc
      18/12/2015 @ 02:02

      Salut. Désolé pour la réponse tardive et comme tu as pas de lien Contact...je vais raconter ma vie ici....

      En ce qui concerne ton site et les guillemets... Je pense qu'un petit tour dans tes meta règleront ton souci

      Sur ton site ici tu déclares

      et une localisation en fr

      sur mes sites

      Et mes guillemets restent des guillemets.

      En ce qui concerne la rédaction des postes..J'ai bien peur de ne plus avoir assez de temps déjà pour moi. Il est 2h du mat et je termine à peine la maintenance d'un de mes sites et il m'en reste deux encore à faire. Mais je ferais un petit tour de temps en temps par ici..

      Reply

  91. Anonyme
    27/11/2015 @ 18:03

    Sub Masquer_Jour()

    Dim Num_Col As Long
    For Num_Col = 28 To 32
    If Month(Cells(6, Num_Col)) Cells(1, 1) Then
    Columns(Num_Col).Hidden = True
    Else
    Columns(Num_Col).Hidden = False
    End If
    Next

    End Sub

    Comme ca sa fonctionne

    Reply

  92. Vimal
    25/11/2015 @ 16:15

    La macro fonctionne bien mais je ne comprends pas pourquoi la donnée que je rentre pour une journée s'efface lorsque je change de mois ou même d'année ?

    Reply

  93. Didic974
    21/11/2015 @ 23:22

    Bonjour
    Merci pour ce tuto
    J'ai eu un petit soucis pour la commande de macro mais résolu grace aux messages déja poste
    Par contre je me rends compte qu'en passant à 2016 les jours fériés ne se reproduisent pas est ce normale ou j'ai fait une mauvaise manip
    Merci

    Reply

    • Didic974
      22/11/2015 @ 10:47

      Par contre je disais que j'avais pas de soucis avec la macro ben en fait si les données ne s'effacent pas non plus

      Reply

  94. Ran
    20/11/2015 @ 14:22

    Bonjour,

    J'ai le même soucis, si j'écris quelque chose dans une cellule du calendrier, l'info est répétée sur tous les mois et les années. Avez-vous trouvé une solution?

    Merci,

    Reply

    • Anonyme
      25/11/2015 @ 16:10

      Tu dois rajouter cette ligne :
      Range("B7:AF13").ClearContents

      Reply

      • Vimal
        25/11/2015 @ 16:24

        Mais le problème qui se pose est que la donnée que tu rentres pour une journée ne s'affiche plus une fois que tu changes de mois

  95. Alban
    20/11/2015 @ 10:11

    Bonjour Frédéric,

    Tout d'abord, merci beaucoup pour ce tuto, le calendrier mis en place répond totalement à ce que je recherchais.

    J'ai un souci avec la macro copié de votre site, elle n'a pas l'air de vouloir fonctionner.

    J'ai la ligne Range(« B6:AF13 »).ClearContents qui s'affiche en rouge et quand je veux exécuter la macro, Visual Basic m'affiche ceci : Erreur de compilation: Erreur de syntaxe.

    Est-ce que j'ai oublié une étape ?

    Reply

    • Alban
      20/11/2015 @ 10:47

      Je viens de trouver la solution à mon problème en supprimant la ligne qui me posait soucis, à savoir Range(« B6:AF13 »).ClearContents

      Encore merci pour ce tuto

      Reply

      • Frédéric LE GUEN
        22/11/2015 @ 18:05

        Il n'y a aucune raison que ça plante à cette instruction. Il faut bien utiliser le séparateur " (touche 3) pour entourer les références des cellules.

  96. Frédéric LE GUEN
    16/11/2015 @ 19:01

    Bonjour,
    Il faut rajouter la ligne de commande suivante dans la macro
    Range("B6:AF6").ClearContents

    Reply

  97. Naj
    10/11/2015 @ 09:21

    Bonjour,

    J'ai suivi toutes les étapes et tous fonctionne correctement mis à part sur la notation.
    Lorsque je rentre des informations sur le mois de Novembre de l'année 2015 ces mêmes informations apparaissent sur les autres mois et année en gardant la référence de la case.
    Quelqu'un aurait eu le même soucis ?

    Merci

    Reply

  98. Audrey
    29/10/2015 @ 09:57

    Bonjour,

    après de nombreuse tentatives, je ne parviens pas à faire fonctionner ma mise en forme conditionnelle pour les jours fériés.
    A ne pas y comprendre pourquoi...
    J'ai pourtant vérifié de nombreuses fois et essayé plusieurs choses différentes mais rien n'y fait.

    Si vous avez une petite idée d'où peut provenir le problème (mise en forme d'une cellule par exemple), je suis preneuse !

    Dans l'attente d'un retour de votre part,
    J'espère pouvoir échanger avec vous rapidement.

    Bien cordialement,
    Audrey.

    Reply

  99. Maquaire léa
    28/10/2015 @ 15:46

    Super ça m'a énormément aidé!
    Je créée un calendrier pour la gestion des congés d'une équipe. J'aimerais non pas pouvoir le faire au mois, mais à la semaine. Par exemple j'aimerais pouvoir sélectionner la semaine n°3 de 2016 et ne voir apparaitre la plage du 18 janvier au 24 janvier. Est ce possible ?

    J'ai commencer par faire un menu déroulant avec des numéros de semaines (jusqu'à 52). Mais je ne sais pas quel formule écrire pour ensuite l'afficher à la place de tous les jours du mois.

    Merci

    Reply

  100. soukaina
    24/10/2015 @ 11:47

    aider moi SVP ce code ne marche pas pour moi

    Reply

    • Anonyme
      27/10/2015 @ 01:27

      Celui ci fonctionne-t-il?
      Dim Num_Col As Long
      For Num_Col = 30 To 32
      If Month(Cells(6, Num_Col)) Cells(1, 1) Then
      Columns(Num_Col).Hidden = True
      Else
      Columns(Num_Col).Hidden = False
      End If
      Next
      End Sub

      Reply

  101. Claude
    22/10/2015 @ 22:52

    Re Bonsoir,
    Je pense que j'ai trouvé l'erreur dans le code. C'est au niveau de la plage de cellules. Ce n'est pas B6:AF13 mais B7:AF13. Après modification la macro marche très bien.

    Reply

  102. Claude
    22/10/2015 @ 22:38

    Bonsoir,
    Merci pour le tuto qui m'a été très utile....jusqu'à la macro. J'ai recréé le même tableau que dans le tuto et exécuté la macro. Cela a bien supprimé des colonnes pour le mois de février par exemple mais ça a aussi supprimé tous les jours (du 1er au 31). Conséquence, quand on veut rechanger le mois, il n'y a plu de référence de date et la macro ne fonctionne plus. Bien que vous confirmiez qu'elle fonctionne, n'y aurait-il pas une erreur quelque part? C'est ma première question. La seconde est que le calendrier que je veux créer est vertical et je veux cacher des lignes au lieu des colonnes. Que faut-il changer dans le code pour cacher des lignes? J'ai Excel 2010 et vous l'avez compris, je suis nul en VBA.
    Merci d'avance pour vos réponses

    Reply

  103. ARNAUD
    20/10/2015 @ 01:23

    Merci sincèrement, des articles comme celui ci simplifient tant la vie.

    Reply

  104. Mawine
    16/10/2015 @ 14:55

    Bonjour

    Si on remplit des choses dans le calendrier pour le mois d'octobre et qu'on va sur novembre, on retrouve les mêmes commentaires d'un mois à l'autre, il n'est pas possible de rendre le calendrier vide d'un mois à un autre?

    Merci d'avance pour votre aide

    Reply

    • Pesi
      16/11/2015 @ 13:24

      Bonjour, est-ce que tu as pu trouver une solution ? J'ai le même problème que toi.
      Merci d'avance de votre aide.

      Reply

  105. Audrey
    15/10/2015 @ 10:46

    Bonjour je rencontre un problème avec les jours fériés. Tout s'enregistre correctement mais le résultat n'est pas perceptible. Aucun changement sur le tableau.

    ps: vos données de la base B6:AF13 correspond pour moi à I18:AM18.

    Merci de m'apporter vos lumières.
    Cdt,
    Audrey.

    Reply

  106. Buydut
    09/10/2015 @ 14:34

    Bonjour,
    Je voudrais créer un calendrier automatique pour 2016, reprenant les mois en colonnes. J'ai incrémenté les cellules. Donc, dans la colonne de février, la colonne se termine par ... le 1er et le 2 mars. Comment faire pour que ces deux cellules soient vides?
    Merci d'avance si vous avez une solution.

    Reply

  107. james Bond 007
    23/09/2015 @ 12:48

    qui peut me passer le tableau s'il vous plait ?

    Reply

  108. MisterM
    23/09/2015 @ 12:47

    bonjour je rencontre un problème pour mettre les jour férié et pour les mois comme février il me continue le moi avec 01 02 03. j'ai suivit tous qu'il y'avait de marquer mais pas moyen.

    Reply

  109. khadija
    26/08/2015 @ 10:57

    parfait. je vous remercie

    Reply

  110. Thebaud
    21/08/2015 @ 14:30

    Très bon tuto sauf pour la macro après l'avoir affectée toutes les cases du calendrier se vident et les mises en formes conditionnelles disparaissent.
    Quelqu'un peut il résoudre ce problème svp??

    Reply

  111. Damien
    07/08/2015 @ 11:37

    Bonjour,
    Super tuto par contre je rencontre quelques problèmes.

    1) Lorsque je veux mettre le titre dynamique il met met qu'il ne reconnait pas la fonction.
    2) Lorsque je met le code visual basic et que je compile et que j'associe bhen il me met une erreur de synthaxe quand je change de date.
    3) Pour certains mois les dates ne s'affiche pas et me met "#######"

    Merci beaucoup !

    Reply

  112. Betty
    05/08/2015 @ 13:55

    Bonjour,

    Je rencontre un problème au niveau des dates, il me fait commencer le mois d'aout un vendredi, or ce doit être un samedi. D'où vient l'erreur ? Merci d'avance

    Reply

    • Betty
      05/08/2015 @ 14:02

      Ok, je n'avais pas lu jusqu'à la fin .. --'

      Reply

  113. Alexandra
    22/07/2015 @ 13:08

    Merci pour le tuto !
    Par contre, petit bémol... Le calendrier rencontre une limite lorsque le mois concerné ne possède que 29 ou 30 jours... Les jours du mois suivants s'ajoutent... Pas top !

    A moins que je n'ai fais une erreur sans m'en apercevoir >.<

    Reply

    • Frédéric LE GUEN
      23/07/2015 @ 09:40

      Rien d'anormal, dans la vidéo c'est d'ailleurs comme celà que ça fonctionne. Par contre, il faut terminer le travail en ajouter les 5 lignes de codes pour masquer les jours du mois suivant

      Reply

      • Frey Corinne
        25/08/2015 @ 16:28

        Corinne
        merci de nous donner ces lignes de code pour résoudre les problèmes de jour 29 ou 30 car sur la video ce n'est pas lisible

  114. GUEDON
    19/07/2015 @ 17:46

    Bonjour et merci pour ce super tuto ; Perso je rencontre un problème quand je rentre la règle =NB.SI(Feuil2!$B$3:$B$15;B$6)>0 pour les jours fériés , Excel me dit : " vous ne pouvez pas faire référence à d' autres feuilles ou classeurs pour les critères de mise en forme conditionnelles "

    Reply

  115. Destin
    19/07/2015 @ 10:03

    merci ce tuto m'a énormément aidé.

    Reply

  116. Anonyme
    17/07/2015 @ 11:17

    Parfait ! Merci

    Reply

  117. Laura
    10/07/2015 @ 16:45

    Merci beaucoup pour ce tuto, juste un soucis au niveau de la macro, j'ai corrigé les erreurs de copier-coller (guillements) mais il ne semble pas appliquer la règle ... Mais encore merci, très clair pour une non-experte!

    Reply

  118. Anonyme
    01/07/2015 @ 16:41

    Merci beaucoup, les explications super clair mais j'ai toute fois un problème avec les jours 31, ils s'affichent pour chauques mois, du coup chacunes de mes dates ont le mauvais jour de semaine.
    Merci encore pour votre aide 🙂

    Reply

  119. chaden
    22/06/2015 @ 14:34

    vraiment mille merci ☺

    Reply

  120. Anonyme
    19/06/2015 @ 14:52

    excellent tuto

    Reply

  121. scherrer jerome
    10/06/2015 @ 20:07

    Bonjour,
    Merci encore pour ce tuto !!!! j 'aurais juste besoin d'une astuce, lors d'un changement de mois mon texte reste dans les cases et j aimerai qu'elle soit vierge à chaque mois.
    cordialement

    Reply

    • Frédéric LE GUEN
      11/06/2015 @ 08:06

      Les cellules ne peuvent pas être vierge car toute la construction du calendrier repose sur les cellules A1 et A2.
      Par contre, si on met la couleur de texte de ces cellules à "Blanc" alors les valeurs en A1 et A2 sont invisibles

      Reply

    • Naj
      10/11/2015 @ 09:29

      J'ai le même soucis avez vous trouvé une solution ?
      Merci

      Reply

  122. cammas
    03/06/2015 @ 10:03

    Bonjour
    Je voudrais coller mon cycle de travail sur le calendrier (6 jours de w et 6 de repos) en remplaçant "employé 1" par "Matin" employé 2 -Matin; employé3 et 4 après midi; et employé 5 et 6 nuit et faire que tout celà se décale en faisant varier les mois.
    Pouvez-vous m'aider. je ne sais pas comment m'y prendre
    Merci

    Reply

  123. Divine mankanguila
    26/05/2015 @ 15:35

    Merci beaucoup

    Reply

  124. Anonyme
    12/05/2015 @ 14:41

    Merci pour ce site !

    Reply

  125. Mel
    11/05/2015 @ 15:35

    Bonjour,

    Merci pour ce tuto, c'est très bien expliqué ! Super 🙂
    J'ai toutefois une question : est-il possible de modifier l'intérieur du calendrier sans que cela ne change pour les autres mois ? Je souhaiterai renseigner pour chacun des employés le chantier sur lequel ils se trouvent chaque jour. Ex : Pour le mois de Mai l'employer 1 est sur le chantier "jaune" à telle et telle date, "bleu" à d'autres dates et ainsi de suite… Mais est il possible de passer au mois de Juin avec un calendrier "vierge" tout en gardant le planning du mois de Mai enregistré ?

    Merci par avance 😉

    Reply

    • Frédéric LE GUEN
      11/05/2015 @ 18:45

      Alors c'est possible mais avec une macro plus complexe. Il faut bien voir qu'ici ce n'est pas une base de données qui conserve l'historique des informations. C'est juste un tutoriel qui montre comment mettre en forme automatiquement un calendrier avec les dates spécifiques. Pour faire une vraie base de données c'est bcp plus de travail à effectuer (qques jours de programmation)

      Reply

  126. bartho
    05/05/2015 @ 15:33

    La macro ne semble pas fonctionner en l'état (pb de caractères mal interprété)

    Reply

    • Frédéric LE GUEN
      08/05/2015 @ 14:42

      Si si, la macro a été testée plusieurs fois et elle fonctionne

      Reply

  127. kondor7
    21/04/2015 @ 19:42

    J'obtiens un message d'erreur à l'entrée de la formule usant la fonction texte
    = »Période du « &TEXTE(DATE(A2+2014;A1;1); »jj mmmm aaaa »)& » au « &TEXTE(DATE(A2+2014;A1+1;1)-1; »jj mmmm aaaa ») »

    Pouvez vous m'éclairez ?

    Reply

    • kondor7
      21/04/2015 @ 20:07

      même mis sous cette forme je précise :

      = "Période du"&TEXTE(DATE(A2+2014;A1;1);"jj mmmm aaaa ")&"au"&TEXTE(DATE(A2+2014;A1+1;1)-1;"jj mmmm aaaa")"

      Reply

      • kondor7
        21/04/2015 @ 20:09

        Le site modifie les guillemets. Même en mettant des apostophes je voulais dire

      • corinne
        30/06/2015 @ 11:02

        IL SUFFIT DE SUPPRIMER LE DERNIER GUILLEMET
        = « Période du »&TEXTE(DATE(A2+2014;A1;1); »jj mmmm aaaa « )& »au »&TEXTE(DATE(A2+2014;A1+1;1)-1; »jj mmmm aaaa »)

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.