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 :

connection AS400 depuis Excel Vba


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 86
    Par défaut connection AS400 depuis Excel Vba
    Bonjour à tous,

    Je n'arrive pas à me connecter sur l'AS400 depuis Excel, c'est à l'ouverture du chemin de connection que l'erreur se produit (erreur automation),voici mon code :

    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    Public Sub connect()
     
    Dim datdeb As String, datfin As String, Listagences As String, Listcpte As String, Listcode As String
    Dim cnnConn As ADODB.Connection
    Dim rstRecordset As ADODB.Recordset
    Dim strSql As String
     
    ' Open the connection.
    Set cnnConn = New ADODB.Connection
    With cnnConn
        .ConnectionString = _
            "Provider=IBMDA400;Data Source=HEPSTG1;Defaut Collection=ECFH0"
        .Open
    End With
     
    ' Open the recordset.
     
    Listagences = Range("H2")
    Listcpte = Range("C4")
    Listcode = Range("C2")
    datdeb = Range("C3")
    datfin = Range("H3")
     
    Set rstRecordset = New ADODB.Recordset
    Set rstRecordset.ActiveConnection = cnnConn
    strSql = "SELECT SCQCLS, SCQAGC, SCQDPT, SCQDFA" & _
    "FROM SCQPOS" & _
    "WHERE SCQSTE In (" & Listcode & ") and SCQAGC In (" & Listagences & ") and SCQSCE=40 and SCQCLS In (" & Listcpte & ") and SCQTYP=1 and SCQPOS=1 and SCQDFA BETWEEN '" & datdeb & "' AND '" & datfin & "'"
     
    rstRecordset.Open strSql, cnnConn, adOpenDynamic, adLockReadOnly
     
    Application.Range("A500").CopyFromRecordset rstRecordset
     
    cnnConn.Close
    Set rstRecordset = Nothing
    Set cnnConn = Nothing
     
    End Sub
    Un petit coup de pouce svp. Merci

  2. #2
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 395
    Par défaut
    Bonsoir,

    ton système n'est pas adéquat.
    Il te faut une connection ODBC, une description Microsoft Query du fichier AS400 à importer (.DQY) et alors tu peux faire comme ceci dans ton code (ps, code non optimisé):
    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
     
        Sheets("External").Select
        Cells.Select
        Selection.ClearContents
        Selection.QueryTable.Delete
        Range("A1").Select
        With ActiveSheet.QueryTables.Add(Connection:= _
            "FINDER;C:\DATA\Transfert\13-DW\SQL\TRANSFERT__FCOL_.dqy", Destination _
            :=Range("A1"))
            .Name = "TRANSFERT__FCOL_1"
            .FieldNames = True
            .RowNumbers = False
            .FillAdjacentFormulas = False
            .PreserveFormatting = True
            .RefreshOnFileOpen = False
            .BackgroundQuery = True
            .RefreshStyle = xlInsertDeleteCells
            .SavePassword = True
            .SaveData = True
            .AdjustColumnWidth = True
            .RefreshPeriod = 0
            .PreserveColumnInfo = True
            .Refresh BackgroundQuery:=False
        End With

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 86
    Par défaut
    Merci beaucoup

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. connecter Oracle v10 Excel VBA
    Par F.Salenko dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 18/05/2011, 22h48
  2. Chercher et ouvrir fichier depuis Excel VBA
    Par hofstra dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 07/09/2010, 11h48
  3. Appeler une procédure stockée depuis Excel/VBA
    Par _Nimy_ dans le forum InterBase
    Réponses: 4
    Dernier message: 17/04/2008, 11h17
  4. Supprimer un tableau Powerpoint (PPT) depuis Excel VBA
    Par pontoise dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 02/03/2008, 19h01
  5. Question sur accès fichier word depuis excel (VBA)
    Par jerome.grange dans le forum VBA Word
    Réponses: 6
    Dernier message: 22/09/2006, 17h34

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