Boucle d'attente

Bonjour,

Dans une macro Excel, je voudrais créer une boucle d'attente se déclenchant soit sur la frappe d'une touche du clavier soit en cliquant sur un bouton de commande. Sur quel élément faut-il faire le test pour sortir de la boucle ?

Sinon, mon but serait d'afficher la date et l'heure dans une (ou 2) cellule(s). La fonction "maintenant()" ou "now()" affiche bien ce que je veux mais n'est pas raffraîchie automatiquement. C'est pourquoi j'ai eu l'idée d'une boucle du genre :

blnTest = False

Do While Not blnTest

Range("B2").Select

ActiveCell.FormulaR1C1 = "=NOW()"

If [test touche clavier ou clic sur bouton] Then

Exit Do

End If

Loop

[suite du programme]

Merci de votre aide.

Bonjour à tous,

Il me semble que tu te complique !

si tu as mis en B2 la formule =MAINTENANT(),

la formule se rafraichie à chaque calcul, sinon la touche serait "F9"

Amicalement

Claude.

Bonjour, et merci pour ta réponse, dubois.

Mais ce n'est pas tout à fait ce je cherche à faire.... Je reformule ma demande :

En fait, je voudrais afficher en permanence la date et l'heure en très gros caractères (une horloge bien lisible, quoi !) sans aucune intervention (il n'y aurait d'ailleurs ni clavier ni souris accessibles, sauf pour l'administrateur). Puis, activation d'actions à des dates et heures données, selon liste de tâches consignées dans une autre feuille Excel, cachée.

Le but final serait d'offrir à une personne agée vivant seule (et qui n'y connait rien en informatique) l'affichage d'un calendrier / horloge avec date et heure bien lisibles et en clair, avec fonction programmateur (affichage d'infos à l'écran, dans un premier temps) pour lui rappeler des tâches importantes à faire. (Je n'ai pas trouvé un tel produit dans le commerce et j'ai un vieux PC qui ferait très bien l'affaire !)

Auriez-vous une idée ? Merci d'avance.

@+

bonjour,

il ne me semble pas possible d'entrer ainsi dans le déroulement d'une macro.

Mais tu peux programmer le refresh d'une horloge (ou toute autre action) avec la méthode OnTime

A+

Merci galopin, mais je ne vois pas où intégrer la méthode OnTime pour que l'heure soit raffraîchie sans aucune action. On ne peut la mettre qu'à l'intérieur d'une proc et n'est exécutée qu'une fois quand cette proc est lancée. "Application.OnTime" permet de lancer une proc à une heure donnée ou dans un délai donné. Comment la faire exécuter en boucle, par exemple toutes les minutes ? Je sèche !

Encore merci.

Salut le forum

Un exemple avec OnTime

Option Explicit

Dim Lheure As Double
Dim Interval As Integer

Sub LancerTimer(NbS As Integer)
 'L'application ExecutionTimer se lancera
 'toutes les 0 heure, 0 minute et Interval seconde
    Interval = NbS
    Application.OnTime Now + TimeSerial(0, 0, Interval), "ExecutionTimer"
End Sub

Sub ArretTimer()
    On Error Resume Next
    Application.OnTime Lheure, "ExecutionTimer", , False
End Sub

 Sub ExecutionTimer()
    'code à exécuter à la fin de chaque Interval secondes

    'code obligatoire
    Lheure = Now + TimeSerial(0, 0, Interval)
    Application.OnTime Lheure, "ExecutionTimer"
End Sub

Mytå

capture

bonjour,

La démo

Voir les macros dans Module1 et dans ThisWorkbook

oups ! pas rafraichi... Salut Myta

A+

Merci à tous pour votre aide. J'ai compris le principe grâce à vos exemples concrets. Je vais pouvoir développer mon appli....

@+

Bonsoir,

un autre exemple, basé sur les API de Windows

Ceci a l'avantage de pouvoir utiliser des userforms ou des codes pendant son exécution...

Les codes dans le ThisWorkbook et dans le module1

Bonne soirée

Merci cousinhub ! Pas mal non plus....

Bon, j'ai eu un peu de temps et j'ai pu faire une ébauche de ce que je voulais, basé sur la démo de galopin01.

Si ça vous amuse, je mets mon fichier ci-dessous.

Mais il y a un petit pb : si je travaille sur un autre tableau Excel pendant que l'horloge tourne dans l'autre, l'heure s'affiche dans la cellule idoine du tableau utilisé ! C'est gênant, mais dans mon utilisation ultérieure je n'utiliserai pas 2 tableaux simultanement...

89ephemeride.zip (11.59 Ko)
Rechercher des sujets similaires à "boucle attente"