XL 2016 Horloge dans feuille de calcul Excel

ReneDav14000

XLDnaute Occasionnel
Bonjour à tous et merci de m'accueillir sur votre site.
Je ne suis pas un expert en Vba, mais je me débrouille un peu.
J'ai 61ans (bientôt la retraite) et j'exerce dans la fonction publique territoriale.
Je développe (j'essaie plutôt) des applications Excel pour améliorer les routines de travail.

J'ai donc un sujet à vous soumettre :
Avec l'aide de différents tuto, j'ai une horloge analogique que je souhaite insérer dans une feuille de calcul et que l'horloge se mette en route dès l'ouverture du fichier.
La feuille "Accueil" où se trouve l'horloge est la feuille qui sera affichée en première.
Pour le moment se met en route en cliquant sur un bouton (feuille "données horloge").
Merci par avance pour votre aide
 

Pièces jointes

  • Projet2.xlsm
    262.2 KB · Affichages: 62

ReneDav14000

XLDnaute Occasionnel
Voici ce que j'ai réussi à faire avec des zones de texte dans l'UF.
Qu'en pensez-vous ?
J'ai la même chose avec des chiffres romains et ça rend pas mal non plus. Il faut juste que j'arrive à bien les aligner, mais ça ne devrait pas être trop difficile
 

Pièces jointes

  • horloge analogique2.xlsm
    33.7 KB · Affichages: 6
Dernière édition:

jm.andryszak

XLDnaute Occasionnel
Bonjour
Pas mieux, j'ai dû revoir une partie du code.
Pour aligner les labels représentant les heures, il faut tenir compte de la taille et de la position de l'horloge.
Je l'ai fait sur mon fichier de façon plus ou moins empirique et ça manque encore de finesse, mais j'avoue que
pour le moment je laisse tomber, je suis à court d'idée.
Pour l'image c'est OK.
Pour les réglages Labels Heures et Image c'est dans : Private Sub UserForm_initialize
Cordialement et courage pour la suite.
 

Pièces jointes

  • horloge analogique.xlsm
    44 KB · Affichages: 4
  • AISNE.gif
    AISNE.gif
    3.3 KB · Affichages: 9

ReneDav14000

XLDnaute Occasionnel
Bonjour à tous,
Merci jm.andryszak pour votre aide.
Je vous joins mon dernier modèle. J'y ai apporté une petite modif qui permet aux heures de passer à la numérotation du soir (13h, 14h etc..) le code se trouve dans l'initialise de l'UF. Il demande certainement à être amélioré mais j'ai fait avec mes connaissances.
Voici mon (notre) dernier résultat
N'hésitez pas à y apporter votre savoir-faire et encore merci pour votre coopération
 

Pièces jointes

  • horloge analogique2.xlsm
    40.4 KB · Affichages: 8

ReneDav14000

XLDnaute Occasionnel
Bonjour patricktoulon,
Merci pour ta réponse. L'intérêt d'une horloge aussi grande est qu'elle remplit un espace vide dans ma page d'accueil, rien d'autre.
Merci pour le code et ta suggestion pour le 12, je mets tout ça en pratique et je reviens dire ce qu'il en est.
 

ReneDav14000

XLDnaute Occasionnel
Ah oui, je n'ai pas pensé à ça, zut !
Bon, je vais me remettre au travail et chercher comment résoudre le problème.
La montre va se déclencher toute seule lorsque j'aurai complètement fini mon application. Elle devrait démarrer dès l'ouverture du fichier et de l'affichage de la feuille "Accueil".
Merci d'avoir soulevé ce lièvre, je vais jouer les chasseurs maintenant.
 

ReneDav14000

XLDnaute Occasionnel
Patrick,
Est-ce que je peux utiliser ce code que tu avais proposé dans une précédente conversation ? Est-ce qu'il va faire le boulot ?
Merci par avance
VB:
Private Sub UserForm_Initialize()
    Dim ctl As Control, ratioW#, ratioH#, wstate&
    With Application: wstate = .WindowState: .WindowState = xlMaximized:
        ratioW = Application.Width / Me.Width
        ratioH = Application.Height / Me.Height
        .WindowState = wstate
    End With
    With Me
        .StartUpPosition = 0: .Left = 0: .Top = 0
        .Width = (.Width * ratioW) - (.Width - .InsideWidth)
        .Height = (.Height * ratioH) - (.Height - .InsideHeight) + (.Width - .InsideWidth)
    End With
    For Each ctl In Me.Controls
        ctl.Move ctl.Left * ratioW, ctl.Top * ratioH, ctl.Width * ratioW, ctl.Height * ratioH
        Select Case TypeName(ctl)
        Case "TextBox", "Label", "Frame", "CommandButton", "MultiPage", "ListBox", "ComboBox", "CheckBox", "OptionButton"
            ctl.Font.Size = ctl.Font.Size * ratioH
        End Select
    Next

End Sub
 

patricktoulon

XLDnaute Barbatruc
re
c'est pas a cela que je pensais au tout premier abords c'est à ta page d'aceuil
qui m'oblige a scroller vers le bas
pour chopper le bouton "<< Accéder aux données statistiques des personnels >>"
et encore j'ai redressé plein d'autres choses



demo.gif


pour faire une page d'acceuil il faut
déterminer au préalable une surface fixe pour n'importe quelle condition
après c'est juste un zoom sur cette surface
de façon a ce que cette page d’accueil soit visible dans n'importe quelle condition
commence déjà par ça et on verra après pour l’horloge
c'est le problème chez beaucoup d'amateurs , il développe sur leur bécanes et ne voient pas ce qui peut se passer ailleurs (sur une autre bécane )
maintenant tu vois
alors imagine demain tu change d’écran
LOL!!
ma politique
je pars du principe que l'utilisateur a le plus petit(résolution écran) ecran (800*600)notre bon vieux Win 95
soit 600 pixel environ par 450 environ
et je dois mettre tout mes boutons et photos a tout i cointi dans cette surface
QUITTE A FAIRE UN ZOOM PROPORTIONNEL sur cette surface ( et là j'ai tout dis )
ainsi sur chaque écran j'aurais tout mon interface devant mes yeux en toute circonstances

sans ça c'est pas la peine de faire une page d’accueil , ça n'a pas de sens

comme quoi tu vois c'est pas aussi simple de concevoir (ne serais ce qu'une page d’accueil jolie jolie )
;)

