Boucle temporisée

Bonjour

j'utilise une macro pour importer des données d'un automate qui génère une page html.Voici mon code

Sub Importation()
    Do Until Range("$A$30") <> ""
        With ActiveSheet.QueryTables.Add(Connection:="URL;http://ip du serveur web/exemple.html", Destination:=Range("$A$1"))
            .Name = "exemple"
            .FieldNames = True
            .RowNumbers = False
            .FillAdjacentFormulas = False
            .PreserveFormatting = False
            .RefreshOnFileOpen = False
            .BackgroundQuery = True
            .RefreshStyle = xlOverwriteCells
            .SavePassword = False
            .SaveData = True
            .AdjustColumnWidth = True
            .RefreshPeriod = 0
            .WebSelectionType = xlEntirePage
            .WebFormatting = xlWebFormattingAll
            .WebPreFormattedTextToColumns = True
            .WebConsecutiveDelimitersAsOne = True
            .WebSingleBlockTextImport = False
            .WebDisableDateRecognition = False
            .WebDisableRedirections = False
            .Refresh BackgroundQuery:=False
        End With
    Loop
End Sub

Mes questions sont les suivantes :

Comment faire pour que la boucle ne tourne que toutes les 5 secondes ?

Ou puis je trouver une explication claire sur les différentes options qui sont à TRUE ou FALSE.

Merci pour votre aide

Bonsoir,

un essai :

Sub Importation()
    Do Until Range("$A$30") <> ""
        With ActiveSheet.QueryTables.Add(Connection:="URL;http://ip du serveur web/exemple.html", Destination:=Range("$A$1"))
            .Name = "exemple"
            .FieldNames = True
            .RowNumbers = False
            .FillAdjacentFormulas = False
            .PreserveFormatting = False
            .RefreshOnFileOpen = False
            .BackgroundQuery = True
            .RefreshStyle = xlOverwriteCells
            .SavePassword = False
            .SaveData = True
            .AdjustColumnWidth = True
            .RefreshPeriod = 0
            .WebSelectionType = xlEntirePage
            .WebFormatting = xlWebFormattingAll
            .WebPreFormattedTextToColumns = True
            .WebConsecutiveDelimitersAsOne = True
            .WebSingleBlockTextImport = False
            .WebDisableDateRecognition = False
            .WebDisableRedirections = False
            .Refresh BackgroundQuery:=False
        End With
        le_timer = Timer + 5
        Do Until Timer > le_timer
        Loop
    Loop
End Sub

@ bientôt

LouReeD

Salut

essayer avec ca

pour libérer la memoire :

 Private Sub Importation()

 Do Until Range("$A$30") <> ""
        With ActiveSheet.QueryTables.Add(Connection:="URL;http://ip du serveur web/exemple.html", Destination:=Range("$A$1"))
            .Name = "exemple"
            .FieldNames = True
            .RowNumbers = False
            .FillAdjacentFormulas = False
            .PreserveFormatting = False
            .RefreshOnFileOpen = False
            .BackgroundQuery = True
            .RefreshStyle = xlOverwriteCells
            .SavePassword = False
            .SaveData = True
            .AdjustColumnWidth = True
            .RefreshPeriod = 0
            .WebSelectionType = xlEntirePage
            .WebFormatting = xlWebFormattingAll
            .WebPreFormattedTextToColumns = True
            .WebConsecutiveDelimitersAsOne = True
            .WebSingleBlockTextImport = False
            .WebDisableDateRecognition = False
            .WebDisableRedirections = False
            .Refresh BackgroundQuery:=False
         End With
        If Range("$A$30") <> "" Then
        Application.OnTime Now + TimeValue("00:00:05"), "Importation"
       ' Application.OnTime EarliestTime:=TimeValue("00:00:03"), Procedure:="Importation", Schedule:=False
        End If
Loop

End Sub

Salut

pour libérer la memoire et aussi pour que la nouvelle boucle ne se declanche qu'apres la fin de la boucle "atteindre le but de la procedure"

Merci à tous les deux

Il ne me reste plus qu'à tester tout ça

Bonjour

Les deux solutions testées j'ai finit par trouver le code suivant :

Application.Wait Now + TimeSerial(0, 0, 5)

Qui correspond bien à ce que voulais.

Merci encore pour votre aide

Bonsoir,

et merci de vos merci, ainsi que le fait de donner la réponse à votre problème, il y a tant de post qui finissent un peu en queue de poisson !

Donc merci encore à vous (j'en apprend ainsi tous les jours !)

@ bientôt

LouReeD

Rechercher des sujets similaires à "boucle temporisee"