Calendrier VBA dynamique (palette de couleur d'évènements)

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Provence Vintage

XLDnaute Occasionnel
Bonjour à toutes et tous,

Après avoir cherché pendant des mois ce type de développement pour mon outil, sur le forum, j'ai enfin trouvé une présentation et du code adaptable à ce que je souhaite mettre en place.🙂
cf Editeur: Pascal Liberty

Mais il me faut encore faire bien des modifs...🙄


Mon USF consiste

1°) à faire apparaitre Mois par Mois un calendrier:

un ComBo pour sélection de l'année, un ComBo pour sélection du mois;
des ToggleButton pour les jours!

2°) a sélectionner rapidement des dates et leur attribuer une couleur spécifique en fonction de 6 différents types d'évènements (on pourrait en prévoir moins ou plus, pour ma part, ce quota me va bien!)

6 CheckBox (pour un évènement et une couleur associée)
pour les ToggleButtons clickés et couplés à une CheckBox cochée, la couleur de police change et prend la couleur de l'évènement désiré.

Mes questions!

Ce que je souhaite développer à partir de mon fichier actuel

1°) Après Modifications mensuelles (ou pas) en terme d'évènements, (et donc couleur de police des dates en adéquation avec les évènements sélectionnés), enregistrer les dates en colonne A, les jours en colonne B
exemple: 01/01/2010 en A1 (avec la couleur référante); "vendredi" en B1; 02/01/2010 en A2 (avec la couleur référante); "samedi" en B2 ...

2°) Si le mois a déjà été enregistré, rappeler les données enregistrées pour soit les consulter, soit les modifier.

3°) Améliorer mon code par rapport à l'adéquation entre date sélectionnées et évènements, si celà est faisable

Je prévois par la suite

1°) de consulter cet USF avec également le rappel du mois correspondant à l'année antérieure pour effectuer des comparaisons

on pourrait à ce titre envisager une saisie au trimestre dès le départ, mais bon...

2°) de consulter ce calendrier sous une forme semblable avec sous chaque date:

la possibilité de saisir jusque 8 tarifs différents dans des TextBox enregistrer, modifier ces données à guise!
exemple pour le 01/01/2010:
en colonne A: date, en colonne B: jour, en colonne C: 1er tarif, en colonne D: 2ème tarif.....

vous trouverez ci-joint le fichier correspondant
je tiens dors et déjà à vous remercier pour votre aide très précieuse, vos bouts de codes, qui me permettront de continuer à progresser dans la construction de mon outil!

Bonne soirée à toutes et tous

 
Dernière édition:
Re : Calendrier VBA dynamique (palette de couleur d'évènements)

Au delà de tous ces éléments ... quelle est ta première question précise ???


Bonsoir James et merci d'avoir pris le temps de lire.
ma première question précise:

Ce que je souhaite développer à partir de mon fichier actuel

1°) Après Modifications mensuelles (ou pas) en terme d'évènements, (et donc couleur de police des dates en adéquation avec les évènements sélectionnés), enregistrer les dates en colonne A, les jours en colonne B
exemple: 01/01/2010 en A1 (avec la couleur référante); "vendredi" en B1; 02/01/2010 en A2 (avec la couleur référante); "samedi" en B2 ...

....
Merci à toi et vous tous
 
Re : Calendrier VBA dynamique (palette de couleur d'évènements)

Banzai, le fil

je l'ai trouvé, en faisant comme ceci:

#Private Sub ButtonVal_Click()
Dim a As Range
Dim Lg As Integer
Dim coul
coul = DEFCAL(i).ForeColor
Lg = Recherche
If Lg = 0 Then
Lg = Range("A65536").End(xlUp).Row
End If
If Lg > 1 Then Lg = Lg + 1
For i = 0 To 36
If DEFCAL(i).Visible = True Then
With Cells(Lg, 1)
.Value = CDate(Val(DEFCAL(i).Caption) & "/" & _
ComboBox2.ListIndex + 1 & "/" & ComboBox1.Value)
.Font.Color = DEFCAL(i).ForeColor
End With
With Cells(Lg, 2)
.NumberFormat = "dddd"
.Value = Cells(Lg, 1).Value
End With
Lg = Lg + 1
End If
Next i
End Sub#

je continu les autres Test et revient
 
Re : Calendrier VBA dynamique (palette de couleur d'évènements)

Banzai, le Fil,

Soucis, quand on a enregistré un mois, lorsqu'on réinitialise l'USF, comment faire prendre aux toggleButtons, les bonnes couleurs de police enregistrée en col A sur la feuille pour:
1°) visualiser les évènements correctement
2°) les modifier si besoin!

là je patauge...
 
Re : Calendrier VBA dynamique (palette de couleur d'évènements)

Banzai, le Fil,

Bon j'ai trouvé pour initialiser correctement sur un enregistrement mensuel comme ceci: (dans l'exemple: "janvier")
#Sub Informe(Ligne As Integer)
If Ligne = 0 Then Exit Sub
For i = 0 To 36
If DEFCAL(i).Visible = True Then
DEFCAL(i).ForeColor = Cells(Ligne, 1).Font.Color ' changer a la place de Interior.color
Ligne = Ligne + 1
End If
Next i
End Sub#

Par contre, si en ComboBox2 on choisit le mois de "février",
les Toggle ne prennent pas la couleur de police noir partout sauf sur les dimanches,
ils gardent en mémoire le mois précédant...
ce qui revient à dire que sur la recherche, si pas d'enregistrement pour le mois de février, la lecture ne se fait pas!
je comprends pas!
 
Re : Calendrier VBA dynamique (palette de couleur d'évènements)

Bonjour

Rajoutes la ligne en rouge

Code:
Private Sub ComboBox1_Change()
ComboBox2_Change
End Sub

Private Sub ComboBox2_Change()
Dim D1, D2, az, jcal As Date
D1 = CDate("1/" & ComboBox2.Value & "/" & ComboBox1.Value)
D2 = DateAdd("m", 1, D1) - 1
az = Weekday(D1, 2)
For i = 0 To 36
DEFCAL(i).Visible = False
DEFCAL(i) = False
DEFCAL(i).Tag = ""
Next i
For jcal = D1 To D2
  [COLOR="Red"]DEFCAL(az + Day(jcal) - 2).ForeColor = IIf(Weekday(jcal, vbMonday) = 7, RGB(255, 0, 0), RGB(0, 0, 0))[/COLOR]
  DEFCAL(az + Day(jcal) - 2).Visible = True
  DEFCAL(az + Day(jcal) - 2).Caption = Format(jcal, "d")
  DEFCAL(az + Day(jcal) - 2).Tag = jcal
Next jcal
  Informe Recherche
End Sub
 
Re : Calendrier VBA dynamique (palette de couleur d'évènements)

Banzai, le Fil

Nickel,

Tu assures...
Ci-joint, nouveau fichier réactualisé!
as t'on avis coment peut-on rajouter dans le code du ComboBox2, le code qui va bien pour afficher si selection "janvier", "fevrier" sur le deuxième tableau, "mars" sur le troisième, et effectuer les mêmes recherche et enregistrement...

Peut-être que j'abuse...
Merci beaucoup encore

Cijoint.fr - Service gratuit de dépôt de fichiers
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
7
Affichages
281
Réponses
4
Affichages
181
Réponses
14
Affichages
544
Retour