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: 61

Staple1600

XLDnaute Barbatruc
@patricktoulon
Je construis mais je choisis le matériau ;)
Pas d'entourloupe, juste un choix judicieux ;)
qui se résume à deux lignes de codes + 1 clic
En plein dans le KISS ;)

Le premier, c'est plus mieux parce que je peux ajouter des trucs inutiles comme des jolies couleurs et autres fioritures.

On en recause demain.

Car l'horloge tourne, bientôt minuit l'heure du dodo
 

Staple1600

XLDnaute Barbatruc
@patricktoulon
pyjama enfilé
dents brossées
1er code réduit à 21 lignes (4 minutes avant minuit) ;)
Bonne nuit et à demain
⏰🕰️⏰🕰️⏰🕰️⏰🕰️⏰🕰️⏰🕰️⏰🕰️⏰🕰️
;)

PS: 20 lignes si je sacrifie un petit point esthétique.

Comme je suis gentil, je te laisse t'endormir sur ces deux lignes
Sub ITS_TIME_TO_GOTO_BED()
Dim s$, r
s = "cmd /k start ms-clock:": r = CreateObject("WScript.Shell").Run(s, 0, 0)
End Sub
1) On lance le code
2) puis on clique sur le 5ième item (celui qui commence par H.)

Nous avons bien une horloge digitale (et plus encore), non ? ;)

NB: Ne fonctionne que sur Windows.
 
Dernière édition:

ReneDav14000

XLDnaute Occasionnel
a ben ca c'est dans la construction car apres on peut plus
ici
.DrawingObjects(Lab1.Name).Font.Color = RGB(0, 210, 255)

oserais dire quand même que j'ai essayé de garder une cohérence de couleur avec le theme
et que les chiffres se voient suffisamment
Merci Patrick. Pas de soucis, je vais respecter ton travail et ne rien toucher.
C'est ton bébé après tout.

Je suis en train de travailler sur la procédure de zoom afin d'adapter les feuilles de l'application à la taille de l'écran, ce n'est pas facile. On verra le résultat.

Je travaille sur ce code qui vient de toi (en 2011) mais je me demande s'il prend en charge toutes les feuilles du fichier ou uniquement au fur et à mesure de l'activation.

VB:
Private Sub Worksheet_Activate()
 Application.ScreenUpdating = False
 Range("d20:h30").Select'ici tu selectionne la plage que tu veux elle sera zommée pour remplir tout l'ecran quelque se soit la resolution de ton ecran
ActiveWindow.ScrollColumn = selection.column
 ActiveWindow.ScrollRow = selection.row
  ActiveWindow.Zoom = True
 Range("A1").Select
 Application.ScreenUpdating = True
 End Sub
 
Dernière édition:

patricktoulon

XLDnaute Barbatruc
re
oui par code on peut zoomer selon la taille des rows ou des columns sinon le zoom d'excel qui fait la part et zoom par raport a la plus grande taille (ce qui n'est pas toujours un résultat visuel souhaité

je reviens un peu au debut de notre rencontre dans cette discussion
il me semble t'avoir dit que c'est a la conception que l'on détermine ça ET!!! EN PREMIER !!!
le zoom Post creation ne sera jamais nikel partout

tu a 11 éléments
2 textes en titre
une image a gauche
centré tu a 6 bouton + un de la largeur de deux en dessous
et l'horloge a droite

fait toit une pige sur la feuille et tiens toi en là
ensuite tu zoom rows et columns avec ma méthode
les boutons seront déformé légèrement selon les écran mais ce sera proportionnel

comprends tu ce que je t'explique ?
 

patricktoulon

XLDnaute Barbatruc
regarde par code déformant
j'ai fait une base
1665413164805.png



avec cette macro
VB:
Sub zoomexequo()
    Dim RnG As Range, RnG2
    Application.DisplayFullScreen = True
    Set RnG = [A1:k17]
    With RnG
        .RowHeight = 15: .ColumnWidth = 10.71
        Set RnG2 = ActiveWindow.Panes(1).VisibleRange
        Set RnG2 = RnG2.Resize(, RnG2.Columns.Count)
        coeffw = RnG2.Width / .Width
        coeffh = RnG2.Height / .Height
        .RowHeight = .RowHeight * coeffh
        .ColumnWidth = .ColumnWidth * coeffw
    End With
End Sub

resultat
1665413249597.png


pour tout remettre normal
VB:
Sub dimOriginale()
    Dim RnG As Range
    Set RnG = Feuil1.[A1:k17]
    Application.DisplayFullScreen = False
    With RnG
        .RowHeight = 15: .ColumnWidth = 10.71
    End With
End Sub
 

ReneDav14000

XLDnaute Occasionnel
re
oui par code on peut zoomer selon la taille des rows ou des columns sinon le zoom d'excel qui fait la part et zoom par raport a la plus grande taille (ce qui n'est pas toujours un résultat visuel souhaité

je reviens un peu au debut de notre rencontre dans cette discussion
il me semble t'avoir dit que c'est a la conception que l'on détermine ça ET!!! EN PREMIER !!!
le zoom Post creation ne sera jamais nikel partout

tu a 11 éléments
2 textes en titre
une image a gauche
centré tu a 6 bouton + un de la largeur de deux en dessous
et l'horloge a droite

fait toit une pige sur la feuille et tiens toi en là
ensuite tu zoom rows et columns avec ma méthode
les boutons seront déformé légèrement selon les écran mais ce sera proportionnel

comprends tu ce que je t'explique ?
Pas tout. Il est vrai qu'il faut que je prenne l'habitude de penser aux autres postes de travail.
J'ai la chance d'avoir un grand écran, ce qui confortable pour les yeux, mais tout le monde n'a pas le même confort.
Est-ce qu'il existe une méthode pour réduire son écran dès le départ afin qu'il soit adaptable partout ?
C'est certainement ce que tu m'explique ici :rolleyes:
 

Discussions similaires

Réponses
7
Affichages
514
M
Réponses
9
Affichages
472
Maikales
M

Statistiques des forums

Discussions
312 207
Messages
2 086 238
Membres
103 162
dernier inscrit
fcfg