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...
Bonjour Patrick.
Je t'interpelle de nouveau au sujet de ton "Calendar" : je l'ai intégré dans l'un de mes fichiers et il est "rogné" en bas et à droite (Voir image).

Si tu pouvais m'aider. Merci.Regarde la pièce jointe 1219655
je sais bien que tu t'adresses à @patricktoulon . mais ton message m'a obligé à réagir.

Patrick n'est pas devin, il faut joindre le fichier concerné par le problème que tu signales.
 
Bonjour le Fil
Bonjour Claude
pour répondre a ta question , j'ai modifié chez moi !
cette partie de la procédure Function ShowX.
VB:
lance = True
    Me.Width = 240: Me.Height = 205 'Ici ce que j'ai mis
    If TypeName(Obj) = "Range" Then
vérifie que ca répond à ta demande .
Cordialement
Jean marie
 
Bonjour à tous
non c'est pas ça les gars
en fait le left et top sont basés sur le control appellant du userform mais si le control est bas dans le userform et que le userform
et bas la distance n'est plus suffisante pour afficher le calendar en entier tout simplement
demonstration:
demo3.gif

du coup on va ajouter une securité pour que le userform ne sorte pas de l'application comme pour les range
dans la sub de placementUF dans le calendar
comme suit
VB:
Private Sub placementUF(Obj As Object)
    If Not Obj Is Nothing Then
        Dim Lft As Double, top As Double, P As Object, PInsWidth As Double, PInsHeight As Double
        Dim K As Double
        Lft = Obj.Left: top = Obj.top: Set P = Obj.Parent    ' Normalement Page, Frame ou UserForm
        Do
            PInsWidth = P.InsideWidth: PInsHeight = P.InsideHeight    ' Le Page en est pourvu, mais pas le Multipage.
            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): top = (top + 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
        Loop
        Me.Left = Lft + ((Obj.Width / 2) * Px)     ' a gauche en top
        Me.top = top + ((Obj.Height / 2) * Py)
   '*******************************************
   'par securité on empêche le calendar de sortir de l'application comme pour les range 
    If Me.Left > Application.Left + Application.Width - Me.Width Then Me.Left = Application.Left + Application.Width - Me.Width - 15
      If Me.top > Application.top + Application.Height - Me.Height Then Me.top = Application.top + Application.Height - Me.Height - 15
  '********************************************'
     End If
End Sub
 
Bonjour à tous
non c'est pas ça les gars
en fait le left et top sont basés sur le control appellant du userform mais si le control est bas dans le userform et que le userform
et bas la distance n'est plus suffisante pour afficher le calendar en entier tout simplement
demonstration:
Regarde la pièce jointe 1219658
du coup on va ajouter une securité pour que le userform ne sorte pas de l'application comme pour les range
dans la sub de placementUF dans le calendar
comme suit
VB:
Private Sub placementUF(Obj As Object)
    If Not Obj Is Nothing Then
        Dim Lft As Double, top As Double, P As Object, PInsWidth As Double, PInsHeight As Double
        Dim K As Double
        Lft = Obj.Left: top = Obj.top: Set P = Obj.Parent    ' Normalement Page, Frame ou UserForm
        Do
            PInsWidth = P.InsideWidth: PInsHeight = P.InsideHeight    ' Le Page en est pourvu, mais pas le Multipage.
            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): top = (top + 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
        Loop
        Me.Left = Lft + ((Obj.Width / 2) * Px)     ' a gauche en top
        Me.top = top + ((Obj.Height / 2) * Py)
   '*******************************************
   'par securité on empêche le calendar de sortir de l'application comme pour les range
    If Me.Left > Application.Left + Application.Width - Me.Width Then Me.Left = Application.Left + Application.Width - Me.Width - 15
      If Me.top > Application.top + Application.Height - Me.Height Then Me.top = Application.top + Application.Height - Me.Height - 15
  '********************************************'
     End If
End Sub
jcf6464, Patrick bonsoir.
Merci de vos retours.
Patrick, j'ai recopié ton code modifié, mais toujours le même problème. Au début j'ai pensé comme toi, mais j'étais incapable de modifier quoique ce soit. : d'où mon appel à l'aide.
Mais en vrai, le problème est le même, même si le textbox est placé en haut du formulaire. Je t'ai mis une capture d'image.
jfc6464, je mets le fichier en pièces jointes. Je vous demande de l'indulgence sur ce que j'ai produit (je ne suis qu'un petit bricoleur).
Merci de vos retour.
Calendrier2.png
 
jcf6464, Patrick bonsoir.
Merci de vos retours.
Patrick, j'ai recopié ton code modifié, mais toujours le même problème. Au début j'ai pensé comme toi, mais j'étais incapable de modifier quoique ce soit. : d'où mon appel à l'aide.
Mais en vrai, le problème est le même, même si le textbox est placé en haut du formulaire. Je t'ai mis une capture d'image.
jfc6464, je mets le fichier en pièces jointes. Je vous demande de l'indulgence sur ce que j'ai produit (je ne suis qu'un petit bricoleur).
Merci de vos retour.Regarde la pièce jointe 1219701
Oups, j'ai oublié le fichier.
 

Pièces jointes

jcf6464, Patrick bonsoir.
Merci de vos retours.
Patrick, j'ai recopié ton code modifié, mais toujours le même problème. Au début j'ai pensé comme toi, mais j'étais incapable de modifier quoique ce soit. : d'où mon appel à l'aide.
Mais en vrai, le problème est le même, même si le textbox est placé en haut du formulaire. Je t'ai mis une capture d'image.
jfc6464, je mets le fichier en pièces jointes. Je vous demande de l'indulgence sur ce que j'ai produit (je ne suis qu'un petit bricoleur).
Merci de vos retour.Regarde la pièce jointe 1219701
Déplace la textbox vers la gauche du formulaire et tu n'auras plus de problème. 1173 de Width, tu dois avoir un immense écran.

Demo1.gif
 
Cathodique bonsoir,
Merci pour ton retour, Effectivement, je travaille sur un moniteur assez grand. Mais je n'ai pas la ligne que tu indiques dans les codes du "Calendar".
J'ai déplacé le textbox sur la gauche, mais toujours le même problème. J'ai tenté en agrandissant la "Frame" du "calendar", mais aucun changement. D'ailleurs,si tu regardes bien, dans ta démo jointe, le problème est entier.
Je reste dans l'attente d'un retour.
Merci.
 
Relis bien ce que j'ai écrit. Je n'ai pas mentionné le Calendar.
L'erreur est dans cette fonction: Function EmplacementControl(Obj As Object, Optional yy As Single = 0), dans le module standard "Modul_MouseWhelle"
Excuse moi Cathodique, je n'avais pas compris ton propos. J'ai regardé la "function" que tu mentionne et effectivement j'ai trouvé la ligne.
Mais je ne vois pas ce qu'il faut mettre à la place, et surtout, je ne vois pas le rapport avec le problème d'affichage du "Calendar".
Cette fonction, si j'ai bien compris, et c'est pas gagné, Patrick l'utilise dans les codes pour permettre le défilement dans un combobox avec la molette de la souris. De ce coté, aucun problème avéré à ce jour.
Les codes pour le"calendar" lui il se trouve dans le formulaire "Calendar". Il n'y a aucun lien entre les deux. Du moins c'est ce que j'ai compris.
 
Excuse moi Cathodique, je n'avais pas compris ton propos. J'ai regardé la "function" que tu mentionne et effectivement j'ai trouvé la ligne.
Mais je ne vois pas ce qu'il faut mettre à la place, et surtout, je ne vois pas le rapport avec le problème d'affichage du "Calendar".
Cette fonction, si j'ai bien compris, et c'est pas gagné, Patrick l'utilise dans les codes pour permettre le défilement dans un combobox avec la molette de la souris. De ce coté, aucun problème avéré à ce jour.
Les codes pour le"calendar" lui il se trouve dans le formulaire "Calendar". Il n'y a aucun lien entre les deux. Du moins c'est ce que j'ai compris.
En effet, Patrick a encore du pain sur la planche.
Tu me dis que la fonction concerne le défilement dans une combobox via la molette.
La fonction plante sur ordinateur, windows seven 64 bits et excel 2010 32 bits.
à un moment ou un autre la fonction est appelée plus qu'elle plante.

Dis-moi, si tout est rentré dans l'ordre avec le fichier joint précédemment.
 
Merci pour vos retour.
J'ai ouvert le fichier et testé : c'est nettement mieux.
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. En visuel, ce serait beaucoup mieux je pense. Et si vous pouvez m'indiquer où vous avez apporté la modification," histoire de ne pas mourir couillon".
 
- 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