Microsoft 365 Dateur Patricktoulon

  • Initiateur de la discussion Initiateur de la discussion Piment
  • Date de début Date de début
  • Mots-clés Mots-clés
    dateur

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 !

Piment

XLDnaute Occasionnel
Patrick bonjour.
Je crée cette nouvelle discussion afin que tu m'aides sur la mise en œuvre de ton dateur "new calendar Full Working-WIN-MAC V 2024 .5.1".
J'ai copié tes codes dans mon fichier. Lorsque je click sur ma Textbox "Date", il ouvre bien le dateur, je choisi une date et il me ferme mon Userform. Il ferme le Userform du Dateur mais également l'UserForm qui contient ma texBox. Il ferme tout.
J'ai placé ce code au début de ma feuille de code de mon UserForm :
Option Explicit
Private BuiltInFieldName As New Class_BuiltInFieldName

'**********************************************************************************
' __ _____ ___ . ___ _____ ___ ___
'|__| /\ | | | | | | / | | | | | | | | |\ |
'| /__\ | |--- | | |/\ | | | | | | | | | \ |
'| / \ | | \ | |___ | \ | |___| |___| |__ |___| | \|
'
'***********************************************************************************
' USERFORM DU CALENDAR

Private Sub Txt_Date_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
If Button = 2 Then
Txt_Date = Calendar.ShowX(Txt_Date, 0, 2, 0)
End If
End Sub


Private Sub Cbx_RecherchNom_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
If bLooping = False Then MouseWheelOut Cbx_RecherchNom, Y
End Sub

Private Sub Cbx_RecherchNom_Change()
Call Recherche
End Sub

Private Sub Txt_NumTel_Change()
Txt_NumTel = Format(Txt_NumTel, "0# ## ## ## ##")
End Sub
Merci à toi.
 
