Déclenchement d'une macro lorsque le contenu d'une cellule est égale a l'heure

bonjour a tous,
si je tape 10:30 dans A10 pas de problème ça marche la macro fonctionne bien
mais le but recherché est de déclencher la macro lorsque l’heure est égale au contenu de la cellule
si A10 contient 11:35 la macro doit se déclenché lorsque l’horloge du pc indique 11:35:00.
Merci pour notre attention
Malika.xlsm (13,6 Ko)

Bonjours

Essaies avec ce fichier

Mets en cellule « A10 » l’heure de déclenchement souhaitée enregistres fermes le classeur et réouvres le
A l’heure indiquée en cellule « A10 » ta macro se déclenchera
Fais des essais avec une heure très proche de quelques minutes en suivant ce process pour tester puis de mettre par exemple 11:35 qui ne pourra être essayée que demain une fois celui-ci ouvert avant

Fais-moi un retour

Malika.xlsm (16,1 Ko)

1 « J'aime »

bonjour et merci beaucoup je teste de suite

Re j’ai mis 17:48 dans A10 et modifier dans la macro mais rien ne se passe quand l’horloge
du PC arrive a 17:48:00, mais ci je tape 17:48 dans la cellule ça marche mais c’est pas le but
recherché

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range(« A10 »)) Is Nothing Then
If Target.Text = « 17:48 » Then Call macrotest
End If
End Sub

Désolé de te contredire mais pour moi cela fonctionne parfaitement

J’ai intégré en cellule « A10 » l’heure : 17:58:00 :

Il était selon l’heure du PC 17:56:00 (regarde en bas à droite dans cette copie d’écran)

J’ai enregistré le fichier
Je l’ai fermé
Je l’ai réouvert
Et à l’heure dite 17:58:00 voilà ce que j’ai obtenu :

Il est à l’heure du PC : 17:58:00 (en bas à droite de cette deuxième copie d’écran)

Cela fonctionne très bien

Attention je ne suis pas du tout intervenu dans la macro que tu cites c’est une autre procédure qui fonctionne à l’ouverture du fichier

Fais des essais en suivant exactement le même déroulement que celui que je viens de réaliser

Tu dois obtenir le même résultat

Merci beaucoup ça marche

Petite question
La cellule « A10 » sera dans un onglet précis toujours le même je suppose
Dans la procédure que j ai mis en place je cible cette celulle sans celui de son onglet c est celle de l onglet actif à l ouverture du document
Si helas ce n est pas celui qui est resté actif au dernier enregistremenr avant la fermeture à l ouverture suivante cet onglet resté actif ne sera pas le bon pour cette cellule « A10 » et donc le traitement de ne pas pouvoir récupérer l heure de déclenchement avec Bug potentiel si la cellule concernée dans l onglet affiché n a aucune donnée
Il serait donc preferable d associer le nom de l onglet à cette celulle
A toi de voir et me dire

re merci oui il serait préférable d associer le nom de l onglet à cette cellule
merci encore pour votre aide précieuse

Encore faudrait-il que je le connaisse pour le rajouter et surtout de toujours mettre cette celulle dans celui-ci
Peux tu me le communiquer pour que je le rajoute

N oublies pas de valider ma réponse c est un plus appréciable

Merci

re pas de non spécifique c’est feuil1
je clic ou pour valider, sur solution ou sur le cœur
dans la réponse

Ton fichier avec l’ajout du nom de l’onglet « Feuil1 » (Attention à ne pas le modifier)

Pour valider c’est à ce niveau comme cette copie d’écran (en vert Solution) :

Tu as les instructions clairement détaillées dans les consignes du forum ici :

La petite côche verte

Merci

re je vois pas le fichier modifier

Désolé le voici

Testes et dis moi

Malika.xlsm (16,3 Ko)

Pourquoi refaire une demande alors que Mimimathy t’as donnée un fichier fonctionnel ici même sur ce forum

Merci ça fonctionne
je vais terminer mon le fichier dans lequel je vais tenter d’intégrer cette macro
j’espère y arriver
Merci

Bonjour
Je reste disponible pour toute difficulté que tu pourrais rencontrer
Au plaisir

