Bonjour à tous,
Tout d'abord, félicitation pour l'excellent tenue de ce forum et pour son immense richesse.
Cela fait maintenant quelques semaines que mon patron m'a chargé de développer une application Acces pour simplifier la vie de nos assistantes. Il me l'a confié à moi car j'ai quelques bases d'Access et que je me suis déjà fait plusieurs outils pour accélérer mon travail.
J'ai réussi à développer l'intégralité de l'outil sans trop de soucis. Normal, j'ai découvert votre forum et à chaque gros problème, hop le tutoriel correspondant
Cependant, aujourd'hui je bloque sur une épine à laquelle je n'arrive pas trouver de réponse :
Pour X raison, il me faut développer un export d'une requête paramétrée vers Excel (d'ailleurs il y aura plusieurs exports à faire, mais bon, si j'arrive pour une, les autres devraient suivre). Les paramètres sont des dates (la requête s'exécute entre DateD et dateF).
A noter que la requête est une requête sélection, avec les paramètres date de début et date de fin selon un formulaire indépendant. Cette requête sélection une dizaine de champ entre dateD et DateF et répondant au critère [Etat] = "Gangné" ou "Perdu" ou "En-Cours""
J'ai donc mis en place une automation vers Excel, avec un QueryDef (merci les tutoriels du forum)
Lorsque j'exécute mon code (procédure sur l'évènement clic d'un bouton) j'ai, au choix, deux messages d'erreur :
Erreur de conversion de type de données (code 3421) si j'utilise ce code :
Ou "Type de donnée incompatible dans l'expression du critère" (Code 3464) si j'utilise ce 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 Private Sub Commande19_Click() Dim xlApp As Excel.Application Dim xlSheet As Excel.Worksheet Dim xlBook As Excel.Workbook Dim i As Long Dim vtemp As Variant Dim qdf As DAO.QueryDef Dim rec As DAO.Recordset 'référence à la requête Set qdf = CurrentDb.QueryDefs("RQSelect_Propositions_Affaires") 'Mise en forme des paramètres DateD_0 = "#" & Format(Me.DateD.Value, "dd/mm/yyyy") & "#" DateF_0 = "#" & Format(Me.DateF.Value, "dd/mm/yyyy") & "#" 'Spécification des paramètres qdf qdf.Parameters("DateD") = DateD_0 qdf.Parameters("DateF") = DateF_0 Set rec = qdf.OpenRecordset()
En outre, j'ai essayé de charger Microsoft DAO object librairy 3.6 mais quand je fais OK (après avoir coché la case correspondante) il me dit : "Nom de module, de projet ou de bibliothèque d'objet déjà utilisée" alors que dans la liste des références elle apparait décochée
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 Private Sub Commande19_Click() Dim xlApp As Excel.Application Dim xlSheet As Excel.Worksheet Dim xlBook As Excel.Workbook Dim i As Long Dim vtemp As Variant Dim qdf As DAO.QueryDef Dim rec As DAO.Recordset 'référence à la requête Set qdf = CurrentDb.QueryDefs("RQSelect_Propositions_Affaires") 'Mise en forme des paramètres DateD_0 = "#" & Format(Me.DateD.Value, "dd/mm/yyyy") & "#" DateF_0 = "#" & Format(Me.DateF.Value, "dd/mm/yyyy") & "#" 'Spécification des paramètres qdf qdf.Parameters("DateD") = Me.DateD.Value qdf.Parameters("DateF") = Me.DateF.Value Set rec = qdf.OpenRecordset()
Merci d'avance à ceux qui pourront me débloquer et désolé si j'ai loupé un sujet sur le forum ou si mon post n'est pas au bon endroit.
Edit :
Après avoir relu les règle de modération j'ai supprimé la seconde partie du code de mon bouton, il n'avait rien avoir avec la question puisqu'il expliquait comment, après avoir chargé le recordset je construisais ma feuille Excel. A noter cependant que le post n°3 fait référence avec cette partie de code supprimée et pointe vers la méthode .Copyfromrecordset pour éviter de faire une copie ligne à ligne. Merci à la personne qui m'a suggéré cette méthode, qui fonctionne à merveille, même si elle ne résous pas mon problème initial.
Partager