OVH Cloud OVH Cloud

lignes code fausses sous VB

1 réponse
Avatar
pascal913
---------------------------------------------------------------------------=
-----

Bonjour tout le monde !!

Je suis sous access 97 (en anglais) et de excel 2000 (en anglais). J'ai
un formulaire qui me sert =E0 entrer les nouveaux enregistements dans ma
base de donn=E9es. Sous access j'utilise une macro qui appelle une
requete pour filtrer ma bdd, r=E9sultat que j'envoie vers excel.
J'ai cr=E9e sous excel une macro qui me fait la mise en page de mes
colonnes, couleur, forme etc... Macro qui fonctionne parfaitement.
Mon seul souci est que je voudrais que la macro s'ex=E9cute toute seule.
En copiant le contenu de la macro faite sur excel (VB) et coller dans
un module d'access, module que j'int=E9grerai dans ma macro access avec
un OpenModule. C'est ce que j'essaye de faire depuis plus de deux
semaines. Le truc c'est que lorsque je lance ma macro access, le
compilateur me dit que toutes mes lignes de code sont fausses, pas
aussi directement mais il le dit.
Pourtant j'ai suivi les instructions que j'ai vu dans la FAQ en
integrant les librairies ad=E9quates. Ca me para=EEt bizarre. Est-ce
normal ? Est-ce une incompatibilit=E9 entre Access97 et excel2000 ?
Rappellez moi quand m=EAme les librairies a rajouter dans mon cas juste
pour v=E9rifier si ce sont les bonnes que j'ai mise.=20

Merci d'avance.

1 réponse

Avatar
Poulpor
Bonjour Pascal,

Pour faire du code Excel depuis Access, il faut :

- déclarer dans tes références (outilreferences l'utilisation de la biblio
Excel)
- définir ton application Excel pour que tu puisses la manipuler, selon
l'exemple ci-dessous :

Dim appexcel As Excel.Application 'déclaration de ton objet
Dim wbexcel As Excel.Workbook 'déclaration de ton objet

On Error GoTo Err: 'gere le cas où Excel n'est pas ouvert

Set appexcel = GetObject(, "Excel.Application")
On Error Resume Next
appexcel.Visible = True
Set wbexcel = appexcel.ActiveWorkbook
wbexcel.Sheets.Add

'---------
'insérer le code de vba Excel ici en mettant "wbexcel." en préfixe, comme
par exemple :
wbexcel.ActiveSheet.Select
'---------

Err: 'gestion du fait qu'Excel puisse ne pas être ouvert
If Err.Number = 429 Then
Set appexcel = CreateObject("Excel.Application")
Err.Clear
Resume Next
End If


Bon courage,

Poulpor


--------------------------------------------------------------------------------

Bonjour tout le monde !!

Je suis sous access 97 (en anglais) et de excel 2000 (en anglais). J'ai
un formulaire qui me sert à entrer les nouveaux enregistements dans ma
base de données. Sous access j'utilise une macro qui appelle une
requete pour filtrer ma bdd, résultat que j'envoie vers excel.
J'ai crée sous excel une macro qui me fait la mise en page de mes
colonnes, couleur, forme etc... Macro qui fonctionne parfaitement.
Mon seul souci est que je voudrais que la macro s'exécute toute seule.
En copiant le contenu de la macro faite sur excel (VB) et coller dans
un module d'access, module que j'intégrerai dans ma macro access avec
un OpenModule. C'est ce que j'essaye de faire depuis plus de deux
semaines. Le truc c'est que lorsque je lance ma macro access, le
compilateur me dit que toutes mes lignes de code sont fausses, pas
aussi directement mais il le dit.
Pourtant j'ai suivi les instructions que j'ai vu dans la FAQ en
integrant les librairies adéquates. Ca me paraît bizarre. Est-ce
normal ? Est-ce une incompatibilité entre Access97 et excel2000 ?
Rappellez moi quand même les librairies a rajouter dans mon cas juste
pour vérifier si ce sont les bonnes que j'ai mise.

Merci d'avance.