et je réhitere ma question
à quoi pourrait bien te servir une horloge qui mange tout l'ecran (une bonne partie en tout ca )
je suis miope mais pas à ce point là en tout cas😂
 
Dernière édition:

ReneDav14000

XLDnaute Occasionnel
Merci pour tes précieux conseils. Je vais retravailler tout ça.
Pour ce qui est de l'horloge, c'est une demande. Au début, elle était plus petite mais ne plaisait pas.
Il m'a fallu arriver à cette taille pour que ça plaise. Je ne fais qu'obéir, même si je suis d'accord avec toi, cela n'apporte pas une plus-value à l'utilisation de l'application, c'est du décors.
 

ReneDav14000

XLDnaute Occasionnel
J'ai ce code sous le coude qui pourrait peut-être servir à redimensionner les feuilles selon l'écran, qu'en penses-tu ?
Pour l'horloge, j'ai fait selon mes capacités. Toutefois, je vais essayer de faire mieux.
Voici le code :
VB:
Private Sub Workbook_Open()
Dim Feuille As Worksheet
For Each Feuille In ThisWorkbook.Sheets
    R$ = ""
    Select Case Feuille.Name
     Case "Feuil1": R$ = "b1:l1"
     Case "Feuil2": R$ = "b1:m1"
     Case "Feuil3": R$ = "b1:n1"
     Case "Feuil4": R$ = "b1:o1"
     Case "Feuil5": R$ = "b1:p1"
   End Select
   If R$ > "" Then
      Feuille.Activate
      Range(R$).Select: ActiveWindow.Zoom = True
      ActiveWindow.DisplayHeadings = False: Range("A1").Select
   End If
Next
End Sub
 

Discussions similaires