Attendre actualisation de données

Bonjour à tous,

Dans une fichier Excel je dispose d'un tableau dépendant d'une requête SQL et une macro lance l'actualisation et me résume ensuite la tableau, voila une partie du code (le fichier n'est pas pour moi, mais pour quelqu'un sous Excel2016, d'où la réécriture de la fonction UNIQUE) :

    ActiveWorkbook.RefreshAll
    Application.Wait (Now + TimeValue("0:00:40"))
    Sheets("Resume").Range("A7:G1000").Clear

    'Sheets("Resume").Range("A7").Formula2R1C1 = "=UNIQUE(Tableau_complet[[Code]:[Nom]])"
    Sheets("Resume").Range("A7:A500").Formula2R1C1 = _
        "=INDEX(Tableau_complet[Code], MATCH(0, COUNTIF(R6C9:R[-1]C, Tableau_complet[Code]), 0))"
    Dim test As Integer
    test = 0
    For i = 7 To 500
        If test = 0 Then
            If IsError(Range("A" & i)) Then
                n = i
                test = 1
            End If
        End If
    Next i
    Range("A" & n & ":A500").Clear

Seulement voilà mon problème : lorsque je lance la macro le code n'attend pas que le tableau soit remis à jour, le résumé est donc faux mais devient correct si je relance la macro. Il faudrait donc que mon code attende que la requête soit terminée pour continuer. J'ai essayé avec Application.Wait mais le tableau ne se met pas à jour…

Une idée ?

Cordialement,

Nicolas

Bonjour,

Essaie de remplacer la ligne Wait par

DoEvents

A+

Bonjour Galopin,

Merci pour la proposition, mais malheureusement ça ne marche pas :(

Nicolas

Re,

J'ai trouvé mon bonheur ici : https://forum.excel-pratique.com/excel/attente-la-fin-de-l-actualisation-pour-continuer-166805. Je ne savais pas qu'on pouvait empêcher l'actualisation en arrière-plan

Rechercher des sujets similaires à "attendre actualisation donnees"