Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

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 !

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
 
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
 
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,
 
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...
 
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

Dernière édition:
- 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

Réponses
4
Affichages
580
Réponses
5
Affichages
703
Réponses
2
Affichages
329
Réponses
8
Affichages
646
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
370
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
805
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…