XL 2016 XL Tools.net Calendar

Claudy

XLDnaute Accro
Bonjour à tous,
en téléchargeant un fichier sur le site, j'ai découvert un calendrier qui me plait bien: XL Tools.net Calendar.
Mais je ne voit pas comment l’intégrer dans une feuille!
Merci d'avance pour votre aide,

Claudy

1596272701950.png
 
Solution
Bonjour Claudy
Bonjour le Fil ,le Forum
En attendant Patrick (Que je salue)
voilà ce que j'ai mis et semble répondre à la demande!
VB:
Sub reloadClavier()    'mise a jour du clavier
    Dim Madate, i&, sem
    If CBM.Value <> "" And CBA.Value <> "" Then
        Madate = DateSerial(CBA.Value, CBM.ListIndex + 1, 1)
        Madate = Madate - Weekday(Madate, vbUseSystemDayOfWeek)
        For i = 1 To 6: Me.Controls("sem" & i) = "": Next
        For i = 1 To 42
            Madate = Madate + 1
            sem = DatePart("ww", Madate, vbMonday, vbFirstFourDays)
            With Me.Controls("j" & i)
                .Enabled = False
                .Caption = Day(Madate)
                .ControlTipText = ""
                If Month(Madate) =...

Claudy

XLDnaute Accro
Bonjour Patrick,
L’intégrer dans une feuille sans passer par mon calendrier Windows gadget (voir ci dessous), pour chercher une date,
de plus ce XL Tools....permet de sélectionner une date et directement remplir une cellule avec cette date.

Merci,

Claudy


1596277479738.png
 

patricktoulon

XLDnaute Barbatruc
re
OUI ok a tu cherché des solutions dans xldownload
tu serais surpris ;)
je te donne des pseudos
Rolland M
Dranreb
patricktoulon

par exemple je te donne un aperçu de mon tout dernier simplissime ou j'ai encore changé la méthode d'appel (plus d'evenemen worksheet)ce qui permet de l’intégrer dans un fichier voir même en faire un complément
demo4.gif


bref solutions tu a à foison ici
 

patricktoulon

XLDnaute Barbatruc
la demo que je t'ai montré n'est pas encore dispo c'est une nouvelle methode
cependant voici 3 liens y compriis ma ressource pret a l'emploi
celui de Dranreb

a fouiller dans la discussion entre roland_m et usine a gaz


la mienne rangée dans les ressource
 

patricktoulon

XLDnaute Barbatruc
re
si tu tiens absolument a avoir un bouton calendrier dans le menu contextuel des cellule
voici en primeur pour toi (personne ne l'a encore vu cette base)
NOUVEAU !! il est non modal
je l'ai adapté spécialement pour toi ;)
tu a un bouton calendrier dans le menu contextuel des cellules(au click droite)
c'est un calendrier de base sans option (2 combobox(mois et année)) et les bouton jours
le code de modification du pavé par les combo est encore plus condensé et simplissime
j'ai ajouté le (change d'avis en cour de route)
en effet tu click sur le bouton du menu et si tu change d'avis en sélectionnant une autre celle le calendrier disparaît

pour l'intérer dans ton fichier il de suffit de mettre ce code dans le Thisworkbook

VB:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Application.CommandBars("cell").Reset
End Sub

Private Sub Workbook_Open()
    With Application.CommandBars("cell")
        .Reset
        With .Controls.Add(msoControlButton, , , 1, True): .Caption = "calendrier": .OnAction = "ThisWorkbook.affiche": End With
    End With
End Sub
Public Sub affiche(): CalendarX.Show 0: End Sub
et de mettre mon userform calendarX
pour cela tu ouvre ton fichier et le mien tu fait un glisser du mien au tien dans vbe
ou tu l'exporte dans ton disque dur et tu l'importe dans le tiens
 

Pièces jointes

  • calendrier sans intégration complete .xlsm
    30.1 KB · Affichages: 43

Claudy

XLDnaute Accro
OuftiIIII
merci beaucoup
VB:
    Application.CommandBars("cell").Reset

C'est quoi cette commandbars cell?
Perso, j'ai une barre d'acces rapide personnalisée avec des macros personnelles.
Heu ça veut dire quoi non modal?
A+
Claudy
 

patricktoulon

XLDnaute Barbatruc
oui
sauf que pour le ("j'ai changé d'avis je choisis pas de date") si tu change de cellule il s'auto ferme
le calendrier se charge tout seul de détecter le changement sans passer par l'event sélection_change dans le module de la feuille
si tu veux qu'il fonctionne différemment il faut être plus précis
 

Claudy

XLDnaute Accro
OK,
si je peux me permettre d'abuser un peu...

est il possible dans le calendrier de mettre en couleur un jour particulier (exemple tous les 5 et 10 du mois avec un petit commentaire en dessous (pour le 5 "ONSS", et pour le 10 "Prec Prof"), de plus si je sélectionne une date il m'affiche en couleur (ou gras) la date de 8 jours ouvrables après? (Calendrier belge)
Heu ... grand merci d'avance,
Claudy
 

patricktoulon

XLDnaute Barbatruc
re
pour la couleur c'est simple un petit a jout
change la sub
VB:
Sub reloadClavier()    'mise a jour du clavier
    Dim Madate, i&, sem
    If CBM.Value <> "" And CBA.Value <> "" Then
        Madate = DateSerial(CBA.Value, CBM.ListIndex + 1, 1)
        Madate = Madate - Weekday(Madate, vbUseSystemDayOfWeek)
        For i = 1 To 6: Me.Controls("sem" & i) = "": Next
        For i = 1 To 42
            Madate = Madate + 1
            sem = DatePart("ww", Madate, vbMonday, vbFirstFourDays)
            With Me.Controls("j" & i)
                .Enabled = False
                .Caption = Day(Madate)
                .ControlTipText = ""
                If Month(Madate) = CBM.ListIndex + 1 Then .Enabled = True: Me.Controls(.Tag) = sem
                .BackColor = Array(&HC0C0C0, Array(vbWhite, vbYellow)(Abs(Madate = Date)))(Abs(Month(Madate) = CBM.ListIndex + 1))
                If .Enabled Then
                    Select Case .Caption
                    Case 5: .BackColor = vbGreen: .ControlTipText = "ONSS"
                    Case 10: .BackColor = vbRed: .ControlTipText = "Pref Prof"
                    End Select
                End If
            End With
        Next
    End If
End Sub
pour ta 2d question (jours ouvré (8)) elle est dépourvue de sens puisque l'userform est sensé se fermer lors de la sélection d'un jour ;)

je commence a soupçonner que tu développe ton app au fur et a mesure de tes idées
et il est hors de question que je passe mon temps a modifier un truc qui fonctionne très bien a chaque fois que heuréka va s’allumer dans ta tète
tu a demandé un calendrier
je t'en ai donné un (et en primeur en plus)
a toi de bosser un peu;)
 

