Remplir un fichier excel par des données provenant d'une base Oracle
h_nawal
Messages postés2Date d'inscriptionmardi 11 juillet 2006StatutMembreDernière intervention24 juillet 2006
-
21 juil. 2006 à 23:57
ouzaamedali
Messages postés10Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention15 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!
stephaneperchey
Messages postés10Date d'inscriptionmercredi 19 juillet 2006StatutMembreDernière intervention10 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 :
h_nawal
Messages postés2Date d'inscriptionmardi 11 juillet 2006StatutMembreDernière intervention24 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
mbegnu
Messages postés6Date d'inscriptionvendredi 22 août 2003StatutMembreDernière intervention23 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?
ocelot19
Messages postés3Date d'inscriptionmercredi 13 décembre 2006StatutMembreDernière intervention18 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.
Vous n’avez pas trouvé la réponse que vous recherchez ?
ouzaamedali
Messages postés10Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention15 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
ouzaamedali
Messages postés10Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention15 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
'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