Le grenier Access

Aller au contenu | Aller au menu | Aller à la recherche

mardi 13 juillet 2010

Importer plusieurs classeurs Excel dans une table Access en VBA

Cet article fait suite à celui-ci : Importer plusieurs feuilles Excel dans une table Access en VBA.

Sur le même principe, on va voir ici comment importer les données de plusieurs classeurs Excel. Et pour garder la logique de l'article précédent, j'ai gardé la possibilité d'importer plusieurs feuilles de chaque classeur.

Lire la suite...

vendredi 4 juin 2010

Importer plusieurs feuilles Excel dans une table Access en VBA

Je dispose de plusieurs feuilles Excel (de même structure), et je souhaiterais les importer toutes dans une seule table Access. Comment faire ?

Lire la suite...

dimanche 16 mai 2010

Automatiser l'impression d'un classeur Excel en PDF via PDFCreator

Suite à l'article Automatiser l'impression d'un état en PDF via PDFCreator, un lecteur du blog m'a demandé si c'était possible de faire la même chose pour Excel uniquement. Il faut juste quelques petits aménagements pour transformer le code Access en un code Excel. Voici donc, pour une fois, un article qui s'applique uniquement à Excel...

Lire la suite...

vendredi 22 mai 2009

Migrer des données de OpenOffice Base vers Access

Comment transférer des données OpenOffice Base dans Access ?

Lire la suite...

samedi 16 mai 2009

Importer une feuille Excel dans Access

Je dispose d'une feuille Excel qui contient des données sous forme de liste. Comment importer cette liste dans Access pour éviter de la ressaisir ?

Lire la suite...

samedi 21 février 2009

Lier des tables Excel en VBA

Comment, en VBA, lier une feuille Excel à une base de données Access ?

Lire la suite...

dimanche 26 août 2007

Macros Access

Comment exécuter une macro Access ou une portion de code VBA Access depuis Excel ?


Recopiez la macro qui suit dans un module standard d'Excel.
Vous pourrez ensuite l'exécuter via le menu Outils / Macro / Macros d'Excel.

Exécuter une macro Access depuis Excel

Sub MacroAccess()
Dim acApp As New Access.Application

' Démarrer Access
Set acApp = New Access.Application

' Ouvrir la base de données concernée
acApp.OpenCurrentDatabase ("C:\Un chemin vers une\base de données.mdb")

' Exécuter la macro
acApp.DoCmd.RunMacro "mac Test"

' Quitter Access
acApp.Quit
Set acApp = Nothing
End Sub

Dans l'exemple ci-dessus, pensez bien sûr à donner un chemin correct vers votre base de données Access. Remplacez aussi la mention mac Test par le nom réel de la macro à exécuter.

 Exécuter une procédure VBA Access depuis Excel

Dans ce second exemple, je suppose que vous avez une procédure (Sub / End Sub) nommée Test, dans un module standard Access, et que cette procédure ne comporte pas de paramètre. Ça pourrait être quelque chose comme :

Public Sub Test()
MsgBox "Hello !"
End Sub

Dans ce cas, reprenez le listing plus haut en remplaçant la ligne principale :

acApp.DoCmd.RunMacro "mac Test"

...par :

acApp.Run "Test"

 Si la procédure Test devait recevoir des paramètres, il suffirait de les ajouter à la suite, séparés par des virgules.
Par exemple :

acApp.DoCmd.RunMacro "Test", 10, "lundi"
Important
L'exemple de code ci-dessus fait appel à la bibliothèque Microsoft Access Object Library. Celle-ci doit être cochée dans le menu Outils / Références du VBE Excel. Consultez la page Références pour plus de détails.

Suppression de feuille Excel

Comment, depuis Access, supprimer une feuille de calcul Excel ?

Excel peut être démarré et manipulé comme tout objet Access. La technique est nommée Automation (Automatisation) par Microsoft ; elle permet depuis Access de réaliser quasiment n'importe quelle action Excel (ceci suppose surtout une connaissance des objets Excel).

Voici une fonction qui permet d'ouvrir un classeur Excel quelconque, et d'en supprimer une feuille.

Lire la suite...

Publipostage et dates

Lorsque je construis un publipostage entre Word et Access 2002 (XP), toutes mes dates prennent le format anglo-saxon (mm/jj/aaaa). Comment résoudre le problème ?


Une solution simple :
  1. Créez une requête basée sur la table souhaitée.
  2. Créez un champ calculé servant à formater la date correctement. Le calcul repose sur la fonction Format().
    Du style : Date française:Format([La Date];"jj/mm/aaaa")
  3. Utilisez ensuite le champ [Date française] dans votre publipostage, plutôt que le champ d'origine [La Date].
La fonction Format() produit une chaîne de caractères, celle-ci ne sera donc pas retraitée par Word.

Excel Automation

Comment piloter Excel à distance ?

Excel peut être démarré et manipulé comme tout objet Access. La technique est nommée Automation (Automatisation) par Microsoft ; elle permet depuis Access de réaliser quasiment n'importe quelle action Excel (ceci suppose surtout une connaissance des objets Excel).

Lire la suite...

- page 1 de 2