OVH Cloud OVH Cloud

Problème lors de fermeture de formulaire

4 réponses
Avatar
Nesta
Bonjour à tous,

J'ai créé un formulaire ParametreLancement dans visual Basic pour Excel que
je lance à l'ouverture du Workbook :

"
Private Sub Workbook_Open()

ParametreLancement.Show

End Sub
"

Un bouton placé sur ce formulaire permet d'exécuter une macro, après avoir
rentré quelques paramètres.
Quand tout est terminé, le focus revient sur mon formulaire. En le fermant
(croix en haut à droite), je reviens dans ma procédure Private Sub
Workbook_Open(), sur la même ligne ParametreLancement.show, et là, j'ai le
message d'erreur suivant :

"
Erreur d'exécution '-2147417848 (80010108)':

Erreur Automation
L'objet invoqué s'est déconnecté de ses clients.
"

En fait, ce que je souhaite faire, c'est juste de fermer ce formulaire quand
on clique sur la croix, c'est tout...
Quelqu'un peut m'expliquer ce qui se passe svp ? Merci d'avance pour vos
solutions.


Cordialement,
Nesta

4 réponses

Avatar
isabelle
bonjour nesta,

essai comme ça,


Private Sub Workbook_Open()
Application.EnableEvents = False
ParametreLancement.Show
Application.EnableEvents = True
End Sub

isabelle


Bonjour à tous,

J'ai créé un formulaire ParametreLancement dans visual Basic pour Excel que
je lance à l'ouverture du Workbook :

"
Private Sub Workbook_Open()

ParametreLancement.Show

End Sub
"

Un bouton placé sur ce formulaire permet d'exécuter une macro, après avoir
rentré quelques paramètres.
Quand tout est terminé, le focus revient sur mon formulaire. En le fermant
(croix en haut à droite), je reviens dans ma procédure Private Sub
Workbook_Open(), sur la même ligne ParametreLancement.show, et là, j'ai le
message d'erreur suivant :

"
Erreur d'exécution '-2147417848 (80010108)':

Erreur Automation
L'objet invoqué s'est déconnecté de ses clients.
"

En fait, ce que je souhaite faire, c'est juste de fermer ce formulaire quand
on clique sur la croix, c'est tout...
Quelqu'un peut m'expliquer ce qui se passe svp ? Merci d'avance pour vos
solutions.


Cordialement,
Nesta




Avatar
Nesta
Bonjour Isabelle,

J'ai essayé, mais ça ne fonctionne pas. J'ai le même message d'erreur.
En faisant un déboguage pas à pas détaillé, je constate que c'est quand tout
est terminé (quand on a atteint toutes les end sub) que ça se produit.
J'ai l'impression que Private Sub Workbook_Open() se lance deux fois :
- une première fois quand je double click sur mon fichier Excel ( ce qui est
normal)
- une deuxième fois quand toutes les instructions sont finies (comme si le
document se recharge une deuxième fois).
J'aurais souhaité pouvoir trouver un moyen de fermer mon formulaire un peu
avant, mais apparemment la commande UserFom.close (ou équivalent) n'existe
pas là, et je ne sais pas pourquoi... N'y -a-t-il don aucun moyen de fermer
un formulaire comme cela ?

Nesta




"isabelle" a écrit dans le message de news:

bonjour nesta,

essai comme ça,


Private Sub Workbook_Open()
Application.EnableEvents = False
ParametreLancement.Show
Application.EnableEvents = True
End Sub

isabelle


Bonjour à tous,

J'ai créé un formulaire ParametreLancement dans visual Basic pour Excel
que je lance à l'ouverture du Workbook :

"
Private Sub Workbook_Open()

ParametreLancement.Show

End Sub
"

Un bouton placé sur ce formulaire permet d'exécuter une macro, après
avoir rentré quelques paramètres.
Quand tout est terminé, le focus revient sur mon formulaire. En le
fermant (croix en haut à droite), je reviens dans ma procédure Private
Sub Workbook_Open(), sur la même ligne ParametreLancement.show, et là,
j'ai le message d'erreur suivant :

"
Erreur d'exécution '-2147417848 (80010108)':

Erreur Automation
L'objet invoqué s'est déconnecté de ses clients.
"

En fait, ce que je souhaite faire, c'est juste de fermer ce formulaire
quand on clique sur la croix, c'est tout...
Quelqu'un peut m'expliquer ce qui se passe svp ? Merci d'avance pour vos
solutions.


Cordialement,
Nesta




Avatar
Ange Ounis
Dans le bouton sur ton formulaire, une fois le traitement que tu veux faire
terminé, ferme directement ton userform et décharge-le de la mémoire en
utilisant l'instruction

UnLoad ParametreLancement

comme dernière instruction de la procédure exécutée par un clic sur le bouton.

