[Oracle et VBA Excel] Requête sur table

Fermé
jacques13 Messages postés 14 Date d'inscription vendredi 8 décembre 2006 Statut Membre Dernière intervention 17 décembre 2006 - 14 déc. 2006 à 15:41
 nico410 - 8 mars 2012 à 08:57
Bonjour,
Je souhaite établir une connexion entre une macro VBA EXCEL (ou VBA WORD) pour :
1-Me connecter à une base Oracle
2-Exécuter une requête SQL (qui serait codée dans la macro) sur une table
3-Récupérer les données dans les cellules de la feuille EXCEL.

Pouvez-vous m'aider sur ces 3 points ?

Merci beaucoup de votre aide.
A voir également:

14 réponses

camet Messages postés 4 Date d'inscription samedi 10 janvier 2004 Statut Membre Dernière intervention 8 février 2008 7
8 févr. 2008 à 18:40
Bonjour pourriez vous m'envoyer votre fichier excel.
Je suis tres interesse.

Merci bcp.
4
Bonjour à vous,
Je n'ai malheureusement pas la solution à t'apporter, au contraire nous avons quelques problèmes communs.

En effet je souhaite transfèrer des données d'un tableau Excel dans une table Oracle. Pour cela j'utilise un boutton qui récupère les données en question et les envoie sur la base de donnée via une requête sql. Afin d'éviter les doublons si l'utilisateur appuie plusieurs fois sur le bouton, avancer les requêtes d'insertion, je supprime de la base toutes les données relative à mon tableau.

Il y a bien "DoCmd.RunSQL Ma_Requête" pour les requêtes mais je ne crois pas qu'il fonctionne avec Oracle. Et si je ne peux pas l'affirmer c'est avant tout car je ne vois pas comment me connecter.

Je suis donc interessé si quelqu'un pouvais répondre à ces deux points :

1-Me connecter à une base Oracle
2-Exécuter une requête SQL (qui serait codée dans la macro) sur une table
2
Bonjour,

je serais également intéressée par ces deux points.

As tu eu une réponse quant à tes demandes?

Merci.
0
toolon Messages postés 1 Date d'inscription jeudi 18 décembre 2008 Statut Membre Dernière intervention 18 décembre 2008 2
18 déc. 2008 à 11:52
Bonjour,

