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
Bonjour à tous,
J'ai bien étudier l'horloge qui m'a été donné en exemple par kiki29, mais je ne vois pas comment je pourrais la construire dans une UserForm, ce qui serait plus pratique que de l'incruster sur une feuille de calcul.
Si vous avez des idées à me soumettre, je suis tout ouïe.
Merci par avance
 

jm.andryszak

XLDnaute Occasionnel
Bonjour
Voila je me lance, j'ai réalisé il y a quelques mois une horloge analogique inséré dans un userform
Elle démarre à l'ouverture du fichier.
Je l'ai modifié aujourd'hui et vous la propose.
Question esthétique pas terrible par rapport à ce que j'ai vu.
En espérant que j'ai bien déclaré les API pour les 64 bits, je suis en 32.
Impatient de vos retours pour améliorations éventuelles,
Merci
 

Pièces jointes

  • horloge analogique.xlsm
    40.6 KB · Affichages: 42

ReneDav14000

XLDnaute Occasionnel
Bonsoir jm.andryszack,
Tout d'abord merci pour votre participation et votre aide.
Je rencontre plusieurs problème dès l'ouverture du fichier.
1er message - "Un composant ActiveX ne peut pas créer l'objet"
VB:
Private Sub CommandButton1_Click()
Usf.Show 0
End Sub
2éme "Incompatibilité de type"
Code:
Public Function DrawLine(LineWidth As Long, LineColor As Double, X0 As Double, Y0 As Double, X1 As Double, Y1 As Double)
'***********************************************
Dim WinPen As Long
Dim CustomPen As Long
Dim ScreenPoint As POINTAPI
'***********************************************
'Crée un stylo logique qui a le style, la largeur et la couleur donnés
CustomPen = CreatePen(0, LineWidth, LineColor) 'ICI'
'Sélectionne un objet dans le contexte de périphérique spécifié
WinPen = SelectObject(DC, CustomPen)
'Cette fonction permet de changer la position du pointeur graphique
Call MoveToEx(DC, X0, Y0, ScreenPoint)
'Trace une ligne de la position actuelle X0,Y0 jusqu’au point spécifié X1,Y1
Call LineTo(DC, X1, Y1)
'Call SelectObject(Hdc, aWinPen)
'Supprime de la mémoire centrale les objets pinceau, stylo
Call DeleteObject(CustomPen)
End Function
 

ReneDav14000

XLDnaute Occasionnel
Re,
J'ai réussi à corriger les erreurs, j'ai passé tous les "Long" en "LongPtr" et ça fonctionne.
Il est vrai qu'au niveau esthétique on y est pas, mais ça le mérite de m'avoir aidé.
Mille merci pour votre travail. Je vais essayer de l'améliorer avec mes piètres connaissances.
On verra bien si je réussi. J'aimerai surtout l'agrandir, car c'est un peu petit.
 

ReneDav14000

XLDnaute Occasionnel
J'ai réussi à agrandir l'horloge dans l'UserForm. Par contre je ne trouve pas pour modifier la grosseur des aiguilles et des points. Pouvez-vous m'indiquer où je dois agir s'il vous plait ?
Merci par avance
 

Pièces jointes

  • horloge analogique.xlsm
    38 KB · Affichages: 20

jm.andryszak

XLDnaute Occasionnel
Bonjour
Pour modifier les grosseurs c'est à l'appel de la fonction DrawLine dans les procédures.

Public Function DrawLine(LineWidth As LongPtr, LineColor As Double, X0 As Double, Y0 As Double, X1 As Double, Y1 As Double)

LineWidth : grosseur des aiguilles et des points
LineColor : couleur des aiguilles et des points
X0, YO : point de départ
X1, Y1 : point d'arrivée
ex : DrawLine 2, vbRed, X0, Y0, X0 + Rayon * Cos(Angle), Y0 + Rayon * Sin(Angle)
PS : Bien qu'à la retraite, je suis très matinal
Bonne journée dans la territoriale.
 

ReneDav14000

XLDnaute Occasionnel
J'ai réussi à trouver et à modifier l'horloge ça commence à mieux me plaire.
Juste une petite question pour terminer, existe-t 'il une méthode pour ajouter des chiffres autour du cadran ?
Merci par avance
Je vous joins le fichier modifié
 

Pièces jointes

  • horloge analogique.xlsm
    37.7 KB · Affichages: 15

ReneDav14000

XLDnaute Occasionnel
J'ai inséré l'horloge dans mon projet, ça me plait assez, dommage qu'il n'y ait pas les chiffres.
Voir fichier joint page "accueil"
N'hésitez pas sur la critique si elle est constructive.
Un grand merci à vous tous qui m'avez porté assistance. Je cherche encore pour la numérotation des heures, je ne désespère pas.
 

Pièces jointes

  • Projet_Yan.xlsm
    259.3 KB · Affichages: 23

Discussions similaires

Statistiques des forums

Discussions
315 098
Messages
2 116 189
Membres
112 679
dernier inscrit
Yupanki