L'HEURE EN TEMPS RÉEL DANS UNE FEUILLE EXCEL

dedederidiny Messages postés 42 Date d'inscription dimanche 1 février 2004 Statut Membre Dernière intervention 15 mai 2011 - 15 nov. 2006 à 06:27
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 - 8 avril 2008 à 08:29
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/40324-l-heure-en-temps-reel-dans-une-feuille-excel

cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
8 avril 2008 à 08:29
Très bon code, si vous voulez mettre l'heure dans une "UserForm", ajoutez un label et changez suivant le code suivant:
'Module
Public Declare Function SetTimer Lib "user32" (ByVal hWnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
Public Declare Function KillTimer Lib "user32" (ByVal hWnd As Long, ByVal nIDEvent As Long) As Long

Public UpDateTimeRange As Range
Public UpDateTimeFormat As String

Public Sub UpDateTime(ByVal hWnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long)
On Error Resume Next
UserForm1.Label1 = Format(Time, UpDateTimeFormat)
On Error GoTo 0
End Sub


'Commande
'start
Private Sub CommandButton1_Click()
UpDateTimeFormat = "HH:MM:SS"
SetTimer Application.hWnd, 0, 1000, AddressOf UpDateTime ‘On démarre l’heure

End Sub
'stop
Private Sub CommandButton2_Click()
KillTimer Application.hWnd, 0 'On arrête l'heure
End Sub
philgriadmin Messages postés 6 Date d'inscription vendredi 16 juin 2006 Statut Membre Dernière intervention 9 février 2007
9 févr. 2007 à 12:39
Bonjour à TOUS
CELTAR pour changer l'heure de cellule il suffit de modifier la ligne 30 comme suit :
pour la feuille 2 Cellule B4 par exemple
Worksheets(2).Cells(4,2).Value = Format(Time, "HH:MM:SS")
J'en profite pour bien spécifier qu'il s'agit d'une virgule et non d'un point pour séparer les valeurs de la propriété Cells(ligne, colonne).
Cependant si tu veux tu peux aussi modifier toujours cette fameuse ligne 30 en
ActiveSheet.ActiveCell.value= Format(Time, "HH:MM:SS")
ce qui n'effacera pas l'ancienne cellule sélectionnée, à moins bien sûr de rajouter un événement :"Private Sub Worksheet_SelectionChange(ByVal Target As Range) [...]End Sub" mais qui déplacera l'heure vers la cellule active.

COL :
J'ai moi aussi le message d'erreur qui vient de la propriété hWnd non gérée par l'objet application...
En cours de recherche de solution.
Si quelqu'un l'a déjà ... Je suis preneur. Merci
cs_celtar Messages postés 1 Date d'inscription jeudi 4 janvier 2007 Statut Membre Dernière intervention 4 janvier 2007
4 janv. 2007 à 22:13
bonjour

il m' est impossible de changer de cellule l' heure malgré les instruction ci dessus

"les indexes de Cells(a,b) où a est l'index de ligne et b l'index de colonne."

mon affichage reste sur la ligne 1(a) et colonne 2 (b)

si vous pouvais m' aider merci a vous.
cs_Col Messages postés 25 Date d'inscription mercredi 23 juin 2004 Statut Membre Dernière intervention 13 octobre 2009
20 nov. 2006 à 16:06
Bonjour !
J'ai testé le fichier du zip et j'ai toujours le même message d'erreur.
dthuler Messages postés 121 Date d'inscription dimanche 9 mars 2003 Statut Membre Dernière intervention 29 avril 2009
17 nov. 2006 à 12:41
Col: Prends référence sur le ZIP ajouté, peut-être que la fonction appelée ne contient pas les arguments nécessaires.

Dokle: Peux-tu préciser? je ne vois pas ce qui peut clocher dans une fonction aussi simple que Cells(ligne,colonne)...
dokle Messages postés 6 Date d'inscription mercredi 18 octobre 2006 Statut Membre Dernière intervention 17 janvier 2007
17 nov. 2006 à 08:04
Je n'arrive pas à déplacer le cellule de a mais b si
cs_Col Messages postés 25 Date d'inscription mercredi 23 juin 2004 Statut Membre Dernière intervention 13 octobre 2009
16 nov. 2006 à 13:39
"Erreur d'éxécution 438 - Propriété ou méthode non gérée par cet objet"
dthuler Messages postés 121 Date d'inscription dimanche 9 mars 2003 Statut Membre Dernière intervention 29 avril 2009
16 nov. 2006 à 12:52
Salut Col, te sort-il un message d'erreur et si oui lequel?
Normalement ça devrait fonctionner...
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
16 nov. 2006 à 11:29
Euh ...
Il faudrait que tu décomposes l'instruction pour savoir si c'est SetTimer qui pose problème, ou bien AdresseOf
cs_Col Messages postés 25 Date d'inscription mercredi 23 juin 2004 Statut Membre Dernière intervention 13 octobre 2009
16 nov. 2006 à 11:07
Windows server 2003 - Excel 2000
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
16 nov. 2006 à 11:05
Il ne devrait pas. Quelles versions de Windows et de Excel utilises-tu ?
cs_Col Messages postés 25 Date d'inscription mercredi 23 juin 2004 Statut Membre Dernière intervention 13 octobre 2009
16 nov. 2006 à 11:00
bonjour,
ce code est très interessant, mais à l'ouverture la macro bloque sur "SetTimer Application.hWnd, 0, 1000, AddressOf UpDateTime"
Col.
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
16 nov. 2006 à 10:32
Et le prog est "déplaçable partout" dans la mesure où le PC sur lequel tu le placeras disposes d'Excel.
Pas de DLLs cachées pour la transportabilité, comme pour un prog VB6.
dthuler Messages postés 121 Date d'inscription dimanche 9 mars 2003 Statut Membre Dernière intervention 29 avril 2009
16 nov. 2006 à 10:08
Dokle: pour customiser l'action, je te propose de remplacer ou modifier la ligne 30; Si tu veux changer l'emplacement de l'affichage sur une autre cellule, change:
l'index de worksheets pour changer de feuille (1=1ère feuille, 2=2ème, etc...) et
les indexes de Cells(a,b) où a est l'index de ligne et b l'index de colonne.
Sinon Econs a tout dit...
David
dokle Messages postés 6 Date d'inscription mercredi 18 octobre 2006 Statut Membre Dernière intervention 17 janvier 2007
16 nov. 2006 à 09:19
Est c q'on peut le deplacer partout
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
16 nov. 2006 à 09:16
Ce qu'il faut faire est parfaitement décrit dans les commentaires du code.

A la rigueur, il manque l'instruction "Ouvrir Excel, puis l'éditeur de Macro". Ensuite, tout est écrit ci-dessus.
dokle Messages postés 6 Date d'inscription mercredi 18 octobre 2006 Statut Membre Dernière intervention 17 janvier 2007
16 nov. 2006 à 08:54
comment faire pour l'executer bye
dthuler Messages postés 121 Date d'inscription dimanche 9 mars 2003 Statut Membre Dernière intervention 29 avril 2009
15 nov. 2006 à 08:46
Voilà, petite correction suite à l'aimable note de 'diny...
Si vous avez des suggestions ou des remarques, c'est avec plaisir que je les lis !
dthuler Messages postés 121 Date d'inscription dimanche 9 mars 2003 Statut Membre Dernière intervention 29 avril 2009
15 nov. 2006 à 08:32
Salut Dedederidiny,
C'est bizarre, je l'avais testé chez moi et ça fonctionnait... je vais voir ce qu'il en est aujourd'hui et corriger ça...
David
dedederidiny Messages postés 42 Date d'inscription dimanche 1 février 2004 Statut Membre Dernière intervention 15 mai 2011
15 nov. 2006 à 06:27
sympa et peut etre utile.
la macro Workbook_BeforeClose donne une erreur chez moi. salut
Rejoignez-nous