cela fait un petit moment que ce topic a été posté, mais cela m'intéresse grandement.
Cbelliss, si tu es encore dans le coin (ou quelqu'un ayant eu vent de ça méthode), pourrais tu m'éclairer sur ton fichier Excel?

Merci.
2
Bonjour

je suis débutant et je voudrais importer des données d'une base oracle vers excel

et je suis intéressé par tes exemples

ca serais gentil que tu me les envois
2

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

Posez votre question
valfverine Messages postés 1 Date d'inscription mercredi 1 juillet 2009 Statut Membre Dernière intervention 1 juillet 2009 2
1 juil. 2009 à 16:25
Bonjour

Est-il encore possible de m'envoyer ces fichiers ?

Merci
2
antoine62_isi Messages postés 1 Date d'inscription lundi 2 août 2010 Statut Membre Dernière intervention 2 août 2010 2
2 août 2010 à 08:24
Bonjour,

Je suis amené à travailler sur le sujet, et j'aimerais bien récupérer ces fichiers Excel à titre d'exemple.
Est-il possible de me les faire parvenir ?

Merci d'avance !

antoine62_isi@hotmail.com
2
Bonjour,
J'ai fais quelques tests de connexions à des bases de donées oracle et MSSQL.
Je peux vous faire passer un fichier excel avec des exmples qui permettent :
De lister et initialiser une feuille excel avec le nom des champs d'une table.
De mettre à jour les champs d'une table de la base de données en fonction de cellule d'une feuille excel.
De récupérer les données d'une table de la base de données dans une feuille excel.

Si vous êtes interressé, faites moi un courriel, étant nouveau sur ce site, je ne sais pas comment lier des fichier excel dans une réponse.
1
slt, je pense que jé besoin de té informations et té connaissances sur le transfert des données d'une base de données oracle sur Excel, cé gentil de me répondre, ;.)
0
Bonjour Cbelliss

je cherche une solution que tu as évoqué dans le post "[Oracle et VBA Excel] Requête sur table
"

je souhaiterai mettre à jour les champs d'une table de la base de données en fonction de cellule d'une feuille excel.
Peux tu me faire parvenir ton fichier excel ou m'expliquer la marche à suivre.

Merci pour ton aie
0
bylka213 Messages postés 34 Date d'inscription vendredi 14 mars 2008 Statut Membre Dernière intervention 31 août 2010
2 juin 2008 à 16:43
Salut cbelliss,

Je voulais savoir si tu pouvais m'aider car j'ai besoin d'en apprendre plus sur les liens qui existent entre oracle et excel on me demande d'attaquer une base oracle à partir de feuilles excel.

Merci

a+
0
Bonjour Monsieur,

J'ai besoin de vos fichiers si vous pouvez me les commnuiquer ca serait très sympas.
Merci d'avance.

Bonjour,
J'ai fais quelques tests de connexions à des bases de donées oracle et MSSQL.
Je peux vous faire passer un fichier excel avec des exmples qui permettent :
De lister et initialiser une feuille excel avec le nom des champs d'une table.
De mettre à jour les champs d'une table de la base de données en fonction de cellule d'une feuille excel.
De récupérer les données d'une table de la base de données dans une feuille excel.

Si vous êtes interressé, faites moi un courriel, étant nouveau sur ce site, je ne sais pas comment lier des fichier excel dans une réponse.
0
Bonjour cbelliss,

Je suis en pleine recherche d'automatisation de tableaux de bord avec des requètes SQL alimentées par des cellules d'Excel. Je pense que le fichier auquel vous faîtes allusion pourrais m'aider.
Pouvez vous me l'envoyer s'il vous plaît.

Je vous remercie d'avance.

Cordialement,
mcali
0
camet Messages postés 4 Date d'inscription samedi 10 janvier 2004 Statut Membre Dernière intervention 8 février 2008 7
8 févr. 2008 à 18:36
Bonjour pourriez vous m'envoyer votre fichier excel.
Je suis tres interesse.

Merci bcp.
1
bonjour

je suis novice en la matiére, votre fichier excel m'interesse enormement, en effet je dois créer une macro sous excel pour importer des résutats d'une requête oracle. Je vous remercie d'avance
1
bonjour,
j'aimerais aussi avoir ce fichier car je suis aussi un débutant
merci pour votre aide mail : lediz2001@yahoo.fr
Bonne joournée
0
bonjour cbelliss,

est-il possible d'obtenir également ces fichiers ?

En te remerciant d'avance,

mon adresse snake111_mgs@hotmail.fr
0
OUMOMO Messages postés 1 Date d'inscription jeudi 16 juin 2011 Statut Membre Dernière intervention 16 juin 2011
16 juin 2011 à 15:17
Bonjour tous le monde,

Je dois effectuer à peu près le même travaille que Jacques13.
Vous seraient ils possible de m'envoyer une de vos réalisations en guise d'exemple?
Savez vous comment fait on pour se connecter à une base informix depuis Excel?


Merci de votre aide. Voici mon courriel : oumaring@hotmail.fr
0
canaum Messages postés 1 Date d'inscription mercredi 17 août 2011 Statut Membre Dernière intervention 17 août 2011
17 août 2011 à 18:38
Bonsoir a tous,

Je vois que ce poste date d'un certain temps cependant je suis exactement dans la même problèmatique ! Je ne connais pas la marche a suivre pour automatiser la connexion a une base oracle donc si ce fichier peux m'aider je serais très heureux que quelqu'un me l'envoie.

mon adresse est loic-breton@live.fr

Merci d'avance
0
je suis oci très merci de publier ce fichier
0
Bonjour,
Très simple: je le fais régulièrement. Il faut déjà charger le pilote ODBC d'Oracle (et pas celui de Mirosoft), puis d'instancier la liaison avec Oracle (i.e.: lancer l'ODBC Data Source Administrator et ajouter une source externe en spécifiant "Data Source Name" (ce que vous voulez et qui identifiera votre source de données), éventuellement la "Description" (un commenatire explicatif), et les plus importants le "TNS Service Name" (le nom de la connexion d'accès à la base Oracle = le TNS Name au sens Oracle), et bien sur le "User ID", c'est-à-dire le nom d'utilisateur Oracle pour la connexion.
Le mot de passe peut être laissé à vide ou rempli : dans le premier cas il sera demandé à chaque connexion, dans le second tout sera automatique mais in sera stocké en clair dans un fichier!
Enfin dans le dernier onglet pourra être rentré la requête Oracle testée (ce qui peut permettre des requêtes qu'Oracle sait gérer mais qu'Excel ne peut pas générer! - et on s'en moque car dans tous les cas Excel est capable d'importer ces données dans sa feuille : c'est ce qui compte!).

Nota:
1 - ne pas oublier *** au niveau système Windows *** (Sytem Properties --> Advanced --> Environment variables --> System Variables) de rajouter la variable ORACLE_HOME et dans le PATH le chemin d'accès à Oracle ( {ORACLE_HOME}\bin - à claquer "en dur")
2 - relancer Excel avant d'importer les données !
3 - pour ne pas trop ralentir Excel, pour le formattage automatique des données, un conseil d'ami : décochez l'option "resize column" car ainsi j'ai pu faire passer la durée d'un import de 25 minutes à 2 !!!

Enjoy!
0
C'est très clair comme réponse.
Merci à toi Pascal
0
Avec plaisir.
0
un code vba pour exporter une base oracle à un fichier excel
0
et hop :

Sub functionname()

'init variable

Dim onglet As String
Dim colonne As String
Dim ncolonne As Integer
Dim Requete As String

Requete = ""

'===========================================================
'CONNEXION A LA BASE
'===========================================================

'Connexion à la base
ORACLE_CONNECTION = "USER/PASSWORD"
ORACLE_INSTANCE = "INSTANCENAME"

Set OraSession = CreateObject("OracleInProcServer.XOraSession")
Set OraDatabase = OraSession.dbOpenDatabase(ORACLE_INSTANCE, ORACLE_CONNECTION, 0&)

onglet = "FEUIL1"
colonne = "A:A"
ncolonne = 1
' QUERY CONSTRUCTION
Requete = _
"select * from TABLENAME " & _
"order by CHAMPS desc"
'sauvegarde des valeurs de la feuille
'todo
'effacement de la feuille
With Worksheets(onglet)
.Cells.Clear
End With
If OraSession.LastServerErr = 0 Then
' EXEC REQUÊTE ET VALORISATION DES CHAMPS
'MsgBox Requete

Set OraDynaset = OraDatabase.dbcreatedynaset(Requete, 0&)
i = 2
'MsgBox OraDynaset.FIELDS.Count
While Not OraDynaset.EOF
For j = 0 To OraDynaset.Fields.Count - 1
Sheets(onglet).Cells(i, j + 1) = OraDynaset.Fields(j).Value
Next
OraDynaset.MoveNext
i = i + 1
Wend
End If


End Sub
'=========================================================

par contre ce code ne remonte pas l'entête (nom des champs de la table)
0