Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2013 Positionner le super calendrier de Roland_M

  • Initiateur de la discussion Initiateur de la discussion bbb38
  • Date de début Date de début

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 !

bbb38

XLDnaute Accro
Bonjour le forum,
Je n’arrive pas à positionner le super calendrier de Roland_M dans mon formulaire. Je souhaiterai faire apparaitre le calendrier à côté du TextBox « Date de l’opération », alors que celui-ci se situe à droite de l’écran. Cliquer sur le bouton « Comptabilité », puis sur le TextBox.
J’espère que mes explications ne sont pas trop confuses, et vous remercie de l’attention que vous porterez à mon problème.
Cordialement,
Bernard
 

Pièces jointes

Re : Positionner le super calendrier de Roland_M

Bonjour,

Dans ton userform : USF5 regarde les lignes 6 et 7
Changement :
Me.Top + 120
If Me.Left + 22 > 0 Then .ScrollWidth = Me.Left + 22


Code:
'appel routines ci-dessus pour lancer le calendrier
Private Sub SelectDateCalendrier(DatTag As Date, Optional MsgCaption$)
    DateSELECT = False
    Load fmSTD_Calendrier 'charge calendrier
    With fmSTD_Calendrier 'passe les val au calendrier pour se positionner
        ''''If Me.Top > 0 Then .ScrollHeight = Me.Top Else .ScrollHeight = 1 '1mini   ''' Copie au cas où
        ''''If Me.Left + Me.Width > 0 Then .ScrollWidth = Me.Left + Me.Width Else .ScrollWidth = 1 '1mini  ''' Copie au cas où
        If Me.Top > 0 Then .ScrollHeight = Me.Top + 120 Else .ScrollHeight = 1 '1mini   'Changement ici
        If Me.Left + 22 > 0 Then .ScrollWidth = Me.Left + 22 Else .ScrollWidth = 1 '1mini     'Changement ici
        .Tag = DatTag 'place la date dans le Tag
        .Caption = MsgCaption$ 'msg caption
    End With
    fmSTD_Calendrier.Show
    'récupère la date passée par le .tag
    If IsDate(fmSTD_Calendrier.Tag) Then DateSELECT = CDate(fmSTD_Calendrier.Tag)
    Unload fmSTD_Calendrier 'décharge calendrier
End Sub



Tentative
 
Re : Positionner le super calendrier de Roland_M

Bonjour Tentative, le forum,
Je te remercie pour la correction du code. Cela fonctionne parfaitement. Demain, j’essaierai de comprendre la modification.
Cordialement,
Bernard
 
Re : Positionner le super calendrier de Roland_M

Bonsoir,

voir modif pour position

ton userform est très grand, j'ai rajouté une fonction qui adapte l'userf à la résolution de l'écran

j'ai donc collé un module avec explication et ceci dans Usrf5:
Private Sub UserForm_Activate()
UserformZoomSelonResolution Me, "centre" 'choix "centre" "haut"ou"<haut>" "<haut" "haut>" "bas"ou"<bas>" "<bas" "bas>"
. . .
. . .
End Sub


mais tu adapteras dans mon module cette ligne avec les valeurs de la résolution dans laquelle tu as réalisé ton userf !
pour qu'il s'adapte à un écran plus petit ou plus grand ! actuellement j'ai mis 1600 par 900 mais il te faut mettre tes vrais valeurs !

>>> Public Const ResolutionCreatX% = 1600, ResolutionCreatY% = 900
 

Pièces jointes

Dernière édition:
Re : Positionner le super calendrier de Roland_M

Bonjour Roland_M,

Désolé de m'incruster, juste une question
pour adapter la largeur de la feuille menu à l'écran, tu peux utiliser ceci:

Range("A1:AN1").Select: ActiveWindow.Zoom = True: Range("A1").Select
Roland_M
Dans le fichier joint, tu as préconisé cette ligne de code. Mais où doit-on la mettre au juste?

En te remerciant par avance.

Bon week-end.
 
Re : Positionner le super calendrier de Roland_M

bonjour,

dans ThisworkBook, comme ceci avec le nom de ta feuille !!!
Private Sub Workbook_Open()
Sheets("NomDeTaFeuille").Activate
Range("A1:Z1").Select: ActiveWindow.Zoom = True: Range("A1").Select
End Sub

et si tu veux dans le code de cette Feuille
Private Sub Worksheet_Activate()
Range("A1:Z1").Select: ActiveWindow.Zoom = True: Range("A1").Select
End Sub

Range("A1:Z1") < à adapter !

en fait c'est très simple il suffit de sélectionner sur la 1' ligne une 1'col et une dernière exemple "A1:M1"
et de faire un zoom auto sur sélection !

on peut aussi choisir sur un champ s'il est trop grand le zoom va être fortement diminué !?

exmple "A1:M32" tu fais des essais et tu verras !
 
Dernière édition:
Re : Positionner le super calendrier de Roland_M

Bonjour Roland_M, le forum,
Je viens de voir tes messages, et je t’en remercie. Je testerai ta proposition cet après-midi.
Cordialement,
Bernard
 
Re : Positionner le super calendrier de Roland_M

Merci beaucoup Roland_M, j'ai effectué des tests et j'avais mis le code comme tu le préconises dans Thisworkbook-->workbook_open

@bbb38: Désolé pour mon intrusion intempestive

Bon WE à tous.

Cordialement,

Cathodique
 
Re : Positionner le super calendrier de Roland_M

Bonjour Roland_M,
Je viens d’effectuer les tests. C’est super. Je te remercie de toutes ces précisions et modifications. Tes explications sont claires et précises. Ce calendrier est magnifique. Toutes mes félicitations.
Avec mes remerciements réitérés.
Et en te souhaitant une bonne fin de semaine.
Cordialement,
Bernard
 
- 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
5
Affichages
542
Deleted member 453598
D
Réponses
22
Affichages
1 K
  • Question Question
XL 2010 CODE VBA
Réponses
4
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…