bonjour FFO et bonjour a tous
merci beaucoup pour ton aide cela m’a permis de créer et de finaliser mon fichier cependant il
me reste encore une étape a franchir : la cellule i7 indique l’heure de départ que je rentre au clavier
les cellules k10 a p10 sont les heures a laquelle ce déclenche les macros, j’ai tenu compte de tes précieux conseilles et ajouté le thisworkbook et ça marche .
j’en viens donc a ma demande est t’il possible de modifier automatiquement ou par le biais d’une box,
les heures du déclenchement contenues dans la macro
merci encore
amicalement
MALIKA TESTE Evolutioncotes OK.xlsm (51,9 Ko)

Bonjour

« j’en viens donc a ma demande est t’il possible de modifier automatiquement ou par le biais d’une box,
les heures du déclenchement contenues dans la macro »

Les heures de déclenchement ne sont pas dans la macro mais dans les cellules dont elle fait référence :

K10
L10
M10
N10
O10
P10

Donc c’est au niveau de ces cellules qu’il faut agir et non dans les lignes de codes qui en font usage

Que souhaites tu comme modification à réaliser concernant ces cellules peut tu préciser (leur nombre leur importance le contexte précis de cette mise à jour)

Bonjour FFO
et merci pour t’as diligence
voila K10 L10 M10 N10 O10 P10 ce calcule en fonction de I7
et le contenu de c’est cellule déclenche les macros contenues dans la feuils1
soit
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range(« k10 »)) Is Nothing Then
If Target.Text = « 17:05 » Then Call Turf1
End If

If Not Application.Intersect(Target, Range(« L10 »)) Is Nothing Then
If Target.Text = « 17:10 » Then Call Turf2
End If

If Not Application.Intersect(Target, Range(« M10 »)) Is Nothing Then
If Target.Text = « 17:15 » Then Call Turf3
End If

If Not Application.Intersect(Target, Range(« N10 »)) Is Nothing Then
If Target.Text = « 17:17 » Then Call Turf4
End If

If Not Application.Intersect(Target, Range(« O10 »)) Is Nothing Then
If Target.Text = « 17:18 » Then Call Turf5
End If

If Not Application.Intersect(Target, Range(« P10 »)) Is Nothing Then
If Target.Text = « 17:19 » Then Call Turf6
End If
donc si je modifie I7 les heures de K10 L10 M10 N10 O10 P10 ce recalcule en fonction de cette nouvelle donnée et je dois également modifier les heures dans la macro. Simon il ce passe rien
s’il existe une autre façon de faire je suis preneur mais je vois pas il m’a déjà fallu 15 Jours pour arriver a ce résultat
merci pour ton attention

Mais tu n’utilises pas le code dans le ThisWorkbook :

Private Sub Workbook_Open()
If Sheets(« Feuil1 »).Range(« k10 ») <> «  » Then
Application.OnTime TimeValue(CDate(Sheets(« Feuil1 »).Range(« k10 »))), « Turf1 »
End If

If Sheets(« Feuil1 »).Range(« L10 ») <> «  » Then
Application.OnTime TimeValue(CDate(Sheets(« Feuil1 »).Range(« L10 »))), « Turf2 »
End If

If Sheets(« Feuil1 »).Range(« M10 ») <> «  » Then
Application.OnTime TimeValue(CDate(Sheets(« Feuil1 »).Range(« m10 »))), « Turf3 »
End If

If Sheets(« Feuil1 »).Range(« N10 ») <> «  » Then
Application.OnTime TimeValue(CDate(Sheets(« Feuil1 »).Range(« N10 »))), « Turf4 »
End If

If Sheets(« Feuil1 »).Range(« O10 ») <> «  » Then
Application.OnTime TimeValue(CDate(Sheets(« Feuil1 »).Range(« O10 »))), « Turf5 »
End If

If Sheets(« Feuil1 »).Range(« P10 ») <> «  » Then
Application.OnTime TimeValue(CDate(Sheets(« Feuil1 »).Range(« P10 »))), « Turf6 »
End If

Merci de m’éclairer car je ne comprends pas c’est 2 procédures ne font-elles pas doublon ?

A l’ouverture du fichier celle que je t’ai mis en place suffit au déclenchement de l’ensemble des procédures inutile de garder celles que tu me cites elle fait double emploi