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
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
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
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
Partager