Autres Petite mise a jour (exceptionnellement pour cp4) du calendar V4.1(OLDVERSION)

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 !

patricktoulon

XLDnaute Barbatruc
Bonjour @cp4
pour faire suite à ton message en MP ,concernant une vielle version du calendar la V4.1

je tiens tout d'abords a dire qu'il y a eu plus de 20 versions au moins qui ont suivi cette version celle ci datant d'à peu près 2019

j'ai donc dézippé mes archives et tu a de la chance j'ai retrouvé la version 4.1.1( c'est la plus ancienne que j'ai gardé dans le zip)
et encore tu a vraiment de la chance je me demande bien pourquoi je l'ai gardé

comme je t'ai dit il n'y a pas de principe double input pour le calendar
mais tu peux très bien jouer cela avec l'event de la cellule dans une feuille
et faire une toute petite modif dans le calendar

j'en ai profité pour revoir le placement sur cellule cette fonction était une vrai usine à gaz inutile

autrement dit ici par exemple en l’occurrence j'ai deux cellules date ( départ/arrivée) ce sont les cellule C3 et C6
en cliquant droite sur C3 le calendar doit s'ouvrir
une fois la date choisi ca passe tout seul a la C6 et le mois et année sont celle de C3

tel que je le code dans l'event beforerightclick rien ne t’empêche de re modifier la C6

VB:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
'exemple départ en C3 et arrivée en C6
    Select Case Target.Address(0, 0)
    Case "C3"
        oldvalue = [c3]
        Cancel = True
        Target.Value = Calendar.ShowX(Target, 2, 0, 1)
        If Target = oldvalue Then Exit Sub
        [c6] = [c3]
        [c6].Value = Calendar.ShowX([c6], 2, 0, 1)
        If [c6] = [c3] Then [c6] = ""
    Case "C6"
        Cancel = True
        Target.Value = Calendar.ShowX(Target, 2, 0, 1)
    Case Else: Cancel = False
    End Select
End Sub

encore une fois ça démontre bien que même les oldversions du calendar sont adaptables à diverses demandes
sans toucher le moindre code du calendar

à l'avenir pour une question d'adaptation perso fait une demande sur le forum
Merci de ta compréhension

ps: il va de soit que le même principe est applicable pour des textbox dans un userform
VB:
Private Sub TextBox1_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    If Button = 2 Then
        TextBox1 = Calendar.ShowX(TextBox1, 2, 0, 1)
        TextBox2 = TextBox1
        TextBox2 = Calendar.ShowX(TextBox2, 2, 0, 1)
    If TextBox2 = TextBox1 Then TextBox2 = ""
    End If
End Sub

Private Sub TextBox2_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    If Button = 2 Then
            TextBox2 = Calendar.ShowX(TextBox2, 2, 0, 1)
     End If
End Sub
voila 😉
 

Pièces jointes

Dernière édition:
re
hey !!! les gars
W 10 carte graphique NVIDIA GTX1650
drivers pris sur NVIDIA et y compris le gestionnaire

pas de - 5 ou int (..) ou je ne sais quoi qu'est ce
1711485984736.png

pour info
VB:
Private Function placementRange(Obj As Object)
    If Obj Is Nothing Then Exit Function
    Dim Z#, L1#, T1#, Hx#, Wx#, PtoPx#
    With ActiveWindow
        PtoPx = 1 / ((.ActivePane.PointsToScreenPixelsX(7200) - .ActivePane.PointsToScreenPixelsX(0)) / 7200)  'coeff point to pixel
        Z = (.Zoom / 100)
        L1 = (.ActivePane.PointsToScreenPixelsX((Obj.left)) * PtoPx) * Z     'placement partie mobile
        T1 = .ActivePane.PointsToScreenPixelsY((Obj.top)) * PtoPx * Z
    End With
    'option de placement :
    Wx = (Obj.Width / 2) * Z * Px
    Hx = (Obj.Height / 2) * Z * Py
    L1 = L1 + (Wx)
    T1 = T1 + (Hx)
    With Me: .left = L1: .top = T1: End With
