• Initiateur de la discussion Initiateur de la discussion kadden
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

kadden

XLDnaute Nouveau
Bonjour,
Un service m'envoie quelques tables (données) dans un fichier Excel,
l'affichage n'est pas très propre du à l'extraction que le service fait à partir
d'une base de donnée (Oracle).

je cherche un moyen ou une méthode qui me permettrait d'extraire directement des données d'une table donnée,
j'ai une première solution, d'écrire dans une requete HArry et sortir le résultat en Excel, sauf que je cherche une manière (outil décisionnel) qui puisse à travers ma base m'afficher ce que je souhaite dans Excel.

Merci pour votre Aide.
 
Re : De Oracle à Excel

Bonjour Kadden et bienvenue 🙂,
Une petite connexion ODBC te permettra de récupérer ce que tu veux dans Oracle. Par contre, la connexion ensuite dépends de ta version Excel...
Bon courage 😎
 
Re : De Oracle à Excel

Bonjour Kadden et bienvenue 🙂,
Une petite connexion ODBC te permettra de récupérer ce que tu veux dans Oracle. Par contre, la connexion ensuite dépends de ta version Excel...
Bon courage 😎

Si je comprends bien ta solution connexion ODBC, c'est que Excel devient tous simplement un autre affichage de mes tables ?..?

Sinon il n'y a pas un exemple de code VBA qui me permettrai d'extraire
une colonne d'une tables de la base de donnée.

Je vous remercie bien de votre aide, car je n'ai jamais codé en VBA.

Merci.
 
Re : De Oracle à Excel

Re 🙂,
En gros (tout au moins sous 2007, je n'ai pas les anciennes versions pour vérifier 😱), tu demandes une connexion ODBC, tu t'identifies, et après, tu sélectionne la table et les colonnes qui t'intéresse... Avec l'enregistreur de macro, tu récupères le VBA et tu l'adaptes à tes besoins...
Bon courage 😎
 
Re : De Oracle à Excel

Re 🙂,
En gros (tout au moins sous 2007, je n'ai pas les anciennes versions pour vérifier 😱), tu demandes une connexion ODBC, tu t'identifies, et après, tu sélectionne la table et les colonnes qui t'intéresse... Avec l'enregistreur de macro, tu récupères le VBA et tu l'adaptes à tes besoins...
Bon courage 😎

Merci pour ton aide, mais crois moi ça reste de la science fiction pour moi
y'a pas un tuto que je pourrai suivre, car je n'ai aucune idée
de comment commencer celà.

Merci beaucoup de m'y indiquer.
 
Re : De Oracle à Excel

Re 🙂,
Tu t'attaques à un gros morceau 😛...
Si mes quelques mots sont déjà de la science-fiction, la suite va être démoniaque 😀...
J'essaie de t'en dire plus tout à l'heure...
Bon courage 😎
 
Re : De Oracle à Excel

Re 🙂,
Premièrement, il te faut un client Oracle installé sur ton poste (voir ton administrateur de réseau pour cela, avec la bonne version...).
Ensuite, sur ton disque, tu dois trouver un fichier nommé tnsnames.ora dans un chemin de ce style (version10g.02 installée pour ma part)
Code:
C:\oracle\product\10.2.0\client_1\NETWORK\ADMIN\tnsnames.ora
Dans ce fichier, tu dois avoir une déclartion de ta base type
Code:
# tnsnames.ora Network Configuration File: C:\oracle\product\10.2.0\client_3\NETWORK\ADMIN\tnsnames.ora
# Generated by Oracle configuration tools.
[COLOR=red][B]NomDeLaConnexionDeTonServeur[/B][/COLOR] =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = [B][COLOR=#ff0000]NomDeTonServeur[/COLOR][/B])(PORT = 1521))
    )
    (CONNECT_DATA =
      (SID = [B][COLOR=#ff0000]IdentifiantDeTonServeur[/COLOR][/B])
      (SERVER = DEDICATED)
    )
  )
A ce moment-là, ta requête (OK sous 2007) doit ressembler à cela
Code:
    With ActiveSheet.ListObjects.Add(SourceType:=0, Source:=Array(Array( _
        "ODBC;DSN=[COLOR=red][B]IdentifiantBDD[/B][/COLOR];UID=[B][COLOR=#ff0000]MotDePasseBDD[/COLOR][/B];;DBQ=[B][COLOR=#ff0000]NomDeLaConnexionDeTonServeur[/COLOR][/B] ;DBA=W;APA=T;EXC=F;FEN=T;QTO=T;FRC=10;FDL=10;LOB=T;RST=T;BTD=F;BAM=IfAllSuccessfu" _
        ), Array("l;NUM=NLS;DPM=F;MTS=T;MDI=F;CSR=F;FWC=F;FBS=64000;TLO=O;")), _
        Destination:=Range("$A$1")).QueryTable
        .CommandText = Array( _
        "SELECT [B][COLOR=#ff0000]NomDesChampsQueTuSouhaites[/COLOR][/B]" _
        , ".OCUPA" & Chr(13) & "" & Chr(10) & "FROM [B][COLOR=#ff0000]NomDeTaTable[/COLOR][/B]")
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .PreserveColumnInfo = True
        .ListObject.DisplayName = "Tableau_Lancer_la_requête_à_partir_de_[B][COLOR=#ff0000]Connexion[/COLOR][/B]"
        .Refresh BackgroundQuery:=False
    End With
D'où tous mes souhaits de bon courage 😎
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
1
Affichages
452
Retour