Amélioration des ressources pour Macro VBA recup de données sur un serveur

cissou69

XLDnaute Junior
Bonjour,

J'utilise une fonction particulière pour récupérer des données sur un serveur par rapport à un moment t défini. J'ai écrit le code ci-après mais je pense que je ne pas efficace en ressources. Quelqu'un peut-il m'améliorer mon code svp ?

Merci d'avance,

Code:
Sub Recup_PI()

Dim sTagname As String
Dim sTime As String
Dim sServer As String
Dim macroResult As Variant

sServer = "12.123.123.12"

i = 8
j = 8
a = 1
b = 1

' Recherche des dates
Do While a <> ""
    a = Cells(j, 7).Value
    j = j + 1
Loop
j = j - 2
    
' Recherche des valeurs pour les tag
For f = 22 To 38
    Do While b <> ""
        b = Cells(i, f).Value
        i = i + 1
    Loop
    i = i - 2
    
    If i < 8 Then
        i = 8
    End If

    If i = j Then MsgBox ("Pas de mise à jour à effectuer")

    If i < j Then
        For k = i + 1 To j
            sTime = Cells(k, 7).Value
            sTagname = Cells(5, f).Value
            macroResult = Application.Run("PITimeDat", sTagname, sTime, sServer)
            Cells(k, f).Value = macroResult
            If Cells(k, f).Value = "No Data" Then
                Cells(k, f).Value = ""
            End If
        Next
    End If

    If i > j Then MsgBox ("Il manque des dates")

Next f
        
Ok = MsgBox("opération terminée", vbOKOnly, "Recup PI")

End Sub
 

tototiti2008

XLDnaute Barbatruc
Re : Amélioration des ressources pour Macro VBA recup de données sur un serveur

Bonjour cissou,

à mon avis, si tu as des lenteurs dans ce code, il y a des chances au ce soit au niveau de la ligne

macroResult = Application.Run("PITimeDat", sTagname, sTime, sServer)

mais mettre des Timer avant/après pourrait être intéressant pour confirmer
 

cissou69

XLDnaute Junior
Re : Amélioration des ressources pour Macro VBA recup de données sur un serveur

Bonjour,

En fait, cette ligne n'est pas modifiable car c'est la fonction qui me permet de rapatrier mes données à une heure donnée (sTime).
Je pensais plus que mes boucles étaient un peu lourdes...

Merci,
 

tototiti2008

XLDnaute Barbatruc
Re : Amélioration des ressources pour Macro VBA recup de données sur un serveur

Bonjour cissou,

Tes boucles sont des boucles plutot classiques, mais comme on ne sait pas sur quelles données elles bouclent ni pourquoi elles bouclent, difficile de te proposer moins lourd...
 

cissou69

XLDnaute Junior
Re : Amélioration des ressources pour Macro VBA recup de données sur un serveur

J'ai simplifié le fichier originel pour donner un exemple j'espère réprésentatif...

Sinon l'idée est de récupérer les données à une date t (valeur dans la colonne G), les données sont stockés sur un seveur et répérés par des tag (cellule en ligne 5 à partir de la colonne V). La fonction a pour but de copier la valeur du tag à la date t au croisement des deux cellules. D'où les boucles, la première pour connaitre les dates et la seconde pour récupérer les données sur chaque tag.

Merci de ton aide,
 

Pièces jointes

  • recup données.zip
    15.9 KB · Affichages: 33
Dernière édition:

Discussions similaires

Réponses
11
Affichages
280
Réponses
0
Affichages
132