Problème lors de l'actualisation des données connexion SQL

Lorrain88

XLDnaute Nouveau
Bonjour à tous,

J'ai un problème d'actualisation des données dans un classeur Excel.
Dans ce classeur j'ai 2 feuilles avec 2 connexions de données sur des tables SQL que je souhaite mettre à jour toutes les 5 minutes.

Dans 3 autres feuilles j'ai des tableaux de bord qui tournent avec des Application.Wait.

Mon problème est qu'à chaque fois que je veux raffraichir les données de mes connexions SQL (par ActiveWorkbook.RefreshAll), j'ai un message qui s'affiche : "Cette action va annuler une commande d'actualisation des données, voulez-vous continuer ? OUI/NON".

Tant que je ne clic par sur Oui ou Non le raffraissement des données ne s'effectue pas et la macro est en standby.

Voici mon code :

Option Explicit
Public NewTime As Double, intervalle As Double

Sub marche()
Dim i As Integer
Dim j As Integer
Application.DisplayFullScreen = True
ActiveWindow.DisplayGridlines = False
ActiveWindow.DisplayHeadings = False
Application.DisplayFormulaBar = False

For j = 1 To 31
For i = 1 To 4

Sheets("TAB BORD1").Activate
Application.Wait (Now + TimeValue("0:00:15"))
Sheets("TAB BORD2").Activate
Application.Wait (Now + TimeValue("0:00:07"))
Sheets("TAB BORD3").Activate
Application.Wait (Now + TimeValue("0:00:07"))
Next

ActiveWorkbook.RefreshAll

Next

intervalle = TimeValue("0:00:04")
NewTime = intervalle * (1 + Int(Now / intervalle))
Application.StatusBar = "Prochaine capture : " & Format(NewTime, "h:mm")
Application.OnTime NewTime, "Action"
End Sub

Sub Arret()
Application.OnTime NewTime, "Action", False
Application.StatusBar = "Arret capture : " & Format(NewTime, "h:mm")
End Sub

Sub Action()
Dim LastRow As Long
ThisWorkbook.Save
Sheets("brochesheures").Activate
With Sheets("brochesheures")
LastRow = Range("a36565").End(xlUp).Row
If Now > .Cells(LastRow, 1) Then
Beep
.Cells(LastRow + 1, 1) = Now
.Cells(LastRow + 1, 2) = Sheets("TAB BORD1").Range("V53")
Call marche
ThisWorkbook.Save
Beep
End If
End With
End Sub

Pouvez-vous m'aider svp ?

Merci d'avance pour votre aide précieuse
 

tototiti2008

XLDnaute Barbatruc
Re : Problème lors de l'actualisation des données connexion SQL

Bonjour Lorrain88,

Si tes données provenant de tes tables "SQL" sont le résultat de données externes (ce que RefreshAll tend à me faire croire), sais-tu que dans les propriétés des données externes on peut lui demander de rafraichir la connexion toutes les 5 minutes automatiquement, sans passer par une macro ?
Va voir dans les propriétés de ta connexion
 

Lorrain88

XLDnaute Nouveau
Re : Problème lors de l'actualisation des données connexion SQL

Bonjour tototiti,

Merci de ta réponse rapide.

Le problème est le même lorsque j'actualise toutes les 5 minutes dans les propriétés de la connexion, le message apparait également.
En fait, l'actualisation des données ne se fait pas tant que je suis dans ma boucle et lorsque j'en sors j'ai le message ci-dessus.
 

tototiti2008

XLDnaute Barbatruc
Re : Problème lors de l'actualisation des données connexion SQL

Re,

A quoi sert ta macro ?
Soit elle sert juste à mettre à jour toutes les 5 minutes et tu n'en as plus besoin puisque les données externes le font seules
Soit elle ne sert pas à ça, et dans ce cas, peux-tu m'expliquer à quoi elle sert ?
 

Lorrain88

XLDnaute Nouveau
Re : Problème lors de l'actualisation des données connexion SQL

Re,

La macro marche sert à afficher les feuilles TAB BORD1, 2 et 3 à intervalles différents.
Elle call la macro Action qui me sert à enregistrer des données (une valeur en % calculée) du TAB BORD1 dans une autre feuille toutes les heures avec date et heure afin d'afficher un tableau glissant dans TAB BORD2 les 19 dernières valeurs enregistrées.
Tout celà se fait en boucle sans arrêt 7j/7.

Donc la macro me sert pour l'affichage des feuilles de manière cyclique et l'enregistrement des données + sauvegarde du workbook.
 

Discussions similaires

Statistiques des forums

Discussions
312 325
Messages
2 087 306
Membres
103 513
dernier inscrit
adel.01.01.80.19