OUTIL de planification, custom UF Calendar

babap1

XLDnaute Occasionnel
Bonjour le forum,

Je travaille sur un outil de planification de chantier pour lequel j'ai encore quelques bugs ou améliorations à apporter.
Y a-t-il dans la communauté quelqu'un qui puisse m'aider pour :

[RESOLU] 1/ à l'ajout d'une nouvelle entrée via un userform (planning), je suis obligé de retourné dans les cellules de la colonne G (date de début) pour "valider avec la touche entrer" la date afin qu'elle soit prise en compte

[RESOLU] 2/ dans mon userform (planning), j'aimerais voir afficher un agenda - idéalement avec les jours fériés de ma liste JF et le numéro des semaines - lorsque je clique la case "Date de début". Pour cela, j'ai utilisé le Super Calendar de @patricktoulon que j'aimerais personnaliser même s'il est déjà super !
a) en bloquant (impossibilité de la sélectionner) certaines dates (Jours fériés, WE et autres dates qui pourraient figurer dans une liste de ma feuille "Listes"
b) en coloriant les WE dans une autre couleur que les jours de la semaine

Merci d'avance pour ces premiers éléments et bonne journée à vous,
Baptiste
 

Pièces jointes

  • Planning_dev2_1.1.xlsm
    108.6 KB · Affichages: 17
Dernière édition:

babap1

XLDnaute Occasionnel
1/ à l'ajout d'une nouvelle entrée via un userform (planning), je suis obligé de retourné dans les cellules de la colonne G (date de début) pour "valider avec la touche entrer" la date afin qu'elle soit prise en compte

Je ne sais pas si c'est académique mais ça fonctionne avec la modification suivante :
.Offset(0, 6).Value = CDate(planning.txt_DateDebut)
.Offset(0, 7).Value = Val(planning.txt_NombreJour)

Et voilà le premier point de résolu !
 

babap1

XLDnaute Occasionnel
bonsoir
modif :Impossibilité de cliquer sur un jour férié (pas besoins de liste ) tout était déjà dans le calendrier

Brillant ! Merci @patricktoulon

Pour exclure les WE, j'ai bricolé quelque chose qui fonctionne mais pour ne pas saccager ton code, j'aimerais savoir si tu as plus propre :)

Code:
Public Sub ReloadClavier()
    Dim X&, i&, A&, NB_JOURS&
    If Cbmonth.Value = "" Or Cbyear.Value = "" Then Exit Sub
    X = Weekday(DateSerial(Calendar.Cbyear, Calendar.Cbmonth.ListIndex + 1, 1), IIf(region = 0, vbSunday, vbMonday))
    NB_JOURS = Day(DateSerial(Cbyear.Value, Cbmonth.ListIndex + 2, 0))
    For i = 1 To 6: Me.Controls("sem" & i) = "": Next
    For i = 1 To 42
        With Calendar.Controls("j" & i)
            .Caption = "": .Enabled = False: .BackColor = vbWhite: .ControlTipText = ""
            If i >= X And A <= NB_JOURS - 1 Then
                .Visible = True: A = A + 1: .Enabled = True: .Caption = A: .BackColor = &HE0E0E0
                Controls(.Tag).Caption = DatePart("ww", DateSerial(Calendar.Cbyear.Value, Calendar.Cbmonth.ListIndex + 1, A), IIf(region = 0, vbSunday, vbMonday))
                .BackColor = férié(i)
                If i = 6 Or i = 7 Or i = 13 Or i = 14 Or i = 20 Or i = 21 Or i = 27 Or i = 28 Or i = 34 Or i = 35 Or i = 41 Or i = 42 Then
                    .Enabled = False: .BackColor = RGB(255, 200, 0)
                End If
            End If
        End With
    Next
End Sub

Merci d'avance, Baptiste
 

patricktoulon

XLDnaute Barbatruc
re

If i = 6 Or i = 7 Or i = 13 Or i = 14 Or i = 20 Or i = 21 Or i = 27 Or i = 28 Or i = 34 Or i = 35 Or i = 41 Or i = 42 Then

c'est sérieux là ? :p :p :p :p :p :p :p :p :p :p

assassin de chef-d’œuvre patriquestre va !!!!

dans la fonction férié tu ajoute dans le case french seulement ça
Case Weekday(dat, vbMonday) >= 6: f = True
et je vire ton if de malheur
a non de dieu!! tu va me provoquer une crise cardiaque toi
 

Pièces jointes

  • Planning_dev2_1.1.xlsm
    100.8 KB · Affichages: 23

babap1

XLDnaute Occasionnel
re

If i = 6 Or i = 7 Or i = 13 Or i = 14 Or i = 20 Or i = 21 Or i = 27 Or i = 28 Or i = 34 Or i = 35 Or i = 41 Or i = 42 Then

c'est sérieux là ? :p :p :p :p :p :p :p :p :p :p

assassin de chef-d’œuvre patriquestre va !!!!

dans la fonction férié tu ajoute dans le case french seulement ça
Case Weekday(dat, vbMonday) >= 6: f = True
et je vire ton if de malheur
a non de dieu!! tu va me provoquer une crise cardiaque toi

Mille sabord ! Et dire que j'avais prédis la crise cardiaque... J'eus mieux fait de ne pas écrire ce bout de code
En même temps, je débute en VBA et ça faisait le job

Le chef-d'œuvre est de nouveau d'équerre... Merci @patricktoulon
 

patricktoulon

XLDnaute Barbatruc
re
tout dans ce calendrier perso est monter de façon a ce que toute modifs soit simple et ne dénature pas mon style de codage
tout ce que tu pourra imaginer faire sur ce calendrier j'en ai pensé 90%
c'est le fruit de long mois de débats ,tests par autres avec chacun leurs demandes particulières,etc....

bref tu es satisfait maintenant ?
 

Discussions similaires

Réponses
11
Affichages
473
Réponses
11
Affichages
634
Réponses
15
Affichages
1 K