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

Excel Discussion :

problème avec ADODB.connection [XL-2010]


Sujet :

Excel

  1. #1
    Membre chevronné
    Homme Profil pro
    autodidacte
    Inscrit en
    Novembre 2013
    Messages
    517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2013
    Messages : 517
    Par défaut problème avec ADODB.connection
    Bonjour à tous,

    Je suis encore un amateur du VBA et je me tourne vers vous concernant un problème que je ne comprends pas!

    J'ai un fichier excel dans lequel il y a une feuille paramètres qui contient le chemin d'accès au fichier à récuperer et une feuille base pour recevoir la base de données contenue dans un autre classeur.

    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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    Private Sub Workbook_Open()
     
    If Not (ThisWorkbook.ReadOnly) Then
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
     
    '===================================================================================================
                    'Mise à jour de la base de données
    '===================================================================================================
    Worksheets("Base").Range("A2:I4000").ClearContents
    Dim Source As ADODB.Connection
    Dim Rst As ADODB.Recordset
    Dim ADOCommand As ADODB.Command
    Dim Fichier As String, Plage As String, Feuille As String
     
    'Adresse de la Plage contenant les données à récupérer
    Plage = "A2:I4000"
    Feuille = "Base$" 'n'oubliez pas d'ajouter $ au nom de la feuille.
    'Chemin complet du classeur fermé
    Fichier = "" & Worksheets("Paramètres").Cells(2, 1) & ""
     
    Set Source = New ADODB.Connection
    Source.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
    "Data Source=" & Fichier & ";Extended Properties=""Excel 8.0;IMEX=1;HDR=No;"";"
    Set ADOCommand = New ADODB.Command
     
    With ADOCommand
    .ActiveConnection = Source
    .CommandText = "SELECT * FROM [" & Feuille & Plage & "]"
    End With
    Set Rst = New ADODB.Recordset
    Rst.Open ADOCommand, , adOpenKeyset, adLockOptimistic
    Set Rst = Source.Execute("[" & Feuille & Plage & "]")
     
    ThisWorkbook.Worksheets("Base").Range("A2").CopyFromRecordset Rst
    Rst.Close
    Source.Close
    Worksheets("Base").Visible = True
    Worksheets("Base").Activate
    Columns("A:A").Select
        Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
            TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
            Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
            :=Array(1, 1)
    Worksheets("Base").Visible = False
     
    Set Source = Nothing
    Set Rst = Nothing
    Set ADOCommand = Nothing
     
    Application.Windows(ThisWorkbook.Name).Visible = True
     
    End If
     
    End Sub
    Le problème, c'est que lorsque j'ouvre mon fichier excel, un message d'erreur apparait:

    "erreur de complilation: type définie par l'utilisateur non défini"

    Je ne comprends pas ou est l'erreur... :S

    Merci de votre aide et bonne journée

  2. #2
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut
    Bonjour, bonjour,

    il y aurait eu certainement des réponses si la question n'avait pas été posée dans le forum Excel (formules de calcul)
    mais dans le forum dédié Macros et VBA Excel !

    Sans oublier non plus d'indiquer le n° de la ligne déclenchant l'erreur !
    Si la ligne n'est pas indiquée, la chercher grâce au mode pas à pas via la touche F8 dans l'environnement VBA …

    A tout hasard, la référence de la bibliothèque ADO a bien été activée ?

  3. #3
    Membre chevronné
    Homme Profil pro
    autodidacte
    Inscrit en
    Novembre 2013
    Messages
    517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2013
    Messages : 517
    Par défaut
    Merci Marc-L pour ta réponse.

    En effet je viens de voir et comprendre pourquoi je n'avais pas de réponse aprfois! Je n'avais pas vu la section réservé macro... Désolé mais merci du tuyau !

    Le problème était en ligne 11 et en effet, vous avez trouvé directement la réponse je n'avais pas activé les références... merci encore!

    Bonne journée

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

Discussions similaires

  1. Problème avec adodb.recordset
    Par Pierre Fauconnier dans le forum VB.NET
    Réponses: 4
    Dernier message: 07/05/2007, 15h43
  2. Problème avec RMI connection avec JBOSS
    Par nakata77 dans le forum Wildfly/JBoss
    Réponses: 1
    Dernier message: 29/01/2007, 23h25
  3. [ADO.NET] Problème avec ma connection à la base de données
    Par gibea00 dans le forum Accès aux données
    Réponses: 2
    Dernier message: 07/12/2006, 20h03
  4. Problème avec ADODB.Stream
    Par Poussy-Puce dans le forum ASP
    Réponses: 1
    Dernier message: 04/10/2006, 17h27
  5. Problème avec ADODB.Recordset
    Par Edouard Kaiser dans le forum ASP
    Réponses: 13
    Dernier message: 09/08/2005, 17h54

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