Bonjour, en fait je dois créer un code à partir d’un code qu’on m’a passé (qui lui marche)
Ce code doit permettre l’ouverture du logiciel impromptu (interne a la boite), lancer une requête (Req_efd.imr) qui doit s’exécuter dans le catalogue AromEX7.2.0.cat. Lors de l’exécution, impromptu affiche une boite de dialogue ou il demande : l’année, le mois et la ville. Donc mon but c’est de faire exécuter tout ceci et d’enregistrer le tout.
Voila mon code (je sais que la longueur démotive mais bon..):
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
 
Private Sub Extraction_Click()
Dim Msg, Style, Title, Ctxt, Response As Variant
Dim sql As String
Dim rec As Recordset
Dim util As String
Dim mdp As String
Dim MessA, TitreV, MessM, TitreA, TitreM, MessV  As String
Dim Mois, Annee, Ville As String
 
On Error GoTo Extraction_Click_Err
Msg = "Souhaitez-vous extraire les données d'AROME ?"   ' Définit le message.
Style = vbYesNo + vbQuestion ' Définit les boutons.
Title = "Extraction"  ' Définit le titre.
Response = MsgBox(Msg, Style, Title)
 
If Response <> vbYes Then    ' L’utilisateur ne veut pas continuer.
    Exit Sub    ' On sort de la macro.
Else    ' L’utilisateur continue.
 
 DoCmd.Hourglass True
 
 'Récupération du nom utilisateur et du mot de passe
    sql = "SELECT Paramètre.[Utilisateur AROME], Paramètre.[Mot de passe AROME] FROM Paramètre;"
    Set rec = CurrentDb.OpenRecordset(sql, dbOpenSnapshot)
    rec.MoveFirst
    util = rec![Utilisateur AROME]
    mdp = rec![Mot de passe AROME]
    CurrentDb.Close
 
 
MessM = "Choississez le mois (en chiffre)"
MessA = "Choississez l'année"
TitreM = "Choix du mois"
TitreA = "Choix de l'année"
MessV = "Choisissez la ville"
TitreV = "Choix de ville"
 
Mois = InputBox(MessM, TitreM)
Annee = InputBox(MessA, TitreA)
Ville = InputBox(MessV, TitreV, "Paris")
 
Dim ObjetAppImp As Object
Dim ObjetRapImp As Object
   Set ObjetAppImp = CreateObject("Impromptu.Application")
   ObjetAppImp.Visible True
   ObjetAppImp.Activate
   ObjetAppImp.OpenCatalog "C:\AromEX7.2.0.cat", util, mdp, , , 1
 
   'Table efd
   Set ObjetRapImp = ObjetAppImp.OpenReport("Z:\Req_efd.imr", Annee, Mois, Ville)
   ObjetRapImp.RetrieveAll
   ObjetRapImp.ExportdBase "Z:\efd.dbf"
   ObjetRapImp.CloseReport
 
   DoCmd.RunMacro "Traitement1"
 
   ObjetAppImp.Quit
   CurrentDb.Close
 
   MsgBox "L'extraction des données est terminée !"
 
   DoCmd.Hourglass False
 
   End If
 
Extraction_Click_Exit:
    Exit Sub
 
Extraction_Click_Err:
    MsgBox Error$
    Resume Extraction_Click_Exit
 
End Sub
L'erreur qui apparait, après les InputBox (qui marchent bien) et l'ouverture d'Impromptu, c'est:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
Nombre d'arguments incorrect ou affectation de propriété incorrecte
Alors je sais pas si c’est possible que vous m’aidiez sans connaître le fonctionnement du logiciel… mais bon si vous pouvez je compte sur vous ! j’espère avoir été suffisamment clair, n’hésitez pas a me demander sinon !