Les Allergies
Alimentaires
Posez votre question Signaler

[Oracle et VBA Excel] Requête sur table

jacques13 14Messages postés 8 décembre 2006Date d'inscription - Dernière réponse le 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.
Lire la suite 

[Oracle et VBA Excel] Requête sur table »

33 réponses
Réponse
+4
moins plus
Bonjour pourriez vous m'envoyer votre fichier excel.
Je suis tres interesse.

Merci bcp.
Ajouter un commentaire
Réponse
+2
moins plus
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
infoVB - 6 août 2008 à 18:09
Bonjour,

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

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

Merci.
Ajouter un commentaire
Réponse
+2
moins plus
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.
Ajouter un commentaire
Réponse
+2
moins plus
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
Ajouter un commentaire
Réponse
+2
moins plus
Bonjour

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

Merci
Ajouter un commentaire
Réponse
+2
moins plus
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
Ajouter un commentaire
Réponse
+1
moins plus
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.
azoul - 4 déc. 2009 à 16:58
Bonjour,
Je suis entrain de travailler sur le même sujet si vous pouvez m'envoyer ce fichier ca va être très utile pour moi
Merci
FFTIGER11 - 17 févr. 2010 à 10:50
bonjour

Effectivement ce sujet est relativement ancien dans le Forum, mais il reste d'actualité , la preuve l

Je serais aussi interessé par tes fichiers excel, sachant que ma problématique aujourd'hui est plus de rappatrier des données Oracle dans une feuille Excel (sachant que le serveur Oracle est à l'étranger et qu'il y des temps de réponses assez désastreux)

Merci par Avance
miomio51- 6 avril 2011 à 11:21
Bonjour cbeliss,

Je dois réaliser une base oracle ou access permettant l'importation automatisé de données préalablement transformées dans différents fichiers et feuilles excel. Cette base devra se mettre automatiquement à jour soit, lors de la modification et/ou l'apparition de nouvelles données dans les feuilles, soit une fois par mois.
Je pense que votre fichier pourrait donc m'être utile. Merci de me l'envoyer par mail, ainsi que d'autres informations que vous avez qui pourront m'être utile au niveau que ce soit de l'importation, de l'automatisation et des mises à jour.

Merci par avance.

Benjamin
Ajouter un commentaire
Réponse
+1
moins plus
Bonjour pourriez vous m'envoyer votre fichier excel.
Je suis tres interesse.

Merci bcp.
Ajouter un commentaire
Réponse
+1
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
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
Pascal - 7 déc. 2011 à 12:42
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!
Jaques13 - 7 déc. 2011 à 18:22
C'est très clair comme réponse.
Merci à toi Pascal
Pascal - 7 déc. 2011 à 18:32
Avec plaisir.
Ajouter un commentaire
Réponse
+0
moins plus
un code vba pour exporter une base oracle à un fichier excel
nico410 - 8 mars 2012 à 08:57
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)
Ajouter un commentaire
Ce document intitulé « [Oracle et VBA Excel] Requête sur table » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?