----------
Ange Ounis
----------

Bonjour Isabelle,

J'ai essayé, mais ça ne fonctionne pas. J'ai le même message d'erreur.
En faisant un déboguage pas à pas détaillé, je constate que c'est quand tout
est terminé (quand on a atteint toutes les end sub) que ça se produit.
J'ai l'impression que Private Sub Workbook_Open() se lance deux fois :
- une première fois quand je double click sur mon fichier Excel ( ce qui est
normal)
- une deuxième fois quand toutes les instructions sont finies (comme si le
document se recharge une deuxième fois).
J'aurais souhaité pouvoir trouver un moyen de fermer mon formulaire un peu
avant, mais apparemment la commande UserFom.close (ou équivalent) n'existe
pas là, et je ne sais pas pourquoi... N'y -a-t-il don aucun moyen de fermer
un formulaire comme cela ?

Nesta




"isabelle" a écrit dans le message de news:

bonjour nesta,

essai comme ça,


Private Sub Workbook_Open()
Application.EnableEvents = False
ParametreLancement.Show
Application.EnableEvents = True
End Sub

isabelle


Bonjour à tous,

J'ai créé un formulaire ParametreLancement dans visual Basic pour Excel
que je lance à l'ouverture du Workbook :

"
Private Sub Workbook_Open()

ParametreLancement.Show

End Sub
"

Un bouton placé sur ce formulaire permet d'exécuter une macro, après
avoir rentré quelques paramètres.
Quand tout est terminé, le focus revient sur mon formulaire. En le
fermant (croix en haut à droite), je reviens dans ma procédure Private
Sub Workbook_Open(), sur la même ligne ParametreLancement.show, et là,
j'ai le message d'erreur suivant :

"
Erreur d'exécution '-2147417848 (80010108)':

Erreur Automation
L'objet invoqué s'est déconnecté de ses clients.
"

En fait, ce que je souhaite faire, c'est juste de fermer ce formulaire
quand on clique sur la croix, c'est tout...
Quelqu'un peut m'expliquer ce qui se passe svp ? Merci d'avance pour vos
solutions.


Cordialement,
Nesta








Avatar
Nesta
Bonsoir Ange Ounis,

Merci beaucoup pour l'instruction qui fonctionne très bien.

Cordialement,
Nesta



"Ange Ounis" a écrit dans le message de news:

Dans le bouton sur ton formulaire, une fois le traitement que tu veux
faire terminé, ferme directement ton userform et décharge-le de la mémoire
en utilisant l'instruction

UnLoad ParametreLancement

comme dernière instruction de la procédure exécutée par un clic sur le
bouton.

----------
Ange Ounis
----------

Bonjour Isabelle,

J'ai essayé, mais ça ne fonctionne pas. J'ai le même message d'erreur.
En faisant un déboguage pas à pas détaillé, je constate que c'est quand
tout est terminé (quand on a atteint toutes les end sub) que ça se
produit.
J'ai l'impression que Private Sub Workbook_Open() se lance deux fois :
- une première fois quand je double click sur mon fichier Excel ( ce qui
est normal)
- une deuxième fois quand toutes les instructions sont finies (comme si
le document se recharge une deuxième fois).
J'aurais souhaité pouvoir trouver un moyen de fermer mon formulaire un
peu avant, mais apparemment la commande UserFom.close (ou équivalent)
n'existe pas là, et je ne sais pas pourquoi... N'y -a-t-il don aucun
moyen de fermer un formulaire comme cela ?

Nesta




"isabelle" a écrit dans le message de news:

bonjour nesta,

essai comme ça,


Private Sub Workbook_Open()
Application.EnableEvents = False
ParametreLancement.Show
Application.EnableEvents = True
End Sub

isabelle


Bonjour à tous,

J'ai créé un formulaire ParametreLancement dans visual Basic pour Excel
que je lance à l'ouverture du Workbook :

"
Private Sub Workbook_Open()

ParametreLancement.Show

End Sub
"

Un bouton placé sur ce formulaire permet d'exécuter une macro, après
avoir rentré quelques paramètres.
Quand tout est terminé, le focus revient sur mon formulaire. En le
fermant (croix en haut à droite), je reviens dans ma procédure Private
Sub Workbook_Open(), sur la même ligne ParametreLancement.show, et là,
j'ai le message d'erreur suivant :

"
Erreur d'exécution '-2147417848 (80010108)':

Erreur Automation
L'objet invoqué s'est déconnecté de ses clients.
"

En fait, ce que je souhaite faire, c'est juste de fermer ce formulaire
quand on clique sur la croix, c'est tout...
Quelqu'un peut m'expliquer ce qui se passe svp ? Merci d'avance pour
vos solutions.


Cordialement,
Nesta