End Function
et croyez moi j'en ai essayé plus d'un de pack drivers avant de trouver le bon
pas de chichi du pur et sur 🤣 🤣 🤣
regardez bien ce que propose le gestionnaire NVIDIA et le gestionnaire Window

Nvidia
demo.gif


windows
1711486675374.png


comme je suis myope comme une carpe je règle a 1600 par 900 mais en 1080p sur le gestionnaire NVIDIA
si je prends la même résolution par le gestionnaire windows donc toujours 1600 par 900

1711486839143.png


pigé ou je fait pipi par terre 😉
 
Dernière édition:
re
hey !!! les gars
W 10 carte graphique NVIDIA GTX1650
drivers pris sur NVIDIA et y compris le gestionnaire

pas de - 5 ou int (..) ou je ne sais quoi qu'est ce
Regarde la pièce jointe 1193582
pour info
VB:
Private Function placementRange(Obj As Object)
    If Obj Is Nothing Then Exit Function
    Dim Z#, L1#, T1#, Hx#, Wx#, PtoPx#
    With ActiveWindow
        PtoPx = 1 / ((.ActivePane.PointsToScreenPixelsX(7200) - .ActivePane.PointsToScreenPixelsX(0)) / 7200)  'coeff point to pixel
        Z = (.Zoom / 100)
        L1 = (.ActivePane.PointsToScreenPixelsX((Obj.left)) * PtoPx) * Z     'placement partie mobile
        T1 = .ActivePane.PointsToScreenPixelsY((Obj.top)) * PtoPx * Z
    End With
    'option de placement :
    Wx = (Obj.Width / 2) * Z * Px
    Hx = (Obj.Height / 2) * Z * Py
    L1 = L1 + (Wx)
    T1 = T1 + (Hx)
    With Me: .left = L1: .top = T1: End With
End Function
et croyez moi j'en ai essayé plus d'un de pack drivers avant de trouver le bon
pas de chichi du pur et sur 🤣 🤣 🤣
regardez bien ce que propose le gestionnaire NVIDIA et le gestionnaire Window

Nvidia
Regarde la pièce jointe 1193583

windows
Regarde la pièce jointe 1193584

comme je suis myope comme une carpe je règle a 1600 par 900 mais en 1080p sur le gestionnaire NVIDIA
si je prends la même résolution par le gestionnaire windows donc toujours 1600 par 900

Regarde la pièce jointe 1193585

pigé ou je fait pipi par terre 😉
 
Désolé Patrick je sais pas, fait pipi dans un coin ou ça crain pas trop 😀😉,
J'ai 3 écrans don 1 en résolution différente mais le problème est toujours identique.
Mais bon à la base c'était pas le sujet désolé, beau calendrier.
 

Pièces jointes

  • Capture d’écran 2024-03-26 220910.jpg
    Capture d’écran 2024-03-26 220910.jpg
    54.6 KB · Affichages: 25
  • Capture d’écran 2024-03-26 220931.jpg
    Capture d’écran 2024-03-26 220931.jpg
    58.1 KB · Affichages: 26
et croyez moi j'en ai essayé plus d'un de pack drivers avant de trouver le bon
Ah ben voilà, maintenant au moins c'est clair, on sait pourquoi tu n'as pas la même chose que nous.

Moi j'ai simplement installé le dernier driver de ma CG, sans en chercher un qui aligne le calendrier où je veux. 😅



Mais bon à la base c'était pas le sujet
Arf. Bonne remarque.
 
- 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
10
Affichages
169
  • Question Question
Microsoft 365 Probléme VBA
Réponses
8
Affichages
251
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
347
Réponses
4
Affichages
185
Réponses
7
Affichages
127
Réponses
4
Affichages
517
Retour