(attention c'est dure =E0 comprendre, je vais=20
essayer d'=EAtre clair) :
- J'ai fait un classeur Excel qui lan=E7ait une macro =E0 son=20
ouverture (affichage d'userform).
- Pour =E9viter d'avoir le message "voulez-vous activer les=20
macro ?", j'ai fait cette macro dans un autre classeur=20
qui ouvre mon classeur avec la userform :
Sub Main()
=20
' Start Excel and loads the text file
On Error GoTo Fin
Dim excelApp As Object
Set excelApp =3D CreateObject("Excel.Application")
On Error GoTo 0
excelApp.Visible =3D True
excelApp.Workbooks.OpenText Filename:=3D"C:\Documents=20
and Settings\MARMONIER_C\Bureau\Travail En=20
Cours\CreationComposant.xls"
=20
Fin:
End Sub
- Le probl=E8me avec cette macro c'est que =E7a ouvre le=20
documment mais =E7a ne le met pas actif (=3D> la macro ne se=20
lance pas automatiquemment)
-Alors j'ai ajouter dans mon classeur ( avec l'userform )
un bout de code qui permet =E0 l'ouverture de celui-ci de=20
lui donner la main. Le voici :
Private Declare Function SetWindowPos _
Lib "user32" ( _
ByVal Hwnd As Long, _
ByVal hWndInsertAfter As Long, _
ByVal x As Long, _
ByVal y As Long, _
ByVal cx As Long, _
ByVal cy As Long, _
ByVal wFlags As Long) As Long
Private Declare Function FindWindowA _
Lib "user32" ( _
ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long
Private Sub Workbook_Open()
=20
Dim Position As Long
Dim Hwnd As Long
Dim Hauteur As Long
Dim Largeur As Long
With Application
Hauteur =3D .Height
Largeur =3D .Width
- c'=E9tait super, =E7a marchait enfin ! ... mais ce n'=E9tait=20
pas fini. Je voulais maintenant ouvrir mon classeur =E0=20
partir du logiciel "PowerLogic" qui =E0 un interpreteur VB=20
(il s'appel Sax Basic Engine). J'ai copier la macro Main=20
dans l'interpreteur et je l'ai lancer. Resultat : =E7a=20
ouvre bien le classeur Excel et mon userform est bien=20
affich=E9e mais =E7a n'active pas Excel : dans la barre des=20
tache Excel clignote (bizare ?! ). Et lorsque je clic le=20
logiciel Power logic pour le r=E9activer, le=20
message "Serveur occup=E9 !
Impossble de terminer cette action car le programme=20
Microsoft Excel ne r=E9pond pas." s'affiche (ce message est=20
issu du logiciel "PowerLogic".
Il semplerait que la macro de Powerlogic ne soit pas=20
encore termin=E9e alors que celle d'Excel a d=E9ja commenc=E9 =E0=20
s'executer =3D> je pense qu'il faudrait arr=E9ter l'execution=20
de la macro powerLogic d=E8s qu'Excel est ouvert et avant=20
que la macro d'excel se lance mais je ne sais pas comment=20
faire
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Patrice Henrio
J'ai l'impression que Excell attend,d une réponse dans une boîte de dialogue (clignotement) mais que celle-ci ne peut pas s'afficher. Essaie soit Entrée soit tabulation puis Entrée
"Emcy" a écrit dans le message de news:1f1b101c389b9$10335320$ salut,
(attention c'est dure à comprendre, je vais essayer d'être clair) :
- J'ai fait un classeur Excel qui lançait une macro à son ouverture (affichage d'userform).
- Pour éviter d'avoir le message "voulez-vous activer les macro ?", j'ai fait cette macro dans un autre classeur qui ouvre mon classeur avec la userform :
Sub Main()
' Start Excel and loads the text file On Error GoTo Fin Dim excelApp As Object Set excelApp = CreateObject("Excel.Application") On Error GoTo 0 excelApp.Visible = True excelApp.Workbooks.OpenText Filename:="C:Documents and SettingsMARMONIER_CBureauTravail En CoursCreationComposant.xls"
Fin:
End Sub
- Le problème avec cette macro c'est que ça ouvre le documment mais ça ne le met pas actif (=> la macro ne se lance pas automatiquemment)
-Alors j'ai ajouter dans mon classeur ( avec l'userform ) un bout de code qui permet à l'ouverture de celui-ci de lui donner la main. Le voici :
Private Declare Function SetWindowPos _ Lib "user32" ( _ ByVal Hwnd As Long, _ ByVal hWndInsertAfter As Long, _ ByVal x As Long, _ ByVal y As Long, _ ByVal cx As Long, _ ByVal cy As Long, _ ByVal wFlags As Long) As Long
Private Declare Function FindWindowA _ Lib "user32" ( _ ByVal lpClassName As String, _ ByVal lpWindowName As String) As Long
Private Sub Workbook_Open()
Dim Position As Long Dim Hwnd As Long Dim Hauteur As Long Dim Largeur As Long With Application Hauteur = .Height Largeur = .Width
- c'était super, ça marchait enfin ! ... mais ce n'était pas fini. Je voulais maintenant ouvrir mon classeur à partir du logiciel "PowerLogic" qui à un interpreteur VB (il s'appel Sax Basic Engine). J'ai copier la macro Main dans l'interpreteur et je l'ai lancer. Resultat : ça ouvre bien le classeur Excel et mon userform est bien affichée mais ça n'active pas Excel : dans la barre des tache Excel clignote (bizare ?! ). Et lorsque je clic le logiciel Power logic pour le réactiver, le message "Serveur occupé ! Impossble de terminer cette action car le programme Microsoft Excel ne répond pas." s'affiche (ce message est issu du logiciel "PowerLogic". Il semplerait que la macro de Powerlogic ne soit pas encore terminée alors que celle d'Excel a déja commencé à s'executer => je pense qu'il faudrait arréter l'execution de la macro powerLogic dès qu'Excel est ouvert et avant que la macro d'excel se lance mais je ne sais pas comment faire
Quelqu'un pourait-il m'aider ?
J'ai l'impression que Excell attend,d une réponse dans une boîte de dialogue
(clignotement) mais que celle-ci ne peut pas s'afficher.
Essaie soit Entrée
soit tabulation puis Entrée
"Emcy" <emcy@voila.com> a écrit dans le message de
news:1f1b101c389b9$10335320$a601280a@phx.gbl...
salut,
(attention c'est dure à comprendre, je vais
essayer d'être clair) :
- J'ai fait un classeur Excel qui lançait une macro à son
ouverture (affichage d'userform).
- Pour éviter d'avoir le message "voulez-vous activer les
macro ?", j'ai fait cette macro dans un autre classeur
qui ouvre mon classeur avec la userform :
Sub Main()
' Start Excel and loads the text file
On Error GoTo Fin
Dim excelApp As Object
Set excelApp = CreateObject("Excel.Application")
On Error GoTo 0
excelApp.Visible = True
excelApp.Workbooks.OpenText Filename:="C:Documents
and SettingsMARMONIER_CBureauTravail En
CoursCreationComposant.xls"
Fin:
End Sub
- Le problème avec cette macro c'est que ça ouvre le
documment mais ça ne le met pas actif (=> la macro ne se
lance pas automatiquemment)
-Alors j'ai ajouter dans mon classeur ( avec l'userform )
un bout de code qui permet à l'ouverture de celui-ci de
lui donner la main. Le voici :
Private Declare Function SetWindowPos _
Lib "user32" ( _
ByVal Hwnd As Long, _
ByVal hWndInsertAfter As Long, _
ByVal x As Long, _
ByVal y As Long, _
ByVal cx As Long, _
ByVal cy As Long, _
ByVal wFlags As Long) As Long
Private Declare Function FindWindowA _
Lib "user32" ( _
ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long
Private Sub Workbook_Open()
Dim Position As Long
Dim Hwnd As Long
Dim Hauteur As Long
Dim Largeur As Long
With Application
Hauteur = .Height
Largeur = .Width
- c'était super, ça marchait enfin ! ... mais ce n'était
pas fini. Je voulais maintenant ouvrir mon classeur à
partir du logiciel "PowerLogic" qui à un interpreteur VB
(il s'appel Sax Basic Engine). J'ai copier la macro Main
dans l'interpreteur et je l'ai lancer. Resultat : ça
ouvre bien le classeur Excel et mon userform est bien
affichée mais ça n'active pas Excel : dans la barre des
tache Excel clignote (bizare ?! ). Et lorsque je clic le
logiciel Power logic pour le réactiver, le
message "Serveur occupé !
Impossble de terminer cette action car le programme
Microsoft Excel ne répond pas." s'affiche (ce message est
issu du logiciel "PowerLogic".
Il semplerait que la macro de Powerlogic ne soit pas
encore terminée alors que celle d'Excel a déja commencé à
s'executer => je pense qu'il faudrait arréter l'execution
de la macro powerLogic dès qu'Excel est ouvert et avant
que la macro d'excel se lance mais je ne sais pas comment
faire
J'ai l'impression que Excell attend,d une réponse dans une boîte de dialogue (clignotement) mais que celle-ci ne peut pas s'afficher. Essaie soit Entrée soit tabulation puis Entrée
"Emcy" a écrit dans le message de news:1f1b101c389b9$10335320$ salut,
(attention c'est dure à comprendre, je vais essayer d'être clair) :
- J'ai fait un classeur Excel qui lançait une macro à son ouverture (affichage d'userform).
- Pour éviter d'avoir le message "voulez-vous activer les macro ?", j'ai fait cette macro dans un autre classeur qui ouvre mon classeur avec la userform :
Sub Main()
' Start Excel and loads the text file On Error GoTo Fin Dim excelApp As Object Set excelApp = CreateObject("Excel.Application") On Error GoTo 0 excelApp.Visible = True excelApp.Workbooks.OpenText Filename:="C:Documents and SettingsMARMONIER_CBureauTravail En CoursCreationComposant.xls"
Fin:
End Sub
- Le problème avec cette macro c'est que ça ouvre le documment mais ça ne le met pas actif (=> la macro ne se lance pas automatiquemment)
-Alors j'ai ajouter dans mon classeur ( avec l'userform ) un bout de code qui permet à l'ouverture de celui-ci de lui donner la main. Le voici :
Private Declare Function SetWindowPos _ Lib "user32" ( _ ByVal Hwnd As Long, _ ByVal hWndInsertAfter As Long, _ ByVal x As Long, _ ByVal y As Long, _ ByVal cx As Long, _ ByVal cy As Long, _ ByVal wFlags As Long) As Long
Private Declare Function FindWindowA _ Lib "user32" ( _ ByVal lpClassName As String, _ ByVal lpWindowName As String) As Long
Private Sub Workbook_Open()
Dim Position As Long Dim Hwnd As Long Dim Hauteur As Long Dim Largeur As Long With Application Hauteur = .Height Largeur = .Width
- c'était super, ça marchait enfin ! ... mais ce n'était pas fini. Je voulais maintenant ouvrir mon classeur à partir du logiciel "PowerLogic" qui à un interpreteur VB (il s'appel Sax Basic Engine). J'ai copier la macro Main dans l'interpreteur et je l'ai lancer. Resultat : ça ouvre bien le classeur Excel et mon userform est bien affichée mais ça n'active pas Excel : dans la barre des tache Excel clignote (bizare ?! ). Et lorsque je clic le logiciel Power logic pour le réactiver, le message "Serveur occupé ! Impossble de terminer cette action car le programme Microsoft Excel ne répond pas." s'affiche (ce message est issu du logiciel "PowerLogic". Il semplerait que la macro de Powerlogic ne soit pas encore terminée alors que celle d'Excel a déja commencé à s'executer => je pense qu'il faudrait arréter l'execution de la macro powerLogic dès qu'Excel est ouvert et avant que la macro d'excel se lance mais je ne sais pas comment faire
Quelqu'un pourait-il m'aider ?
Emcy
Salut,
Je pense que c'est plustot PowerLogic qui attend qu'excel finisse de lancer ça macro. Le problème c'est qu'il faudrait que la macro de PowerLogic se stop entre le moment où il ouvre Excel et le moment où Excel lance sa macro. la commande (dans powerlogic) "Set excelApp = CreateObject("Excel.Application")" crée une liaison avec EXcel. N'exite-t-il pas un autre moyen d'ouvrir mon classeur ?
-----Message d'origine----- J'ai l'impression que Excell attend,d une réponse dans
une boîte de dialogue
(clignotement) mais que celle-ci ne peut pas s'afficher. Essaie soit Entrée soit tabulation puis Entrée
"Emcy" a écrit dans le message de news:1f1b101c389b9$10335320$ salut,
(attention c'est dure à comprendre, je vais essayer d'être clair) :
- J'ai fait un classeur Excel qui lançait une macro à son ouverture (affichage d'userform).
- Pour éviter d'avoir le message "voulez-vous activer les macro ?", j'ai fait cette macro dans un autre classeur qui ouvre mon classeur avec la userform :
Sub Main()
' Start Excel and loads the text file On Error GoTo Fin Dim excelApp As Object Set excelApp = CreateObject("Excel.Application") On Error GoTo 0 excelApp.Visible = True excelApp.Workbooks.OpenText Filename:="C:Documents and SettingsMARMONIER_CBureauTravail En CoursCreationComposant.xls"
Fin:
End Sub
- Le problème avec cette macro c'est que ça ouvre le documment mais ça ne le met pas actif (=> la macro ne se lance pas automatiquemment)
-Alors j'ai ajouter dans mon classeur ( avec l'userform ) un bout de code qui permet à l'ouverture de celui-ci de lui donner la main. Le voici :
Private Declare Function SetWindowPos _ Lib "user32" ( _ ByVal Hwnd As Long, _ ByVal hWndInsertAfter As Long, _ ByVal x As Long, _ ByVal y As Long, _ ByVal cx As Long, _ ByVal cy As Long, _ ByVal wFlags As Long) As Long
Private Declare Function FindWindowA _ Lib "user32" ( _ ByVal lpClassName As String, _ ByVal lpWindowName As String) As Long
Private Sub Workbook_Open()
Dim Position As Long Dim Hwnd As Long Dim Hauteur As Long Dim Largeur As Long With Application Hauteur = .Height Largeur = .Width
- c'était super, ça marchait enfin ! ... mais ce n'était pas fini. Je voulais maintenant ouvrir mon classeur à partir du logiciel "PowerLogic" qui à un interpreteur VB (il s'appel Sax Basic Engine). J'ai copier la macro Main dans l'interpreteur et je l'ai lancer. Resultat : ça ouvre bien le classeur Excel et mon userform est bien affichée mais ça n'active pas Excel : dans la barre des tache Excel clignote (bizare ?! ). Et lorsque je clic le logiciel Power logic pour le réactiver, le message "Serveur occupé ! Impossble de terminer cette action car le programme Microsoft Excel ne répond pas." s'affiche (ce message est issu du logiciel "PowerLogic". Il semplerait que la macro de Powerlogic ne soit pas encore terminée alors que celle d'Excel a déja commencé à s'executer => je pense qu'il faudrait arréter l'execution de la macro powerLogic dès qu'Excel est ouvert et avant que la macro d'excel se lance mais je ne sais pas comment faire
Quelqu'un pourait-il m'aider ?
.
Salut,
Je pense que c'est plustot PowerLogic qui attend qu'excel
finisse de lancer ça macro. Le problème c'est qu'il
faudrait que la macro de PowerLogic se stop entre le
moment où il ouvre Excel et le moment où Excel lance sa
macro. la commande (dans powerlogic) "Set excelApp =
CreateObject("Excel.Application")" crée une liaison avec
EXcel. N'exite-t-il pas un autre moyen d'ouvrir mon
classeur ?
-----Message d'origine-----
J'ai l'impression que Excell attend,d une réponse dans
une boîte de dialogue
(clignotement) mais que celle-ci ne peut pas s'afficher.
Essaie soit Entrée
soit tabulation puis Entrée
"Emcy" <emcy@voila.com> a écrit dans le message de
news:1f1b101c389b9$10335320$a601280a@phx.gbl...
salut,
(attention c'est dure à comprendre, je vais
essayer d'être clair) :
- J'ai fait un classeur Excel qui lançait une macro à son
ouverture (affichage d'userform).
- Pour éviter d'avoir le message "voulez-vous activer les
macro ?", j'ai fait cette macro dans un autre classeur
qui ouvre mon classeur avec la userform :
Sub Main()
' Start Excel and loads the text file
On Error GoTo Fin
Dim excelApp As Object
Set excelApp = CreateObject("Excel.Application")
On Error GoTo 0
excelApp.Visible = True
excelApp.Workbooks.OpenText Filename:="C:Documents
and SettingsMARMONIER_CBureauTravail En
CoursCreationComposant.xls"
Fin:
End Sub
- Le problème avec cette macro c'est que ça ouvre le
documment mais ça ne le met pas actif (=> la macro ne se
lance pas automatiquemment)
-Alors j'ai ajouter dans mon classeur ( avec l'userform )
un bout de code qui permet à l'ouverture de celui-ci de
lui donner la main. Le voici :
Private Declare Function SetWindowPos _
Lib "user32" ( _
ByVal Hwnd As Long, _
ByVal hWndInsertAfter As Long, _
ByVal x As Long, _
ByVal y As Long, _
ByVal cx As Long, _
ByVal cy As Long, _
ByVal wFlags As Long) As Long
Private Declare Function FindWindowA _
Lib "user32" ( _
ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long
Private Sub Workbook_Open()
Dim Position As Long
Dim Hwnd As Long
Dim Hauteur As Long
Dim Largeur As Long
With Application
Hauteur = .Height
Largeur = .Width
- c'était super, ça marchait enfin ! ... mais ce n'était
pas fini. Je voulais maintenant ouvrir mon classeur à
partir du logiciel "PowerLogic" qui à un interpreteur VB
(il s'appel Sax Basic Engine). J'ai copier la macro Main
dans l'interpreteur et je l'ai lancer. Resultat : ça
ouvre bien le classeur Excel et mon userform est bien
affichée mais ça n'active pas Excel : dans la barre des
tache Excel clignote (bizare ?! ). Et lorsque je clic le
logiciel Power logic pour le réactiver, le
message "Serveur occupé !
Impossble de terminer cette action car le programme
Microsoft Excel ne répond pas." s'affiche (ce message est
issu du logiciel "PowerLogic".
Il semplerait que la macro de Powerlogic ne soit pas
encore terminée alors que celle d'Excel a déja commencé à
s'executer => je pense qu'il faudrait arréter l'execution
de la macro powerLogic dès qu'Excel est ouvert et avant
que la macro d'excel se lance mais je ne sais pas comment
faire
Je pense que c'est plustot PowerLogic qui attend qu'excel finisse de lancer ça macro. Le problème c'est qu'il faudrait que la macro de PowerLogic se stop entre le moment où il ouvre Excel et le moment où Excel lance sa macro. la commande (dans powerlogic) "Set excelApp = CreateObject("Excel.Application")" crée une liaison avec EXcel. N'exite-t-il pas un autre moyen d'ouvrir mon classeur ?
-----Message d'origine----- J'ai l'impression que Excell attend,d une réponse dans
une boîte de dialogue
(clignotement) mais que celle-ci ne peut pas s'afficher. Essaie soit Entrée soit tabulation puis Entrée
"Emcy" a écrit dans le message de news:1f1b101c389b9$10335320$ salut,
(attention c'est dure à comprendre, je vais essayer d'être clair) :
- J'ai fait un classeur Excel qui lançait une macro à son ouverture (affichage d'userform).
- Pour éviter d'avoir le message "voulez-vous activer les macro ?", j'ai fait cette macro dans un autre classeur qui ouvre mon classeur avec la userform :
Sub Main()
' Start Excel and loads the text file On Error GoTo Fin Dim excelApp As Object Set excelApp = CreateObject("Excel.Application") On Error GoTo 0 excelApp.Visible = True excelApp.Workbooks.OpenText Filename:="C:Documents and SettingsMARMONIER_CBureauTravail En CoursCreationComposant.xls"
Fin:
End Sub
- Le problème avec cette macro c'est que ça ouvre le documment mais ça ne le met pas actif (=> la macro ne se lance pas automatiquemment)
-Alors j'ai ajouter dans mon classeur ( avec l'userform ) un bout de code qui permet à l'ouverture de celui-ci de lui donner la main. Le voici :
Private Declare Function SetWindowPos _ Lib "user32" ( _ ByVal Hwnd As Long, _ ByVal hWndInsertAfter As Long, _ ByVal x As Long, _ ByVal y As Long, _ ByVal cx As Long, _ ByVal cy As Long, _ ByVal wFlags As Long) As Long
Private Declare Function FindWindowA _ Lib "user32" ( _ ByVal lpClassName As String, _ ByVal lpWindowName As String) As Long
Private Sub Workbook_Open()
Dim Position As Long Dim Hwnd As Long Dim Hauteur As Long Dim Largeur As Long With Application Hauteur = .Height Largeur = .Width
- c'était super, ça marchait enfin ! ... mais ce n'était pas fini. Je voulais maintenant ouvrir mon classeur à partir du logiciel "PowerLogic" qui à un interpreteur VB (il s'appel Sax Basic Engine). J'ai copier la macro Main dans l'interpreteur et je l'ai lancer. Resultat : ça ouvre bien le classeur Excel et mon userform est bien affichée mais ça n'active pas Excel : dans la barre des tache Excel clignote (bizare ?! ). Et lorsque je clic le logiciel Power logic pour le réactiver, le message "Serveur occupé ! Impossble de terminer cette action car le programme Microsoft Excel ne répond pas." s'affiche (ce message est issu du logiciel "PowerLogic". Il semplerait que la macro de Powerlogic ne soit pas encore terminée alors que celle d'Excel a déja commencé à s'executer => je pense qu'il faudrait arréter l'execution de la macro powerLogic dès qu'Excel est ouvert et avant que la macro d'excel se lance mais je ne sais pas comment faire