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

3v2-macro-plan.zip (88.41 Ko)

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

6v0-macro-plan.zip (126.86 Ko)
Rechercher des sujets similaires à "vba macro plan suivi"