VBA Macro Plan de suivi
Bonjour le forum
j'aimerai créer un support pour suivre le temps d’occupation des zones de travail
Dans un premier temps je me concentre sur la partie calendrier annuelle avec :
1- Définition des jours de travail
2- Des Jours de RTT
3- Jours de congés.
4-Jour Féries.
Pour la Partie RTT et Congés, j'arrive bien à mettre la date de début, mais pas la duré prévue
Option Explicit
Dim AucuneCouleur, CouleurWE, CouleurF, CouleurCA, CouleurRTT, F, i, j, Cell
Sub InitialisationDesCouleursDuCalendrier()
AucuneCouleur = Sheets("BDD").Cells(4, "F").Interior.Color
CouleurWE = Sheets("BDD").Cells(5, "F").Interior.Color
CouleurF = Sheets("BDD").Cells(6, "F").Interior.Color
CouleurCA = Sheets("BDD").Cells(7, "F").Interior.Color
CouleurRTT = Sheets("BDD").Cells(8, "F").Interior.Color
Set F = Sheets("GMP")
'On efface toutes les couleurs
F.Range("I5:JW5").Interior.Color = AucuneCouleur
'On efface la Zone des infos sur la Feuille "GMP"
With Sheets("GMP")
.Range("A6:JV544").ClearContents
.Range("A6:JV544").Interior.Color = AucuneCouleur
End With
'On change provisoirement le format des fériés dans la BDD
Sheets("BDD").Range("C4:C14").NumberFormat = "General"
Sheets("BDD").Range("C16").NumberFormat = "General"
Sheets("BDD").Range("C18").NumberFormat = "General"
'On met les couleurs
For j = 10 To 283
For i = 5 To 5
If F.Cells(i, j).Value <> "" Then
'On colorise les fins de semaine
If Weekday(Cells(i, j).Value) = 1 Or Weekday(Cells(i, j).Value) = 6 Or Weekday(Cells(i, j).Value) = 7 Then
F.Range(F.Cells(i, j), F.Cells(i, j)).Interior.Color = CouleurWE
End If
'On colorise les RTT
Set Cell = Sheets("BDD").Range("C18").Find(F.Cells(i, j).Value * 1, lookat:=xlWhole, LookIn:=xlValues)
If Not Cell Is Nothing Then
F.Range(F.Cells(i, j), F.Cells(i, j)).Interior.Color = CouleurRTT
End If
'On colorise les congées
Set Cell = Sheets("BDD").Range("C16").Find(F.Cells(i, j).Value * 1, lookat:=xlWhole, LookIn:=xlValues)
If Not Cell Is Nothing Then
F.Range(F.Cells(i, j), F.Cells(i, j)).Interior.Color = CouleurCA
End If
'On colorise les fériés
Set Cell = Sheets("BDD").Range("C4:C14").Find(F.Cells(i, j).Value * 1, lookat:=xlWhole, LookIn:=xlValues)
If Not Cell Is Nothing Then
F.Range(F.Cells(i, j), F.Cells(i, j)).Interior.Color = CouleurF
End If
End If
Next i
Next j
' 'On remet les fériés au format initial dans la BDD
Sheets("BDD").Range("C4:C14").NumberFormat = "[$-F800]dddd, mmmm dd, yyyy"
Sheets("BDD").Range("C16").NumberFormat = "[$-F800]dddd, mmmm dd, yyyy"
Sheets("BDD").Range("C18").NumberFormat = "[$-F800]dddd, mmmm dd, yyyy"
End Sub
Dans le fichier joint voir onglet BDD
Merci de votre aide
Bonne journée à tous
Bonjour,
Ajoutez cette ligne au début,
Duree = Sheets("BDD").Range("C19").Value
puis dans la partie "congés", insérez la notion de durée:
'On colorise les congés
Set Cell = Sheets("BDD").Range("C16").Find(F.Cells(i, j).Value * 1, lookat:=xlWhole, LookIn:=xlValues)
If Not Cell Is Nothing Then
F.Range(F.Cells(i, j), F.Cells(i, j + Duree - 1)).Interior.Color = CouleurCA
End If
Cdlt
Bonjour Le forum
Bonjour Arturo83
Merci de ta réponse
J'ai essayé ta proposition, hélas non concluante.
j'ai donc définie les jours dans l'onglet BDD cela fonctionne.
Si tu as une autre solution cela m'intéresse.
Je continue le développement de ce fichier qui n'en ai qu'a son début.
L’étape suivant étant de récupérer des données d'un tableau source et via Power Query de les intégrer dans les celulles (A:I)
Si la communauté pense que je prends une mauvais direction, merci de me le confirmer.
Bonne journée au forum
Bonjour le Forum
Voici mon fichier de base terminé.
Le prochain sujet que je vais créer sera pour avoir une aide pour integrer des données via power query sur la partie gauche du fichier.
Ces données doivent se matérialiser sous forme de couleur dans le calendrier en fonction soit de la date Ddébut et Dfin. ou Sdébut et Sfin.
Si vous pouvez me donner votre avis sur la faisabilité de mon projet, je vous en remercie.
Bonne journée à tous