colorer les week ends et jour feriés grâçe à vba?

M

macpoy

Guest
bonsoir le forum, bonsoir très cher Excelliens,
depuis 15h cet AM, je cherche le moyen de colorer les samedi, dimanche et jours feriés sur la feuille de mon planning, mais autrement que par la mise en forme conditionnelle.
car il arrive parfois que je soi obliger de mettre une couleur ces jours là, et comme tous le monde le sait, c'est la couleur de la MFC qui est "prioritaire"!!!
d'avance un grand merci à qui me trouvera la macro.
bon excel @ +
 

Pièces jointes

  • WEcolores.zip
    4.3 KB · Affichages: 192
  • WEcolores.zip
    4.3 KB · Affichages: 200
  • WEcolores.zip
    4.3 KB · Affichages: 215
M

macpoy

Guest
Re tout le monde, ou personne !!!
j'ai trouvé un truc super sur le site de laurent longre.
voici le classeur en question qui répond à ma question.
Bon Excel à tous @ +
 

Pièces jointes

  • WEcolores.zip
    15.7 KB · Affichages: 725
  • WEcolores.zip
    15.7 KB · Affichages: 762
  • WEcolores.zip
    15.7 KB · Affichages: 836

l0l0tte

XLDnaute Junior
bonsoir mesdames et messieurs
Pouvez vous m aider svp a adapter ce code
-Je voudrai juste avoir le choix de l année (N), et ca me creerai un nouveau planning du 1 er jour du mois de decembre de l année N-1 jusqu'au dernier jour du mois de janvier de l'année N+1
et ce a partir de la case G16
-je desirerai egalement que toute la colonne ou il y a un samedi ou dimanche et jours feriés soit grisé
je vous remercie d avance
 

l0l0tte

XLDnaute Junior
bonsoir
c' est pas faux , ca ressemble foutrement a ca, mais j avoue que j 'y connais pas grand chose en vba
j' arrive un peu a adapter certains codes a ce que je veux faire mais la c est au dessus de mes moyens
le code c est le module 1
vous voulez bien m aider quand meme?
 

Pièces jointes

  • generation calandrier.xls
    54.5 KB · Affichages: 48

zebanx

XLDnaute Accro
Bonsoir Lolotte, bonsoir à tous,

Vous êtes sûre d'avoir besoin du VBA ?

Sur le site de Jacques BOISGONTIER il y a tout un tas d'exemples adaptés aux planning / calendrier sur présentation par mois / années avec une mise en forme conditionnelle adaptée sur les week-end et les jours fériés.

http://boisgontierjacques.free.fr/
aller dans dates / planning calendrier et charger à droite "calendrier".

Il y a beaucoup d'exemples, pour des recherches de ce type, cela devrait être ok.

++
 

Staple1600

XLDnaute Barbatruc
Bonjour à toi aussi zebanx ;)

Retrouvé dans mes productions d'antan
https://www.excel-downloads.com/threads/génération-calendrier.20011626/#post-20087560
Et adapté à la question du jour
VB:
Sub Calendrier()
Dim X&, i&, cal As Range, cell As Range
'le petit plus
ANNEE = InputBox("Choisir l'année du calendrier?", "Calendrier", Year(Date))
FD = CDate("1/12/" & ANNEE - 1): [G16] = FD: [G16:T16].DataSeries 1, 3, 3, 1
For i = 1 To 14
X = Day(DateSerial(Year(Cells(16, i + 6)), Month(Cells(16, i + 6)) + 1, 0))
Cells(16, i + 6).Resize(X).DataSeries 2, 3, 1, 1
Next
Range("G16:T47").FormatConditions.Add Type:=xlExpression, Formula1:="=ET(JOURSEM(G16;2)>5;G16<>"""")"
    Range("G16:T47").FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
    With Range("G16:T47").FormatConditions(1).Interior
        .PatternColorIndex = xlAutomatic
        .ThemeColor = xlThemeColorDark1
        .TintAndShade = -0.14996795556505
    End With
Range("G16:T47").FormatConditions(1).StopIfTrue = False
Range("G16:T47").Borders.LineStyle = 1
End Sub
 

l0l0tte

XLDnaute Junior
bonsoir
oui j avais deja envisagé le calandrier perpetuel avec les mfc mais seulement ca ne convient pas justement a cause des mfc .la couleur des mfc prennent le pas sur la couleur de fond des cellules.
je regarde un peu plus tard si le code fonctionne
merci beaucoup
 

Staple1600

XLDnaute Barbatruc
Re

@l0l0tte
A ton avis, penses-tu que je poste du code VBA sans le tester au préalable ? :rolleyes::D
Surtout que le dit code gît ici dans la poussière depuis 2015 et qu'il fonctionnait déjà à l'époque :)

Ma macro du message#7 se borne à faire ce que tu demandes (les jours fériés en moins)
-Je voudrai juste avoir le choix de l année (N), et ca me creerai un nouveau planning du 1 er jour du mois de decembre de l année N-1 jusqu'au dernier jour du mois de janvier de l'année N+1
et ce a partir de la case G16
-je desirerai egalement que toute la colonne ou il y a un samedi ou dimanche soit grisé
 

Staple1600

XLDnaute Barbatruc
Re

Et avec cette macro, quel est le taux de satisfaction ?
VB:
Sub Planning()
Dim AA As Date, BB As Date, ANNEE
ANNEE = InputBox("Choisir l'année du calendrier?", "Calendrier", Year(Date))
AA = CDate("1/12/" & ANNEE - 1): BB = CDate("31/1/" & ANNEE + 1)
[G16] = AA:  Range("G16").Resize(, 1 + BB - AA).DataSeries 1, 3, 1, 1
End Sub
 

l0l0tte

XLDnaute Junior
c 'est que je n ai pas été assez clair.
j ai refait un exemple sur la feuille 2
le but:
lorsque l on clique sur le bouton cela genere
- la ligne 16 comme sur le tableau
-ca grise toutes les colonnes ou il y a des samedi comme sur le tableau

j espere que c est plus explicite
 

Pièces jointes

  • generation calandrier.xls
    195.5 KB · Affichages: 46

Staple1600

XLDnaute Barbatruc
Re

Je t'ajoute la version avec le format en plus
VB:
Sub Planning_V2()
Dim AA As Date, BB As Date, ANNEE
ANNEE = InputBox("Choisir l'année du calendrier?", "Calendrier", Year(Date))
AA = CDate("1/12/" & ANNEE - 1): BB = CDate("31/1/" & ANNEE + 1)
[G16] = AA:  [G16].NumberFormat = "dddd dd mmmm yyyy": Range("G16").Resize(, 1 + BB - AA).DataSeries 1, 3, 1, 1
Range("G16").Resize(, 1 + BB - AA).Columns.AutoFit
End Sub
 

Discussions similaires

Réponses
8
Affichages
142
  • Question
Microsoft 365 MFC
Réponses
4
Affichages
915

Membres actuellement en ligne

Statistiques des forums

Discussions
312 472
Messages
2 088 709
Membres
103 928
dernier inscrit
MIKETUAU