EXCEL : Récupération heure pour macro
Résolu/Fermé
alainjjb
Messages postés
778
Date d'inscription
jeudi 17 mai 2007
Statut
Membre
Dernière intervention
8 janvier 2025
-
8 déc. 2013 à 11:21
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 - 8 déc. 2013 à 19:32
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 - 8 déc. 2013 à 19:32
A voir également:
- Vba heure actuelle
- Liste déroulante excel - Guide
- Si et excel - Guide
- Word et excel gratuit - Guide
- Aller à la ligne excel - Guide
- Déplacer une colonne excel - Guide
8 réponses
Mike-31
Messages postés
18354
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
1 janvier 2025
5 110
Modifié par Mike-31 le 8/12/2013 à 11:29
Modifié par Mike-31 le 8/12/2013 à 11:29
Bonjour,
Que veux tu dire par "elle ne se met pas à jour en direct", veux tu qu'elle se mette à jour à chaque déclenchement de ta macro ou veux tu afficher l'heure courante dans une cellule et voir défilé les secondes, minutes etc
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Que veux tu dire par "elle ne se met pas à jour en direct", veux tu qu'elle se mette à jour à chaque déclenchement de ta macro ou veux tu afficher l'heure courante dans une cellule et voir défilé les secondes, minutes etc
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
alainjjb
Messages postés
778
Date d'inscription
jeudi 17 mai 2007
Statut
Membre
Dernière intervention
8 janvier 2025
110
Modifié par alainjjb le 8/12/2013 à 12:39
Modifié par alainjjb le 8/12/2013 à 12:39
Bonjour Mike,
merci de prendre en compte mon Help.
Par exemple si j'ouvre mon tableau à 11h59 ma cellule contenant l'heure actuelle affiche 11. Lorsque l'heure passe à 12 h, l'affichage reste à 11. Lorsque je vais cliquer sur le bouton "MAJ" qui lance la macro qu'elle est l'heure qui sera prise en compte dans cette macro : l'heure affichée ou l'heure réelle ? Que faut-il faire pour que l'heure affichée soit tjs l'heure réelle ?
Dans la macro je fais référence à la cellule qui contient l'heure affichée (Cf. formule du 1er message).
Merci encore
Alain
merci de prendre en compte mon Help.
Par exemple si j'ouvre mon tableau à 11h59 ma cellule contenant l'heure actuelle affiche 11. Lorsque l'heure passe à 12 h, l'affichage reste à 11. Lorsque je vais cliquer sur le bouton "MAJ" qui lance la macro qu'elle est l'heure qui sera prise en compte dans cette macro : l'heure affichée ou l'heure réelle ? Que faut-il faire pour que l'heure affichée soit tjs l'heure réelle ?
Dans la macro je fais référence à la cellule qui contient l'heure affichée (Cf. formule du 1er message).
Merci encore
Alain
Mike-31
Messages postés
18354
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
1 janvier 2025
5 110
Modifié par Mike-31 le 8/12/2013 à 13:09
Modifié par Mike-31 le 8/12/2013 à 13:09
Re,
Je ne comprends pas très bien ton problème,
exemple en cellule B2 tu as 11 qui correspond à 11 heures, jusque là ça, mais ce 11 correspond à quoi, à l'heure d'ouverture du fichier ou au lancement du code à une heure précédente ou peux tu la saisir manuellement ?
ensuite tu souhaites lancer ta macro, il faut qu'elle reprenne ce 11 contenu en cellule B2 sans s'actualiser quelque soit l'heure, c'est bien cela ?
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Je ne comprends pas très bien ton problème,
exemple en cellule B2 tu as 11 qui correspond à 11 heures, jusque là ça, mais ce 11 correspond à quoi, à l'heure d'ouverture du fichier ou au lancement du code à une heure précédente ou peux tu la saisir manuellement ?
ensuite tu souhaites lancer ta macro, il faut qu'elle reprenne ce 11 contenu en cellule B2 sans s'actualiser quelque soit l'heure, c'est bien cela ?
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
alainjjb
Messages postés
778
Date d'inscription
jeudi 17 mai 2007
Statut
Membre
Dernière intervention
8 janvier 2025
110
8 déc. 2013 à 13:17
8 déc. 2013 à 13:17
En fait je vais plutôt t'expliquer mon besoin. Je dois, tout simplement tester dans la macro l'heure actuelle pour déterminer une action avant 19h/ après 19h. Dans la macro, Je dois également stocker cette heure actuelle dans heure dernière mise à jour. J'espère avoir été + clair.
Merci
Alain
Merci
Alain
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 249
8 déc. 2013 à 13:34
8 déc. 2013 à 13:34
Bonjour,
l'heure dans ta feuille ne sera mise à jour que si ta feuille est recalculée. Par F9 par exemple.
Puisque tu es en macro pourquoi tu t'embêtes à utiliser cette valeur de feuille jamais à jour et que tu n'interroges pas l'heure dans ta macro ?
l'heure dans ta feuille ne sera mise à jour que si ta feuille est recalculée. Par F9 par exemple.
Puisque tu es en macro pourquoi tu t'embêtes à utiliser cette valeur de feuille jamais à jour et que tu n'interroges pas l'heure dans ta macro ?
Dim h As Longeric
h = Hour(Time)
alainjjb
Messages postés
778
Date d'inscription
jeudi 17 mai 2007
Statut
Membre
Dernière intervention
8 janvier 2025
110
Modifié par alainjjb le 8/12/2013 à 14:27
Modifié par alainjjb le 8/12/2013 à 14:27
Bonjour Eric,
A la question "Pourquoi tu t'embêtes ..." ... Parce que, tout simplement je ne maîtrise pas les macros (ni le reste d'ailleurs).
Effectivement c'est ce que je vais faire. Pour être sur d'avoir compris :
En début de macro je définis la date : Dim h As Long
et lors du test je vais chercher l'heure : h = Hour(Time) et je la compare à mon heure référence : If h >= 19 Then ... et en fin de macro je mets à jour l'heure de dernière mise à jour : HDDMAJ = h
Est-ce OK ?
Merci
Alain
A la question "Pourquoi tu t'embêtes ..." ... Parce que, tout simplement je ne maîtrise pas les macros (ni le reste d'ailleurs).
Effectivement c'est ce que je vais faire. Pour être sur d'avoir compris :
En début de macro je définis la date : Dim h As Long
et lors du test je vais chercher l'heure : h = Hour(Time) et je la compare à mon heure référence : If h >= 19 Then ... et en fin de macro je mets à jour l'heure de dernière mise à jour : HDDMAJ = h
Est-ce OK ?
Merci
Alain
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 249
8 déc. 2013 à 14:51
8 déc. 2013 à 14:51
Pas de pb, tout s'apprend.
Le mieux est quand même de tester d'abord la réponse proposée et de reposter si ça ne correspond pas à ton besoin ou si tu rencontre une difficulté. Là tu postes pour rien car la réponse est 'oui, vas-y'
Puisque tu débutes (depuis un moment quand même ;-) )tu devrais apprendre à utiliser les points d'arrêt (cliquer dans la marge de la ligne de code où tu veux que la macro fasse une pause, la ligne devient marron) ou bien en utilisant l'instruction Stop.
Là tu peux en mettre un sur la ligne h = Hour(Time) , lorsque la macro s'arrête tu fais un pas à pas avec F8 pour exécuter la ligne. Là si tu met ton curseur sur le 'h' de h = Hour(Time) (sans cliquer) tu verra apparaitre la valeur qu'a pris ta variable et voir si c'est ce que tu attends.
Ensuite tu peux refaire qcq pas à pas avec F8, ou bien relancer la macro avec F5.
Tu dois aussi apprendre à utiliser la fenetre 'Espions' (menu affichage).
Tu prends une variable, h par exemple, et tu fais un cliqué-glissé vers la fenetre espions.En pas à pas tu verras la valeur des variables qui t'interessent dans cette fenetre et contrôler si c'est bien ce que tu attends.
et en fin de macro je mets à jour l'heure de dernière mise à jour : HDDMAJ = h
Je n'en sais rien car toi seul sais ce que doit contenir HDDAJ.
Si tu avais essayé et testé tu aurais vu que s'il est 14:00, h contient 14 et c'est tout, conformément à ta demande.
eric
Le mieux est quand même de tester d'abord la réponse proposée et de reposter si ça ne correspond pas à ton besoin ou si tu rencontre une difficulté. Là tu postes pour rien car la réponse est 'oui, vas-y'
Puisque tu débutes (depuis un moment quand même ;-) )tu devrais apprendre à utiliser les points d'arrêt (cliquer dans la marge de la ligne de code où tu veux que la macro fasse une pause, la ligne devient marron) ou bien en utilisant l'instruction Stop.
Là tu peux en mettre un sur la ligne h = Hour(Time) , lorsque la macro s'arrête tu fais un pas à pas avec F8 pour exécuter la ligne. Là si tu met ton curseur sur le 'h' de h = Hour(Time) (sans cliquer) tu verra apparaitre la valeur qu'a pris ta variable et voir si c'est ce que tu attends.
Ensuite tu peux refaire qcq pas à pas avec F8, ou bien relancer la macro avec F5.
Tu dois aussi apprendre à utiliser la fenetre 'Espions' (menu affichage).
Tu prends une variable, h par exemple, et tu fais un cliqué-glissé vers la fenetre espions.En pas à pas tu verras la valeur des variables qui t'interessent dans cette fenetre et contrôler si c'est bien ce que tu attends.
et en fin de macro je mets à jour l'heure de dernière mise à jour : HDDMAJ = h
Je n'en sais rien car toi seul sais ce que doit contenir HDDAJ.
Si tu avais essayé et testé tu aurais vu que s'il est 14:00, h contient 14 et c'est tout, conformément à ta demande.
eric
alainjjb
Messages postés
778
Date d'inscription
jeudi 17 mai 2007
Statut
Membre
Dernière intervention
8 janvier 2025
110
8 déc. 2013 à 17:46
8 déc. 2013 à 17:46
Merci Eric pour tous ces conseils. Je vais d'ailleurs m'y mettre de suite.
A bientôt
Alain
A bientôt
Alain
alainjjb
Messages postés
778
Date d'inscription
jeudi 17 mai 2007
Statut
Membre
Dernière intervention
8 janvier 2025
110
8 déc. 2013 à 18:12
8 déc. 2013 à 18:12
Bonjour,
Et ça Fonctionne nickel.
MERCI au généreux donateur de leur savoir.
Alain
Et ça Fonctionne nickel.
MERCI au généreux donateur de leur savoir.
Alain
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 249
8 déc. 2013 à 19:32
8 déc. 2013 à 19:32
de rien.
N'oublie pas de mettre en résolu stp
eric
N'oublie pas de mettre en résolu stp
eric