Remplir un fichier excel par des données provenant d'une base Oracle

h_nawal Messages postés 2 Date d'inscription mardi 11 juillet 2006 Statut Membre Dernière intervention 24 juillet 2006 - 21 juil. 2006 à 23:57
ouzaamedali Messages postés 10 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 15 février 2012 - 24 mai 2007 à 16:56
slt!
j'ai besoin d'exploiter des données d'une table Oracle et créer un nouveau fichier excel qui va contenir ces données ..Le tout en VBA bien sûr!






merci d'avance!

7 réponses

stephaneperchey Messages postés 10 Date d'inscription mercredi 19 juillet 2006 Statut Membre Dernière intervention 10 juillet 2007
24 juil. 2006 à 03:51
Salut
si mes souvenir sont pas trop loin tu dois pouvoir automatiser les traitements avec sqlplus et avec les outils graphiques sinon regarde les liens suivants :

http://www.developpez.net/forums/showthread.php?p=1133267

Le deuxieme liens est le plus simple à réalisé, juste lancer un PL/SQL qu'il te faudra adapter à tes besoins :
http://oracle.ittoolbox.com/documents/popular-q-and-a/export-data-into-excel-using-plsql-scripts-3805

Pas testé juste regardé sous Gogole ;)

Voila bonne nuit ;)
0
h_nawal Messages postés 2 Date d'inscription mardi 11 juillet 2006 Statut Membre Dernière intervention 24 juillet 2006
24 juil. 2006 à 15:45
slt!
merci pour la réponse
au fait j'ai trouvé un autre moyen...je crée une requête SQL à l'interieur de mon fichier excel à partir de données>données extrernes>créer requête...
je fais appel à la requête à l'intérieur du code VBA qui me permet de créer le fichier excel destination!l'execution de la requête va me permettre de récupérer toutes les données au niveau de mon fichier test(contenant le code VBA)à partir de ce fichier je vais copier les données dans le fichier cible !!tout sera au niveau du code bien sûr!
au fait je suis encore entrain de tester!! pourvu que ça marche
0
mbegnu Messages postés 6 Date d'inscription vendredi 22 août 2003 Statut Membre Dernière intervention 23 février 2009
1 août 2006 à 11:33
slt,


Je devais faire la meme chose ie creer un csv file a partir des donnees de ma base oracle. Je l'ai de la facon suivante:


1. je cree un fichier


2. je cree un dataset contenant mes donnees.


3. j'ecris les donnees dans mon fichier en parcourant le dataset.


Le probleme que j'ai est que quand j'ouvre mon fichier a partir d'excel, tous les nombres commencant par 0 par example 00xxx deviennent xxx et certains nombres sont transformes en ecriture scientifique par example 1E10.


Quelqu'un aurait une idee pour resoudre ce probleme?


Merci d'avance 
0
ocelot19 Messages postés 3 Date d'inscription mercredi 13 décembre 2006 Statut Membre Dernière intervention 18 décembre 2006
13 déc. 2006 à 16:56
slt,

il faut que tu créé une macro (en enregistrement macro) et que tu change le format cellule en utilisant un personnalisé, sinon dans ta requete sql tes champs dans le select tu les mets en to_number, ou to_char etc...

Attention par contre en utilisant sous excel/données/créer une requete, si tu change de version oracle ca va plus marcher et tu serras obligé de recréer ta requete via msquery.

Moi j'ai ce probleme en ce moment alors je passe par le driver "microsoft odbc pour oracle" le probleme c que ca marche sur mon pc mais pas sur les autres j'ai un message msquery facon microsoft : "!" et c tout.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_ankou22 Messages postés 81 Date d'inscription vendredi 3 novembre 2000 Statut Membre Dernière intervention 7 juin 2012
30 janv. 2007 à 18:16
MBEGNU,

Peux simplement mettre une apostrophe (') avant ta valeur

ANKOU22
0
ouzaamedali Messages postés 10 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 15 février 2012
24 mai 2007 à 16:45
Salut mes chers collègues je travaille sur la même chose que vous, connexion d’une base de données Adonix (Oracle) sur Excel  par code VBA et affichage des colonnes sur une feuille Excel avant de faire un traitement par la suite des calculs et des trie.


Je vous prie de m’aider à me conneceter à la base de données Oracle car j’ai conçu un code qui bug l’erreur est « type de donnée non définit par l’utilisateur » ainsi que ce code si vous voyer le bug :

Public RCIdoLogin As String
Sub test1()
    '--Déclaration
    Dim wUser, c, wServer As String
    Dim r As Integer
   
    '--Routine
    Call RciInit 'inits
   
    wUser = "GC"
    wPwd = "tiger"
    wServer = "X3"
   
    wServer = InputBox(prompt:="Server ?")
    r = Run(RCIdoLogin, wUser, wPwd, wServer)
   
    If r <> 0 Then
        MsgBox ("ERROR -" & r)
        Exit Sub
    Else
        MsgBox ("Conneted to X3 at" & wServer)
        End If
           
End Sub




Sub RciInit()


    ModuleName = "connection_Oracle_Excel.xls"
    RCIdoLogin = ModuleName & "!RCIdoLogin"


End Sub




Public RCIdoSelectSQL  As String


Sub test1()


    'Déclarations
    Dim r As Integer
    Dim wSQL As String
   
    'Routine
    Call RciInit 'inits
   
    wSQL = "select *" 'La requête SQL
    r = Run(RCIdoSelectSQL, wSQL, 1, 1, 1) '--To cell A1 , one Value
    If r <> 0 Then MsgBox ("Error - " & r): Exit Sub


    MsgBox "Result = " & ActiveSheet.Cells(2, 1)
End Sub
   
Sub RciInit()


ModuleName = "connection_Oracle_Excel.xls"
RCIdoSelectSQL = ModuleName & "!RCIdoSelectSQL"


End Sub


 
0
ouzaamedali Messages postés 10 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 15 février 2012
24 mai 2007 à 16:56
ouzaamedali


J’ai encore un autre code que j’ai élaboré et modifié mais le problème que je ne me connecte à la base Oracle autant qu’utilisateur sous serveur Exchange 2003 les odbc sans ajouter quel problème j’ai, dont know understand  my problemes ? please help me to connect my database Oracle to Excel VBA :

Private Sub CommandButton1_Click()
   'Private Sub cmdTest_Click()


'Defining variables
Dim cnOra As ADODB.Connection
Dim rsOra As ADODB.Recordset


Dim db_name As String
Dim UserName As String
Dim Password As String


Set cnOra = New ADODB.Connection
Set rsOra = New ADODB.Recordset


db_name = "x33"
UserName = "GC"
Password = "tiger"


'Making an ODBC connection according to ADO
cnOra.Open "DSN=" + db_name + ";UID=" + UserName + ";PWD=" + Password + ";"
rsOra.CursorLocation = adUseServer


'Running a query
rsOra.Open "select * from SPRICLIST ", cnOra, adOpenForwardOnly


'Passing on data from the recordset to a variable or cell.
'Notice that the column name or alias is used to address
'data in the recordset.
While Not rsOra.EOF
Worksheets("Sheet1").Range("A1") = rsOra![global_name]
rsOra.MoveNext
Wend


rsOra.Close
rsOra.Open "select * from", cnOra, adOpenForwardOnly


While Not rsOra.EOF
Worksheets("Feil1").Range("A2") = rsOra![sysdate]
rsOra.MoveNext
Wend


'Forgetting to close your connection will sometimes result
rsOra.Close
cnOra.Close
Set rsOra = Nothing


End Sub
0
Rejoignez-nous