Salut Richard,
Je ne travaille pas avec Oracle mais avec un AS400 et Data Select en tant que serveur DDE...
Pour appeler des procédure Data Select je fais comme ceci :
Sub Test()
retval = Shell("g:\soft\selwin\selprof.exe", 1)
ChannelNumber = Application.DDEInitiate("Selprof", "selprof")
Application.DDEExecute ChannelNumber, "[dest(dde,excel,[ClasseurCible.xls]FeuilleCible)]" _
& "[exec(G:\Users\SHARE\Directory\MaRequete,a3)]"
Application.DDETerminate ChannelNumber
End Sub
"MaRequete" étant une requete SQL lancée par Data Select, que je veux faire tourner pour retourner des données dans le classeur "ClasseurCible.xls , FeuilleCible Range A3..."
Sinon je peux aussi écrire des macros dans Data Select et les lancer depuis Excel comme suit :
Sub Test()
retval = Shell("g:\soft\selwin\selprof.exe", 1)
ChannelNumber = Application.DDEInitiate("Selprof", "selprof")
Application.DDEExecute ChannelNumber, "[MACRO(P:\ITDev\cash\commun\demand.wfm)]"
Application.DDETerminate ChannelNumber
End Sub
Pour info voici ce que çà donne coté Macro Data Select :
ddeinitiate(excel,system,#aa)
dest(dde,excel,[demand.xls]collection)
exec(P:\ITDev\cash\commun\demandA,a2)
dest(dde,excel,[demand.xls]collection)
exec(P:\ITDev\cash\commun\demandB,+a2)
dest(dde,excel,[demand.xls]collection)
exec(P:\ITDev\cash\demand\demandC,+a2)
dest(dde,excel,[demand.xls]collection)
exec(P:\ITDev\cash\commun\demandD,+a2)
dest(dde,excel,[demand.xls]collection)
exec(P:\ITDev\cash\commun\demandE,+a2)
dest(dde,excel,[demand.xls]collection)
exec(P:\ITDev\cash\commun\demandF,+a2)
DDEInitiate (EXCEL,[DEMAND.XLS]"Value",#canal)
DDEPokeValue (#canal,#ValueDate,R1C2)
DDEInitiate(Excel,System,#canal)
DDEExecute(#canal,[RUN(\"DEMAND.XLS!EndWait\")])
DDETerminate(#canal)
CLOSE ()
Ici ce sont les Macros Data Select qui vont aller écrire sur le Classeur Excel "Demand.Xls" Feuille "Collection" range a2 (le plus est pour l'insertion au fur et à mesuure de la réception des données retournées par les requêtes successives SQL "DemandA/B/C"..etc)
A noter que qu'en fin de procédure Data Select, j'arrive aussi à lancer une Macro Excel "EndWait".... pendant que Data Select se ferme... C'est assez génial...
Je suppose que tu dois avoir l'équivalent pour Oracle, qui est connu pour sa puissance.
Bonne Fin de Journée
@+Thierry