MFC sur beaucoup de feuilles dans un classeur Excel

Bonjour,

J'ai besoin de votre expérience car mes connaissances sont arrivées à bout.

En résumé j'ai réalisé un calendrier annuel et j'ai fais en sorte que les lignes correspondantes à des dimanche et des jours fériés soient coloriées.

J'ai 2 MFC à réaliser dans un classeur contenant 24 feuilles. Faut-il passer par une macro ?

Les MFC se trouvent dans la feuille "janv" et je voudrais qu'elles se repliquent sur les autres feuilles.

Une autre chose que je n'ai pas réussi à faire et si cest possible c'est d'attribuer le numéro de semaine correspondant aux dates. Par exemple pour la 1ere semaine de janvier 2024 = semaine 1 du lundi 1 au dimanche 7. Existe t-il une formule afin d'appliquer les numéros de semaines automatiquement.

Le fichier joint n'est pas l'original car ce dernier est sur un autre PC. Donc j'aurais besoin en quelque sorte d'un exemple.

Merci d'avance pour votre aide

Cdt

Bonsoir,

une proposition avec simplification de votre fichier :
Mise en place d'une feuille "Paramètres", avec une cellule nommée "AN" dans laquelle vous indiquez l'année voulue.
Une feuille "Janvier" avec en B4 la formule : =Date(AN;1;1)
Le reste de la colonne avec une égalité cellule du dessus +1 jusqu'à la ligne 34 pour gérer les 31 jours.
3 mises en formes :
- "transparent" pour faire disparaitre les jours inutiles de la feuille selon le mois
- le rouge pour les jours fériés avec un test "OU" sur la plage de cellule nommée "Fériés"
- le bleu pour les dimanches avec votre formule.

Et voilà c'est re copiable !

Clic droit sur le nom de l'onglet de la feuille "Janvier", "Déplacer ou copier...", "(en dernier)", créer une copie, [OK].
renommez cette nouvelle feuille en "Février", allez en cellule B4 et modifiez le "1" du mois en "2" : Date(AN;2;1), la feuille affiche les 29 jours pour 2024 !

Répétez l'opération en changeant la référence du mois sur les feuilles.

Le fichier :

@ bientôt

LouReeD

Merci LouReed,

Ton fichier est très bien fait et certainement moins compliqué que le mien.

Ce qui m'embête c'est que mon calendrier 2024 est déjà fait jusqu'à décembre et que je voudrais juste appliquer mes MFC identiques sur toutes mes feuilles.

Sinon j'en refais si ce n'est pas possible ou je ferais feuille par feuille.

Merci encore de ton aide

Cdt

bonjour LouReed, dgedge,

un essai

Sub MFC()
     Sheets("Janv").Range("B4:N34").Copy
     For Each sh In ThisWorkbook.Worksheets
          Select Case LCase(sh.Name)
               Case "janv", "jf"
               Case Else
                    sh.Range("B4").PasteSpecial xlFormats
          End Select
     Next
End Sub

EDIT : cette macro fait exactement ce que mafraise et Eriiic font manuellement

Bonjour à tous,

à la main ça prend 1 min...
Tu copies janv!B4:N34, tu sélectionnes la 1ère feuille, shift-clic sur la dernière pour faire une sélection multiple, clic-droit sur B4 et tu choisis Coller Mise en forme.
Plus long à écrire qu'à faire
eric

Bonjour à toutes et tous, bienvenue dgedge ,

Ma p'tite manière de faire :

Sur la feuille janvier, une formule en B5 à recopier jusqu'en B34 : =SI(B4="";"";SI(MOIS(B4+1)<>MOIS(B$4);"";B4+1))

  • puis une mise forme de la feuille janvier (B4 à N34)