Solution
Merci Patrick. Super. Top.
J'ai un autre soucis sur une formule. Je continue sur ce fil ou j'en crée un autre.
Dans le doute : Dans la cellule j'essai d'appliquer cette formule, mais je n'y arrive pas :
VB:
Tbl_ListClients[[#Totaux];[Nom Prénom]] & " " & IF(Tbl_ListClients[[#Totaux];[Nom Prénom]]>1;"Clients";"Client")
En gros il récupère le nombre total de la Colonne "Nom Prénom" et il ajoute "Client Inscrit" au singulier si le nombre est égal à 0 ou 1, et si >1 "Clients Inscrits" au pluriel : ce qui me donne "1 Client Inscrit" ou "10 Clients Inscrits". Merci
C'est bon j'ai réglé le problème : la formule
VB:
=SI(Tbl_ListClients[[#Totaux];[Nom Prénom]]>1;Tbl_ListClients[[#Totaux];[Nom Prénom]]&" "&"Clients...
1750876498381.png


Excel 2010 32 bits - Windows 7 64 bits

1750876601744.png
 
cathodique, excuse moi d'être lourd, mais comme je te l'ai dit au post #26, je ne vois toujours pas le rapport entre le"Modul_MouseWhelle" et les codes du calendar dans l'Usf "Calendar". De plus, dans le fichier où je rencontrais le problème, j'ai le même code que tu me dis qui a été modifié ???
L'Usf "Calendar" ne fait pas appel du module "Modul_MouseWhelle". Enfin il me semble!
Et je ne rencontre aucun problème avec ce module. Mes comboBox fonctionnent parfaitement : avec la molette de la souris, je navigue à l'intérieur de mes comboBox sans problème (très pratique soit dit en passant).
 
L'Usf "Calendar" ne fait pas appel du module "Modul_MouseWhelle". Enfin il me semble!
Et je ne rencontre aucun problème avec ce module. Mes comboBox fonctionnent parfaitement : avec la molette de la souris, je navigue à l'intérieur de mes comboBox sans problème (très pratique soit dit en passant).
je n'ai pas dit que "calendar" fait appel à la fonction qui plante.
Il y a bien des comboboxs dans ton formulaire, c'est à partir de ton formulaire que la fonction est appelée.
Si tu as windows 10, la fonction ne plante pas. Par contre, elle plante sous Win7.
J'espère que c'est plus clair maintenant.
en ajoutant ceci la fonction ne plante plus.
VB:
On Error Resume Next
      PPx = 1 / (GetDpiForWindow(Application.hwnd) / 72)
      If PPx = 0 Then PPx = 1   ' fallback si erreur
      On Error GoTo 0
mais la roulette ne fonctionne pas (pas de défilement de la liste).

Bonne soirée.
 
re:
emplacementcontrol:
version valable de 2007 à 2024
VB:
' fonction du calendar patricktoulon reconvertie
Function EmplacementControl(Obj As Object, Optional yy As Single = 0)
    If Not Obj Is Nothing Then
        Dim Lft As Double, Ltop As Double, P As Object, PInsWidth As Double, PInsHeight As Double, tt As Double
        Dim K As Double, PPx, A, Z
        Lft = Obj.Left ' Normalement Page, Frame ou UserForm
        Ltop = Obj.top
        Set P = Obj.Parent
        Dim zoo#
        With ActiveWindow: zoo = .Zoom / 100: PPx = 1 / ((.Panes(1).PointsToScreenPixelsX(7200 * zoo) - .Panes(1).PointsToScreenPixelsX(0)) / 7200): End With
        Do
            PInsWidth = P.InsideWidth ' Le Page en est pourvu, mais pas le Multipage.
            PInsHeight = P.InsideHeight
            If TypeOf P Is MSForms.Page Then Set P = P.Parent ' Prend le Multipage, car le Page est sans positionnement.
            K = (P.Width - PInsWidth) / 2: Lft = (Lft + P.Left + K): Ltop = (Ltop + P.top + P.Height - K - PInsHeight)
            If Not (TypeOf P Is MSForms.Frame Or TypeOf P Is MSForms.MultiPage) Then Exit Do
            Set P = P.Parent
            DoEvents
        Loop
        'pour la combobox on considère que le rectangle est le top à la position du curseur+3 left et right
        'il ne peut pas y avoir de raté
        If yy > 0 Then tt = Int(Ltop + Obj.Height + yy) + 3 Else tt = Ltop + Obj.Height
        EmplacementControl = Array(Lft / PPx, Ltop / PPx, (Lft + Obj.Width) / PPx, tt / PPx)
    End If
End Function
 
Mais, désolé de jouer au puriste, mais n'y aurait-il pas moyen d'avoir en bas et sur le côté droit du calendar un peu plus d'espace, comme sur le côté gauche
Salut,
A essayer :
VB:
Public Function ShowX(Optional objX As Variant, Optional Side As Long = 2, Optional top As Long = 0, Optional optionRegionale As Long = 1000)
    Dim T#
    Dim Forme
    'Calendar.OldValue = objX.Value
    'les variables argument doivent etre instruites  avant le show IMPORTANT!!!!!!!!!!
    Px = Side
    Py = top
    region = optionRegionale
    Set Obj = objX
    lance = True
   ' Me.Width = 231
   ' Me.Height = 196
     Me.Width = Me.FondCal.Width + 10
     Me.Height = Me.FondCal.Height + 28

Nullosse.
 
Bonjour
avant de bricoler je pense qu'il serait souhaitable pour chacun d'entre vous de comprendre comment le calendar fonctionne
surtout avant de proposer des absurdités
j'en ai un peu marre de voir circuler des vesions bricolées par ce que c'est moi qu'on vient chercher après
et je dois batailler pour remettre tout en ordre

@Piment
je t'ai donné le calendar avec un theme correspondant a ton interface (je l'ai testé sur ton fichier)
il peut arriver que la position + les dimensions sortent du cadre que cela te tienne j'ajoute une securité(la même que pour les cellule) pour ne pas sortir de l'application

tu a un soucis avec le scroll et l'api GetdpiFromWindow ,c'est normal elle n'existe pas sur window7 ,que cela te tienne je te donne une version universelle

je l'ai tester sur mon vieux portable w7 et ca fonctionne

si malgré tout tu a toujours des problèmes de troquage d'affichage il va falloir te tourner vers d'autres raisons possible qui pourrait engendrer ce phénomène
Pour afficher ce contenu, nous aurons besoin de votre consentement pour définir des cookies tiers.
Pour plus d'informations, consultez notre page sur les cookies.
 
Bonjour,

à mon avis voici pourquoi, le demandeur a des problèmes avec le Calendar.
Il a déplacé des contrôles dans le formulaire et modifié les dmimensions. Ci-dessous image original et modifié.
Regarde la pièce jointe 1219731
Regarde la pièce jointe 1219732
Bonjour à tous.
Ca y est j'ai compris : effectivement, cathodique à raison : j'ai fait un copier coller des 2 frames de l'Usf "Calendar de Patrick et je les ai collées dans mon Usf "Calendar. Le résultat vous le connaissez : mauvais copier/coller!!!!
J'ai également compris la relation entre les deux modules!!!
Merci à vous. Désolé d'avoir été laborieux, et Patrick merci pour le "calendar" : il est juste génial.
 
Bonjour à tous.
Ca y est j'ai compris : effectivement, cathodique à raison : j'ai fait un copier coller des 2 frames de l'Usf "Calendar de Patrick et je les ai collées dans mon Usf "Calendar. Le résultat vous le connaissez : mauvais copier/coller!!!!
J'ai également compris la relation entre les deux modules!!!
Merci à vous. Désolé d'avoir été laborieux, et Patrick merci pour le "calendar" : il est juste génial.
Patrick, merci pour ta patience et tes explications. C'est vraiment un bel outil.
 
- 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

  • Question Question
Microsoft 365 Erreur UBound
Réponses
4
Affichages
127
  • Question Question
Microsoft 365 Problème de date
Réponses
5
Affichages
138
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
385
Retour