Claudy

XLDnaute Accro
Bonjour Patrick,
Je reviens vers toi...
J'ai travaillé un peu;):
VB:
Sub reloadClavier()    'mise a jour du clavier
    Dim Madate, i&, sem
    If CBM.Value <> "" And CBA.Value <> "" Then
        Madate = DateSerial(CBA.Value, CBM.ListIndex + 1, 1)
        Madate = Madate - Weekday(Madate, vbUseSystemDayOfWeek)
        For i = 1 To 6: Me.Controls("sem" & i) = "": Next
        For i = 1 To 42
            Madate = Madate + 1
            sem = DatePart("ww", Madate, vbMonday, vbFirstFourDays)
            With Me.Controls("j" & i)
                .Enabled = False
                .Caption = Day(Madate)
                .ControlTipText = ""
                If Month(Madate) = CBM.ListIndex + 1 Then .Enabled = True: Me.Controls(.Tag) = sem
                .BackColor = Array(&HC0C0C0, Array(vbWhite, vbYellow)(Abs(Madate = Date)))(Abs(Month(Madate) = CBM.ListIndex + 1))
                If .Enabled Then
                    Select Case .Caption
                    Case 5: .BackColor = vbGreen: .ControlTipText = "ONSS"
                    '''Claudy
                    Label24.Caption = "ONSS: " & Format(DateSerial(CBA.Value, CBM.ListIndex + 1, 5), "dddd dd mmmm yyyy")
                    Case 10: .BackColor = vbGreen: .ControlTipText = "Prec Prof"
                    '''Claudy
                     Label25.Caption = "Prec Prof: " & Format(DateSerial(CBA.Value, CBM.ListIndex + 1, 10), "dddd dd mmmm yyyy")
                    End Select
                End If
            End With
        Next
    End If
End Sub

Est il possible de colorer en rouge mes labels 24 et 25 si la date tombe un samedi / dimanche.
De même que dans le calendrier même?
là ce serait top .
Heu ,
merci d'avance,
Claudy
 

Discussions similaires

Réponses
1
Affichages
140

Statistiques des forums

Discussions
312 239
Messages
2 086 500
Membres
103 236
dernier inscrit
Menni