|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||
|
Membre chevronné
![]() Inscription : décembre 2005 Messages : 710 ![]() |
Ayant souvent besoin de générer des rapports sur Excel d'aprés les données de bases Access, je me suis fait une fonction qui me prépare un rapport sur Excel à partir d'un recordset.
Je la mets ici si elle peut servir à qq'un. Il n'y a rien de bien original en soit (tout ou presque provient de differents tutoriel ou articles de FAQ) Voici la fonction et un exemple d'utilisation : Déclaration de constantes pour garder les constantes d'Excel : Code :
Arg_Path : le chemin du fichier model si il y en a un Arg_Rs : le recordset contenant les données à exporter Arg_MEF : mise en forme ou non des données (bordures, couleurs, date ...) Arg_Ligne : N° de la ligne ou coller les données Arg_Colonne : N° de la colonne ou coller les données Arg_Feuil : N° de la feuille à utiliser pour coller les données Liste des réfrences nécessaires : Visual Basic for Applications Micrsoft Access 9.0 Object Library OLE Automation Microsoft Activex Data Object Library Microsoft DAO 3.6 Object Library Code :
Code :
Les commantaires sont les bienvenus ! |
||||||
|
|
00
|
|
|
#2 |
|
Futur Membre du Club
![]() Inscription : juillet 2006 Messages : 54 ![]() |
Salut,
Super ton exemple, j'ai pu m'en servir même en étant débutant ( je comprenais pas tout à la Faq). j'ai qd même un erreur qui s'affiche : "une erreur inatendue est apparu dans la fonctio Test. L'erreur N°438 (propriété ou methode non gérée par cette objet )! contacter l'administrateur" Ca n'empèche pas l'export, mais si ce message pourvait au moins ne pas être affiché... Sinon, autre chose, j'aimerais exporter vers un onglet précis en indiquant dans la fonction le nom de l'onglet et non pas le numéro de feuille. (et j'aimerais ne pas importer les intitulés des champs (premiere ligne)) Merci |
|
|
00
|
|
|
#3 |
![]() ![]() |
Salut,
Ce serait bien d'avoir un peu plus d'explications sur l'erreur... La ligne en cause par exemple. Mais si tu as suivi tout ce que Muhad'hib a écrit, il ne devrait pas y avoir de problèmes...
__________________
Access : Les Cours, Les Sources et Les FAQs Office Avant de poster : les choses importantes à lire pour la bonne tenue du forum.sinon Ma boite à MPs n'est pas l'annexe du forum |
|
|
00
|
|
|
#4 | ||
|
Futur Membre du Club
![]() Inscription : juillet 2006 Messages : 54 ![]() |
salut kikof,
d'abord merci pour ta réponse, J'ai retiré : Code :
Ca c'est résolu, mais pour le nom de la feuille ? et retirer l'import des intitulés ? Un petit coup de pouce serait le bien venu... c'est la dernière chose qui me permettrait de finir mon stage en beauté Merci |
||
|
|
00
|
|
|
#5 |
![]() ![]() |
A la place de
Code :
Optional ByVal Arg_Feuil As Integer = 1 Et quand tu appelles la fonction : tu mets le nom de la feuille.
__________________
Access : Les Cours, Les Sources et Les FAQs Office Avant de poster : les choses importantes à lire pour la bonne tenue du forum.sinon Ma boite à MPs n'est pas l'annexe du forum |
|
|
00
|
|
|
#6 |
|
Membre chevronné
![]() Inscription : décembre 2005 Messages : 710 ![]() |
Salut,
+1 pour les réponses de Kikof Juste si tu veux passer le nom de l'onglet, ajoute un test pour vérifier qu'il existe. Peut-être aussi le laisser en optionel : -si tu passe une valeur verif que l'onglet existe et utilise le -si tu ne passe pas de valeur, utilise l'onglet index 1 N'hésite pas à mettre le code ici. A+ |
|
|
00
|
|
|
#7 |
|
Futur Membre du Club
![]() Inscription : juillet 2006 Messages : 54 ![]() |
Merci à vous deux,
Je peux maintenant sectionner la feuille d'export par son nom. Pour répondre à Muhad'hib, j'aimerais énormément contribuer à l'évolution de cet exemple en ajoutant le test : -si tu passe une valeur verif que l'onglet existe et utilise le -si tu ne passe pas de valeur, utilise l'onglet index 1 Mais j'ai bien peur de ne pas avoir les compétences pour cela. Par exemple, je n'ai aucune idée de code pour tester si oui ou non le nom de la feuille demandée existe. Sinon que faut-il rajouter pour ne pas exporter la première ligne concernant le nom des champ ? Merci |
|
|
00
|
|
|
#8 | ||
|
Membre chevronné
![]() Inscription : décembre 2005 Messages : 710 ![]() |
Re,
Les entêtes de colonnes sont renseignées par les lignes : Code :
A+ |
||
|
|
00
|
|
|
#9 | ||||
|
Membre chevronné
![]() Inscription : décembre 2005 Messages : 710 ![]() |
J'ai corrigé la source de l'erreur :
Code :
Code :
|
||||
|
|
00
|
|
|
#10 | ||
|
Membre chevronné
![]() Inscription : décembre 2005 Messages : 710 ![]() |
Re (encore),
Voici un code qui devrait correspondre à ton besoin : Code :
A+ |
||
|
|
00
|
|
|
#11 |
|
Futur Membre du Club
![]() Inscription : juillet 2006 Messages : 54 ![]() |
Merci Muhad'hib,
Ton code est parfait. Merci |
|
|
00
|
|
|
#12 |
|
Membre chevronné
![]() Inscription : décembre 2005 Messages : 710 ![]() |
Salut,
Je pense qu'on s'écarte un peu d'un code source ... Ouvre un post sur le forum avec ta problématique. Tu peux aussi m'envoyé un MP avec un lien vers ce post pour que je participe aux réponses. A+ |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com