Ceci dit, deux choses :
1/ En VBA, un problème de connexion à Oracle produit généralement un "mémoire insuffisante" (j'imagine que c'est une erreur générique quand une routine externe à VB n'arrive pas à créer un objet demandé par VB, et qu'elle ne dit pas pourquoi)
2/ Et oui, une connexion peut être perdue, soit à cause d'un timeout côté serveur, client, coupure réseau, mais aussi tout un tas de raisons possible. ADODB permet de faire automatiquement, et de façon transparante, du pooling de connexions. Donc systématiquement fermer les connexions quand on a terminé un traîtement, et la réouvrir lorsqu'on en a de nouveau besoin. Ceci permet de ganger en performances (sisi) et d'éviter les problèmes de perte de connexion.