Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/08/2011, 15h40   #1
Invité de passage
 
Homme
Inscription : juillet 2011
Messages : 17
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : juillet 2011
Messages : 17
Points : 2
Points : 2
Par défaut marche que la 1ere fois : ActiveWorkbook.RunAutoMacros xlAutoOpen

hello,

j'ai fait un p'tit outil access et via un formulaire, je fais pas mal de trucs dont ouvrir un fichier excel en ajoutant "ActiveWorkbook.RunAutoMacros xlAutoOpen".

1) je remplis mon formulaire access, ma macro,ouvre toto.xls et "ActiveWorkbook.RunAutoMacros xlAutoOpen" lance bien la macro d'ouverture automatiquement comme souhaité.

2) je ferme toto.xls, je retourne sur mon formulaire toujours ouvert et je reclique sur mon bouton de validation , tout marche bien, toto.xls se réouvre et là bug sur ""ActiveWorkbook.RunAutoMacros xlAutoOpen"" avec un message :
"erreur d'exection91 : variable objet ou variable de bloc with non définie".
pipo_56 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2011, 15h56   #2
Invité de passage
 
Homme
Inscription : juillet 2011
Messages : 17
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : juillet 2011
Messages : 17
Points : 2
Points : 2
j'oubliais, si je ferme le formulaire pour réessayer, ca bug toujours
par contre si je ferme la base access et que je recommence, ca fonctionne à nouveau pour une seule fois.

donc a aujourd'hui je quit la base access a chaque utilisation pour eviter le bug.
pipo_56 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2011, 18h52   #3
Membre actif
 
Avatar de robyseb
 
Homme Sébastien
Développeur indépendant
Inscription : juillet 2011
Messages : 178
Détails du profil
Informations personnelles :
Nom : Homme Sébastien
Localisation : Canada

Informations professionnelles :
Activité : Développeur indépendant

Informations forums :
Inscription : juillet 2011
Messages : 178
Points : 193
Points : 193
salut post le bout de code que l'on puissent regarder ca ...

j'ai lu ailleurs quelques choses qui à rapport à tes déclarations de variables !!

comme :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
'change
ws As Worksheet 
'pour
dim ws As Worksheet 
 
'change
Set ws = ActiveSheet 
'pour
Set ws = ActiveWorkbook.ActiveSheet
 
 
'ont va voir si ca peut aider ...
comme tu peut voir nous sommes à l'aveugle sans le code!
robyseb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2011, 09h23   #4
Invité de passage
 
Homme
Inscription : juillet 2011
Messages : 17
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : juillet 2011
Messages : 17
Points : 2
Points : 2
en fait en code j'ai ca :
Citation:
Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = True
' Définit le fichier EXCEL à ouvrir
xlApp.Workbooks.Open ("C:toto.xls")
ActiveWorkbook.RunAutoMacros xlAutoOpen
et je reprecise que ca fonctionne tres bien la 1ere fois.
pipo_56 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2011, 15h32   #5
Rédacteur
 
Avatar de LedZeppII
 
Homme
Maintenance données produits
Inscription : décembre 2005
Messages : 3 939
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Maintenance données produits
Secteur : Distribution

Informations forums :
Inscription : décembre 2005
Messages : 3 939
Points : 6 278
Points : 6 278
Bonjour,

Ton code crée plusieurs instances de excel.exe.
Si il y a qu'un seul processus excel.exe en mémoire ça fonctionne.
S'il y en a plus d'un tu as une erreur.

Essaie en remplaçant
Code :
ActiveWorkbook.RunAutoMacros xlAutoOpen
par
Code :
xlApp.ActiveWorkbook.RunAutoMacros xlAutoOpen
Ainsi on désigne clairement le processus excel.exe.

A+
LedZeppII est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2011, 15h37   #6
Invité de passage
 
Homme
Inscription : juillet 2011
Messages : 17
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : juillet 2011
Messages : 17
Points : 2
Points : 2
je dis bravo LedZeppII et un grand merci a tous.
ca a l'air de marcher nickel.
merci de la correction et de l'explication qui va avec.
pipo_56 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h23.


 
 
 
 
Partenaires

Hébergement Web