image
  • copie de la plage B4 à N34 de la feuille Janvier
  • sélection des feuilles février à décembre (mai sur l'exemple joint)
  • sélection de la cellule B4
  • coller les formats (voir l'animation. dans le .zip)
13mfc-2.zip (1.04 Mo)
nota : pour sélectionner les feuilles de février à décembre (si elles se suivent), cliquer sur l'onglet "février" puis enfoncez la touche Maj et cliquer sur l'onglet "décembre". Vous pourrez de cette manière aussi recopier la plage B5 à B34 de janvier sur les onze autres onglets.

Rem : en général le lundi de Pâques est férié, non ?

Bonjour,

Merci tout le monde pour votre aide. J'ai essayé vos conseils sur mon classeur test et c'est top.

Eric merci pour cette methode toute simple que je ne connaissais pas.

Cet après-midi je vais essayé cela sur mon classeur Excel originel?

Cdt

Bonjour,

Je me permet de solliciter à nouveau votre aide concernant mon fichier Excel.

Lorsque je change l'année sur ma feuille "janvier", toutes les feuilles se mettent à jour concernant les dates et les jours fériés ça c'est ok.

Le problème qui se pose c'est que les formules ne s'appliquent pas dans les lignes modifiées.

Par exemple le dimanche et les jours fériés je n'ai pas besoin de formules dans ces lignes mais elles restent. Par contre j'ai besoin des formules du lundi au samedi, et du coup ça correspond plus.

Comment puis-je régler ce problème ?

Merci d'avance

Cdt

Voici le fichier original:

17suivi-conso-2026.zip (263.57 Ko)

colonne E de la feuille "Janvier", tous les lundis-vendredis sauf jours fériés

15suivi-conso-2026.zip (263.46 Ko)
=SI(SERIE.JOUR.OUVRE.INTL(B5-1;1;1;Fériés)=B5;G5+I5+K5+M5+O5;"")

Bonjour Bart,

Merci pour ton partage.

Après l'avoir bien regardé, si je comprends bien ce que tu as fais, il n'y a que sur la colonne E de "janvier" que ça fonctionne. Mais j'aimerais que ça fonctionne sur toutes les colonnes où il y a des formules de la feuille en question. Donc est-ce que ça signifie que je dois prendre ta formule pour l'adapter aux autres colonnes ?

Je vais être exigeant mais j'aimerai aussi que ce soit du lundi au samedi et non du lundi au vendredi.

En tout cas merci pour ton aide déjà.

Cdt

re,

uniquement le dimanche , c'est 11 au lieu de 1

=SI(SERIE.JOUR.OUVRE.INTL(B5-1;1;11;Fériés)=B5;G5+I5+K5+M5+O5;"")

Et oui, je n'ai changé qu'une seule colonne ..., c'est aussi le weekend pour moi Et pour la ligne 3 avec ses cellules fusionnées en A3, il faut aussi changer le B en A !!!

Bonjour Bart,

Merci pour tes explications. Si t'avais été sympa tu m'aurais fais le classeur en entier

C'est déjà très sympa de m'aider. Je vais essayer ça tout à l'heure

Cdt

re,

je suis bénévole gratuit, donc je ne dois pas être sympa Autrement, j'aurais enlever toutes ces feuilles en créant une seule pour l'année complète.

Re Bart,

Je te taquinne. C'est très sympa d'avoir des connaisseurs comme vous qui puissent aider un "ignorant" comme moi.

Tu me dis que tu aurais enlevé toutes les feuilles. Cela signifie quoi ? Qu'il est possible de faire une seule feuille et qu'à la fin du mois une autre se génère automatiquement ?

Faut pas me pousser dans la curiosité

Cdt

re,

non, on fait une feuille pour toute l'année et puis on filtre par mois pour voir qu'un mois. On n'a qu'une feuille à maintenir, donc risque de faux manip est minimal. On filtre les cellules A3 et A375 (éventuellement à l'aide d'une macro.

C'est plutôt ajuster votre attitude, mais cela vaut la peine.

Je n'ai pas encore modifier les formules. Eventuellement, un ou plusieurs TCD sont possible.

15suivi-conso-2026.xlsx (150.66 Ko)

Bonjour Bart,

Désolé j'ai mis du temps à répondre. Pas mal occupé.

Ton dernier fichier, pour moi c'est du high level moi être petit scarabé à côté du maitre

Merci beaucoup

Re,

Je viens de regarder le fichier et j'aurais encore une petite amélioration à apporter si vous pouvez m'aider svp.

Par exemple au mois de mai(puisqu'il y a des fériés), et prenons la colonne G par exemple, j'aimerai inclure dans la formule le fait que si le lendemain c'est un jour voire 2 jours feriés ou un dimanche, que la formule aille me chercher la valeur notée le surlendemain.

Voici la formule dans ma cellule en semaine : =SI(SERIE.JOUR.OUVRE.INTL(B5-1;1;11;JF)=B5;SI(F6=0;F6-F5);"")

Je voudrais rajouter la/les condition que si le lendemain c'est dimanche, alors ce n'est plus (F6=0;F6-F5) mais alors (F6=0;F7-F5) et même (F6=0;F8-F5) si le dimanche est suivi d'un jour férié ou si il y a 2 jours fériés dans la semaine.

J'ai fais des tentatives avec des SI ET, OU mais je n'y arrive pas.

Merci d'avance pour votre aide

Cdt

re,

le prochain jour ouvrable de B5 est =SERIE.JOUR.OUVRE.INTL(B5;1;11;Fériés)

le nombre de jours entre B5 et le prochain jour ouvrable est alors =SERIE.JOUR.OUVRE.INTL(B5;1;11;Fériés)-B5 et vous voulez décalez la colonne précédante pour calculer une différence

Voir cellule H6 (dans ma feuille "année") (avec de saut de lignes)

=SI(DECALER(G6;SERIE.JOUR.OUVRE.INTL(C6;1;11;Fériés)-C6;;;)=0;
"-";
DECALER(G6;SERIE.JOUR.OUVRE.INTL(C6;1;11;Fériés)-C6;;;)-G6)

ligne 1 = si la valeur dans la colonne G pour le prochain jour ouvrable est zéro

ligne 2 = mettez "-"

autrement ligne 3 = la valeur G de ce jour ouvrable (=décalage de G6 pour ces x jours) - G6

14suivi-conso-2026.xlsx (150.96 Ko)

Bonjour Bart,

Merci pour tout ce que tu as fais, t'es génial.

Est-ce qu'il existe des formations gratuites afin de se perfectionner en Excel ?

Cdt

Bonsoir,

Ah ce Bart, toujours aussi efficace !

Bonne soirée à vous.

@ bientôt

LouReeD

Rechercher des sujets similaires à "mfc beaucoup feuilles classeur"