collection fausse boite de dialogue (Patricktoulon) episode 1 Le calendrier Modal

collection fausse boite de dialogue (Patricktoulon) episode 1 Le calendrier Modal 5.2 2024

ATTENTION
IL FAUT COCHER LA CASE DANS LES PARAMETRES MACROS
"accès approuvé au modèle d'object du projet vba"
sinon le skinner ne fonctionnera pas
Bonjour a tous

Mise a jour Majeure V 4.3.2.4

mise en compatibilité pour les jour fériés sur MaC et windows pour toute les régions
utilisation de dateserial plutôt que Cdate pour la coloration des boutons

simulation des jours fériés de 1800 à 1900 (sur 100 ans de plus )pour la coloration des boutons

j'ajoute encore une région la <<15>> pour le Portugal
Bonjour à tous
à tous comme ça m'a été demandé ce jour et que j'ai eu une heure de libre
j'ajoute la langue espagnole
on a donc
FR =region 1
US=region 0
cananda=region 2
cananda quebec =region 22
italien=region 12
espagnol=region 14
royaume uni=region 33 (angleterre , ecosse
belgique =region 44

demo.gif
  • J'aime
  • J'adore
Réactions: Gen Rose et anthoYS
bonjour suite a un entretien en MP avec un membre de la communauté
il y avait des fonctions vba qui ne pouvaient fonctionner sur MAC
j'ai donc modifié certaines petites choses
v 4.3.0.0

j'invite d'ailleurs @duplaly a venir chercher cette version a fin qu'il puisse s'en servir sur feuille et userform

enjoy! ;)
Bonjour à tous
pour une demande récente j'ajoute la possibilité de taper l'année avec le clavier dans la bombobox pour l'année
Bonjour à tous
je n'y ai jamais pensé mais l'idée est bonne donc ; après une demande j'ajoute la sortie par la touche ESC sur la version 4.2.3
bonjour a tous
Version 4.2.2
j'ajoute les jours fériés pour la Belgique c'est la région 44
et .. ça va faire plaisir a @ChTi160 j’intègre définitivement son idée
le carré date d'aujourd'hui devient donc cliquable
c'est un raccourci pour revenir au mois en cours dans le calendrier
demo7.gif
bonjour a tous
j'ai ajouté le positionnement sur textbox et shapes sur feuille
et la fonction showCenter qui l'affiche au centre de l’écran

demo7.gif
bonjour a tous
juste une petite correction pour les numéros de semaine
l'index pour weekday n'etait pas dynamique
VB:
'mise ajour du clavier
Public Sub ReloadClavier()
    Dim X&, I&, A&, NB_JOURS&, Y&, WkD&, j&
    If Cbmonth.Value = "" Or Cbyear.Value = "" Then Exit Sub
    Select Case Calendar.region
    Case 0, 22: WkD = vbSunday: j = 1
    Case 1, 2, 12, 13: WkD = vbMonday: j = 2
    End Select
    X = Weekday(DateSerial(Calendar.Cbyear, Calendar.Cbmonth.ListIndex + 1, 1), WkD)
    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 = bt2Back: .ControlTipText = ""
            If I >= X And A <= NB_JOURS - 1 Then
                .Visible = True: A = A + 1: .Enabled = True: .Caption = A: .BackColor = bt1Back

                Y = CLng(DateSerial(Calendar.Cbyear.Value, Calendar.Cbmonth.ListIndex + 1, A))
                Controls(.Tag).Caption = Evaluate("= TRUNC((" & Y & "-WEEKDAY(" & Y & "," & j & ")+11-DATE(YEAR(" & Y & "-WEEKDAY(" & Y & " ," & j & ")+4),1,1))/7)")
                .BackColor = férié(I)
            End If
        End With
    Next
End Sub
Bonjour a tous
voici 3 nouvelles regions
Italien
Suisse( Genève,Vaud,Neuchatel,etc..)
royaume uni(Angleterre,pays de galles,Irlande du nord,écosse)
pour la suisse et le royaume uni il y a plusieurs sub regions que j'ai signifier entre parentheses dans les controltiptext

récapitulatif interface dispo actuellement
0 =US
1=FR
2=CA
22=QUEBEC
12=Italie
13=suisse
33=royaume uni

bien évidemment l'interface est toujours dans la langue appelée
exemple d'appel
VB:
Option Explicit

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
    If Target.Count > 1 Then Exit Sub
    If Target(1).Row = 1 Or Target.Columns.Count > 1 Then Exit Sub
    Cancel = True

    Select Case Target.Column

    Case 1: Target = Calendar.ShowX(Target(1), 2, 0, 0):    ' region = 0  Etats Unis

    Case 2: Target = Calendar.ShowX(Target(1), 2, 0, 1):    ' region = 1  France

    Case 3: Target = Calendar.ShowX(Target(1), 2, 0, 2):    ' region = 2   Canada

    Case 4: Target = Calendar.ShowX(Target(1), 2, 0, 22):    ' region = 22  "QUEBEC" Canada

    Case 5: Target = Calendar.ShowX(Target(1), 2, 0, 12):    ' region = 12  "Italie"

    Case 6: Target = Calendar.ShowX(Target(1), 2, 0, 13):    ' region = 13  "suisse"(plusieurs sub régions)

    Case 7: Target = Calendar.ShowX(Target(1), 2, 0, 33):    ' region = 33  "Grande Bretagne"(plusieurs sub région)

    Case Else: Target = Calendar.ShowX(Target(1), 0, 2):    'automatique region

    End Select

  End Sub
demo7.gif


enjoy :)