intercepter l'actualisation automatique

  • Initiateur de la discussion Initiateur de la discussion jlb91600
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

jlb91600

XLDnaute Nouveau
Bonjour,

J'interroge une base de données Oracle toutes les 3 minutes, pour cela j'utilise :

With ActiveSheet.QueryTables.Add(Connection:=connstring, _
Destination:=Range("A2"), Sql:=sqlstring)
.FieldNames = False
.RowNumbers = False
.FillAdjacentFormulas = True
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = False
.RefreshStyle = xlInsertEntireRows
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = interval
.Refresh
End With

Mais la base est sauvegardée tous les jours à 2h00 pendant 10 mn, et pendant ce temps là mon actualisation affiche un message d'erreur ODBC.
Or l'actualisation étant automatique, je ne peux pas gérer l'erreur par un "on error goto".
Même la suppression des .Names(i).Delete est inefficace, l'interrogation est toujours active.

Quelqu'un a-t-il une idée ou proposition pour inhiber cette actualisation ?

Merci
 
Re : intercepter l'actualisation automatique

Bonjour

Il faudrait introduire un if avant ou pour tester l'heure courante et si l'heure est comprise entre 2h et 2h10 ne pas réaliser ce refresh.

Il faut sans doute prendre une marge de quelques minutes.
 
Re : intercepter l'actualisation automatique

Oui, c'est une des solutions que j'ai envisagé, mais l'actualisation en fait fi ...
Elle parait totalement autonome.

Et plus j'étudie le cas, je m'aperçois qu'elle bégaye, j'ai deux appels vers la base.
 
Re : intercepter l'actualisation automatique

Bon j'ai résolu le problème différemment, j'utilise ontime pour déclarer l'heure d'arrêt et la reprise.

En plus, je supprime toutes les requêtes interrogations de la base de données et à la reprise je relance la procédure d'interrogation. C'est prodigieusement propre.
Chose à savoir, dans le cas d'un macro enregistrée et la procédure de suppression des requêtes, les noms à utiliser ne sont pas les mêmes:
Macro - DonnéesExternes_xx ; en fait le nom de la requête
Procédure - "=Feuil1!$A$2:$A" ; en fait le "fait référence à" conserver sur la partie de gauche pour le contrôle, si le nom de la feuille comporte des espaces,mettre celui-ci entre simple quote.

Dans le même élan, j'ai rendu mon programme autonome dans son lancement d'interrogation et son extinction.
Explication : un "Chef" instruit le programme d'une heure de lancement des interrogations, à l'heure dite les interrogations commencent et si il y a lieu des impressions sont émises vers une imprimante. En fin d'utilisation le programme XLS se ferme.
Ainsi je peux prévoir en cours de journée le déclenchement du programme pour une équipe de nuit et à la fin de leur service l'arrêt de celui-ci sans intervention quelconque depuis un PC dans un bureau fermé par exemple ( et l'imprimante à l'extérieur ;-) ).

Sub automatique()

If [Feuil2].hrsdebut.Value = "HH:MM:SS" Then
precedente_requete ' si le champ ne contient pas de valeur mais le format
Else
Application.OnTime TimeValue([Feuil2].hrsdebut.Value), "precedente_requete" ' le champ contient une valeur confirmée
End If

If [Feuil2].hrsarret.Value <> "HH:MM:SS" Then
Application.OnTime TimeValue([Feuil2].hrsarret.Value), "arret_application"
End If

End Sub

Sub arret_application()
UnQueryTable
For Each w In Application.Workbooks
w.Save
Next w
Application.Quit

End Sub

A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 CSV en EXCEL
Réponses
1
Affichages
198
C
Réponses
2
Affichages
1 K
Coco_lac
C
G
  • Question Question
Power Query power query
Réponses
22
Affichages
5 K
G
B
  • Question Question
Réponses
2
Affichages
1 K
brice2020
B
G
Réponses
2
Affichages
1 K
G
P
Réponses
5
Affichages
1 K
I
Réponses
0
Affichages
820
irne6381
I
Retour