IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Fonction imbriqué ou appel d'une fonction dans une autre


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 15
    Par défaut Fonction imbriqué ou appel d'une fonction dans une autre
    Bonjour à tous,

    Voilà je débute un peu et je voudrais faire un projet sous excel 2003 avec une connexion sous oracle ! jusque là ca fonctionne voir ci dessous !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
     
    Function GetData(code As Variant)
        Dim rst As ADODB.recordset
        Dim result As String
     
        Dim SQL_String As String
        Dim dbConnectStr As String
        Set con = New ADODB.connection
        Set recset = New ADODB.recordset
        Dim recordCount As String
     
        dbConnectStr = "Provider=msdaora;Data Source=" & "base;" & "User Id=SID" & "; Password=PWD"
     
        con.ConnectionString = dbConnectStr
        con.Open dbConnectStr
     
        SQL_String = "Select libe from t_rubr where code='" & code & "'"
     
        recset.Open SQL_String, con
     
        result = recset.Fields(0).Value
     
        MsgBox SQL_String
        GetData = result
     
    End Function
    La le resulat s'affiche sous excel lorsque je tape ma fonction getdata(2202) =' le libéllé'

    Maintenant se que je voudrais faire c'est un truc plus complexe avec d'un coté un fonction qui a en variable la requete sql et la chaine de connexion et de l'autre coté une fonction avec des comptes ou autre. Car en fait j'aurai plussieurs fonction dans ce projet et je voudrais eviter de taper la chaine de connexion à chaque fois. Mais je ne sais pas m'y prendre pour appelé une fonction dans une autre fonction, apparement c'est pas possible ou appel d'une fonction dans un sub, mais c'est pas ce que je veux faire.

    D'avance merci.

  2. #2
    Membre émérite Avatar de keygen08
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations forums :
    Inscription : Octobre 2012
    Messages : 545
    Par défaut
    bonjour
    Il te faut declarer ta variable dbconnectstr en Public, soit sur la feuille , soit sur le classeur. Ta variable est alors enregistrer dans me. et peux passser d'un module à l'autre.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public dbconnectstr as string

Discussions similaires

  1. Réponses: 15
    Dernier message: 26/01/2015, 19h37
  2. Réponses: 4
    Dernier message: 15/10/2009, 13h33
  3. [XL-2007] Afficher une checkbox dans une feuille si une checkbox d'une autre feuille est cochée
    Par JessieCoutas dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/08/2009, 13h35
  4. Envoyer une formulaire dans une page dans une Frame
    Par zooffy dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 29/06/2007, 10h13
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo