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