Re-bonjour à tous,
J'ai un soucis depuis très longtemps sur le chargement de tables ACCESS sur une feuille Excel. Voici mon code:
Ce code fonctionne parfaitement et charge bien ma table sur la feuille.
Seulement, je charge cette table car je dois faire des traitements dessus, et c'est là où est le soucis. Tant que le code n'est pas arrêté (par la fin de la macro ou un point d'arrêt), les données de la table ne sont pas présentes sur la feuille (le message "chargement des données externes..." s'affiche en haut de la feuille). Mes traitements s'effectuent alors dans le vent (sans que ça plante d'ailleurs, ce qui est très bizarre). Puis qd la macro s'arrête, les données se chargent alors sur la feuille comme par magie.
Par contre si je fais du pas à pas, tout fonctionne. Les données se chargent dès que je passe la ligne:
Je contournai ce soucis en liant la fonction à un clic de bouton, mais comme je dois faire du traitement sur plusieurs tables à la suite, donc sans action utilisateur de possible avant la fin du traitement.
J'ai essayé le
mais sans succès..
Qqun aurait une idée?
Merci.
J'ai un soucis depuis très longtemps sur le chargement de tables ACCESS sur une feuille Excel. Voici mon code:
Code:
Public Sub ChargementFichierAccess(CheminAccess)
Dim sqlChaine As String, ChaineConn As String
'Suppression des données présentes sur la feuille de calcul
Cells.Select
Selection.Delete shift:=xlUp
'Import des données de la table cible sur la feuille de calcul
sqlChaine = "select * from RailEventMessage"
ChaineConn = "ODBC;DSN=MS Access Database;DBQ=" & CheminAccess
ActiveSheet.QueryTables.Add(Connection:=ChaineConn, Destination:=Range("$A$4"), Sql:=sqlChaine).Refresh
End Sub
Ce code fonctionne parfaitement et charge bien ma table sur la feuille.
Seulement, je charge cette table car je dois faire des traitements dessus, et c'est là où est le soucis. Tant que le code n'est pas arrêté (par la fin de la macro ou un point d'arrêt), les données de la table ne sont pas présentes sur la feuille (le message "chargement des données externes..." s'affiche en haut de la feuille). Mes traitements s'effectuent alors dans le vent (sans que ça plante d'ailleurs, ce qui est très bizarre). Puis qd la macro s'arrête, les données se chargent alors sur la feuille comme par magie.
Par contre si je fais du pas à pas, tout fonctionne. Les données se chargent dès que je passe la ligne:
Code:
ActiveSheet.QueryTables.Add(Connection:=ChaineConn, Destination:=Range("$A$4"), Sql:=sqlChaine).Refresh
Je contournai ce soucis en liant la fonction à un clic de bouton, mais comme je dois faire du traitement sur plusieurs tables à la suite, donc sans action utilisateur de possible avant la fin du traitement.
J'ai essayé le
Code:
Application.wait Time + TimeSerial(0, 0, 3)
Qqun aurait une idée?
Merci.