A voir également:
- Excel actualisation automatique
- Actualiser un fichier excel automatiquement - Meilleures réponses
- Actualisation automatique excel - Meilleures réponses
- Actualisation automatique des cellules ✓ - Forum - Excel
- Excel actualiser automatiquement tableau croisé dynamique - Forum - Excel
- Problème d'actualisation des formules ✓ - Forum - Excel
- Actualisation automatique à une heure précise ✓ - Forum - Excel
- Actualisation automatique de données excel (OnTime ✓ - Forum - Excel
1 réponse
eriiic
- Messages postés
- 23807
- Date d'inscription
- mardi 11 septembre 2007
- Statut
- Contributeur
- Dernière intervention
- 18 janvier 2021
Bonjour,
j'ai désormais le message d'erreur " Impossible d'exécuter la macro "S:\.......".
Pour laquelle des 2 ?
UpdateClock est bien dans le même module ou un module Standard ?
Rien à voir avec ton pb mais 2 choses me gênent :
- tes 2 lignes de code après ThisWorkbook.Close
Pourquoi pas avant si tu veux qu'elles soient exécutées ?
- ton classeur va se rouvrir au bout de 10 min.
Il y a un risque qu'une cellule soit écrasée si qq'un est en train d'écrire et ne s'aperçoit pas qu'il vient de passer en avant-plan non ?
eric
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
j'ai désormais le message d'erreur " Impossible d'exécuter la macro "S:\.......".
Pour laquelle des 2 ?
UpdateClock est bien dans le même module ou un module Standard ?
Rien à voir avec ton pb mais 2 choses me gênent :
- tes 2 lignes de code après ThisWorkbook.Close
Pourquoi pas avant si tu veux qu'elles soient exécutées ?
- ton classeur va se rouvrir au bout de 10 min.
Il y a un risque qu'une cellule soit écrasée si qq'un est en train d'écrire et ne s'aperçoit pas qu'il vient de passer en avant-plan non ?
eric
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
En fait lorsque je lançait ma macro j'avais un message d'erreur "cette action va annuler une actualisation des données en attente. Voulez-vous continuer ?" du coup après mettre renseigner sur Google j'ai vu que si je mettais les lignes de codes "Application.DisplayAlerts = False ..... Application.DisplayAlerts = True" au début et à la fin de mon code le message disparaitrait, ce qui a été le cas.
Sauf que Application.DisplayAlerts = True risque de ne pas être exécuté s'il est après .Close.
Tu perds tous les autres messages d'alerte...
Donc si je comprend bien, ta technique de rafraîchissement bloque la mise à jour des données.
C'est bien beau de masquer l'alerte, mais tu vas mettre quoi à jour s'il n'y a qu'1/100e de tes données à jour ? Quelque chose m'échappe là...
Et ici encore je me demande si le .close n'y est pas pour qq chose.
Il faut du temps pour exécuter une requête. En plus ça dépend de l'état du réseau à ce moment là, plus ou moins disponible.
Si ça se confirme il faudra attendre la fin du RefreshAll avant de fermer.
Je ne suis pas un spécialiste des requêtes mais pour les autres lecteurs précise quel type de requête tu fais.
Pour l'actualisation, en fait personne n'écrit dans le classeur
Imagine : je suis en train d'écrire dans Word. Ton fichier s'ouvre et se met en avant plan. Ce que je saisissais part dans excel, écrase une cellule, et se ferme dans la foulée.
sur des cellules au dessus de ma requête j'ai écrit mes formules pour avoir les chiffres que je souhaitait avoir (par ex, nombre de commandes par jour (=NB.SI(req_bp2[Date prevue];"="&AUJOURDHUI()))
si [Date prevue] change et que tu es en calcul automatique ta formule se met à jour toute seule normalement non ?
J'ai du mal à voir le lien avec le pb et pourquoi tu parles de ça
Du coup j'ai le code suivant (dans le module 1) :
Sub UpdateClock()
Application.DisplayAlerts = False
ActiveWorkbook.RefreshAll
Application.OnTime Now + TimeValue("00:00:20"), "UpdateClock"
ThisWorkbook.Save
End Sub
Le soucis c'est que la macro ne s'effectue plus lorsque le classeur est fermé alors que je pensait que l'événement OnTime persistait même classeur fermé ... As-tu une solution ?
sur des cellules au dessus de ma requête j'ai écrit mes formules pour avoir les chiffres que je souhaitait avoir (par ex, nombre de commandes par jour (=NB.SI(req_bp2[Date prevue];"="&AUJOURDHUI()))
si [Date prevue] change et que tu es en calcul automatique ta formule se met à jour toute seule normalement non ?
J'ai du mal à voir le lien avec le pb et pourquoi tu parles de ça
C'était juste un exemple mais j'ai d'autres données qui se mette à jour, d'où l'utilité de ma macro :)
Encore faut-il qu'elle ait été lancée au moins une fois pour que la programmation suivante soit enregistrée.
Mais si elle est lancée plusieurs fois les timer vont se cumuler, et à terme excel risque de passer son temps à faire tes mises à jour.
Je te propose de supprimer une éventuelle exécution en attente avant d'en programmer une nouvelle :
Et tu ne peux pas laisser Application.DisplayAlerts = False tout seul. C'est tout excel qui est concerné, pas seulement les messages de ce fichier.
Soit tu le supprimes, soit tu le rétablis avec True,