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 :

Problème d'ouverture de formulaire et de bd Acces sur Excel


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Problème d'ouverture de formulaire et de bd Acces sur Excel
    Bonjour,

    Cela fait plusieurs jours que je bosse sur le même projet excel et quand je veux exécuter 2 actions, cela indique "erreurd'exécution 3709: impossible d'utiliser cette connexion pour effectuer cette opération. Elle est fermée ou non valide dans ce contexte". En cliquant sur débogage, cela surligne les lignes "NouveauDevis.Show" et "RechDevis.Show": impossible d'afficher mes deux formulaires!!

    Je ne vois même pas d'où peut venir le problème! Si quelqu'un pouvait m'aider je lui serai grandement reconnaissante!

    Pour préciser, ces actions demande l'ouverture d'une base de données Access (qui est bien dans le même répertoire). 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
    Private Function AccessActif() As Boolean
     
    ' Teste si Access a été lancé
    On Error GoTo Err:
    If blnAccess Then
    ' Teste si la base de données Devis est toujours ouverte
    ' Initialisation est un module de la base Devis
       appAccess.Run "Initialisation"
    Else
    ' Lance Access et ouvre la base Devis.accdb
    lanceAccess:
       On Error GoTo Err2:
       Set appAccess = CreateObject("Access.application")
       appAccess.OpenCurrentDatabase (strFolder & "\Devis.accdb")
       appAccess.Visible = True
       blnAccess = True
    End If
    AccessActif = True
    Exit Function
     
    Err:
    blnAccess = False
    GoTo lanceAccess:
    Exit Function
    Err2:
    AccessActif = False
     
    End Function
     
    Sub Ajout_Devis()
    ' Affiche le formulaire NouveauDevis
    NouveauDevis.Show
    End Sub
     
    Sub Rech_Devis()
    ' Affiche le formulaire de recherche des devis
    RechDevis.Show
    End Sub
    Et dans un autre module:

    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
    Option Explicit
    ' Variables publiques
    Public i As Integer
    Public j As Integer
    Public k As Integer
     
    ' Répertoire de l'application
    Public strFolder As String
     
    ' Objets ADO
    Private cnnCli As ADODB.Connection
    Private rstCli As ADODB.Recordset
    Private cnnCond As ADODB.Connection
    Private rstCond As ADODB.Recordset
     
    Public Function OuvreBase() As Boolean
     
    ' Ouverture de la base Devis.accdb
    On Error GoTo Err:
    Set cnnCli = New ADODB.Connection
    With cnnCli
       .Provider = "Microsoft.ACE.OLEDB.12.0"
       .Open "C:\Users\Pauline Kergus\Documents\Logiciel Spac\Devis.accdb"
    End With
    On Error GoTo 0
    OuvreBase = True
    Exit Function
     
    Err:
    On Error GoTo 0
    OuvreBase = False
    MsgBox "Problème lors de l'ouverture de la base Devis.accdb", vbExclamation
    End Function

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2009
    Messages : 652
    Points : 1 219
    Points
    1 219
    Par défaut Demande de précisions
    Bonjour,

    Où sont les formulaires "NouveauDevis" et "RechDevis" ?
    Sont-ils dans Excel ou dans Access ?
    ******
    Comment est déclarée la variable objet appAccess et, surtout, qu'elle sa portée (Dim au niveau module, Dim au niveau procédure, Public ou Private) ?

    A plus.

  3. #3
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Les formulaires "NouveauDevis" et "RechDevis" sont dans Excel.
    appAccess est défini au niveau module comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Option Explicit
    ' Variables du modules
    Dim blnAccess As Boolean
    Dim appAccess As Access.Application
    Si cela peut aider à trouver d'où vient le problème, j'ai un autre formulaire "Rechercher client" sur Access qui fonctionne et s'ouvre depuis Excel si ma commande RechClient est exécutée en premier. En revanche, si j'éxécute d'abord ajouter ou rechercher un devis, et qu'ensuite je veux exécuter RechClient, mon MsgBox "Impossible d'accéder à Access" s'affiche (il s'affiche en cas d'erreur pour RechClient).

Discussions similaires

  1. [AC-2003] Problème d'ouverture de formulaire sur requête
    Par Plume27 dans le forum VBA Access
    Réponses: 3
    Dernier message: 01/04/2013, 23h49
  2. Problème d'ouverture de formulaire sous Matisse
    Par guify dans le forum NetBeans
    Réponses: 2
    Dernier message: 18/09/2008, 08h42
  3. Réponses: 0
    Dernier message: 17/04/2008, 21h50
  4. problème d'ouverture du formulaire
    Par rousse dans le forum IHM
    Réponses: 6
    Dernier message: 19/03/2007, 11h26
  5. Réponses: 4
    Dernier message: 13/02/2006, 11h13

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