Voil=E0 mon pb :
=E0 partir d'un bouton (Bton_saisdech), je souhaite faire=20
appara=EEtre une Form (SaisDech). La macro du bouton=20
Btno_saisdech est le suivant :
Private Sub Bton_SaisDech_Click()
Load UserForms("SaisDech")
UserForms("SaisDech").Show
End Sub
Lors de l'execution, le message d'erreur suivant appara=EEt=20
sur la commande Load:
Incompatibilit=E9 de type.
Quelle est la solution ? la bonne m=E9thode pour charger et=20
afficher une UserForm dans une macro ?
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
Ellimac
Bonjour,
Load SaisDech SaisDech.Show
Camille
-----Message d'origine----- Bonjour à tous,
Voilà mon pb : à partir d'un bouton (Bton_saisdech), je souhaite faire apparaître une Form (SaisDech). La macro du bouton Btno_saisdech est le suivant :
Private Sub Bton_SaisDech_Click() Load UserForms("SaisDech") UserForms("SaisDech").Show End Sub
Lors de l'execution, le message d'erreur suivant apparaît sur la commande Load:
Incompatibilité de type.
Quelle est la solution ? la bonne méthode pour charger et afficher une UserForm dans une macro ?
Merci d'avance. .
Bonjour,
Load SaisDech
SaisDech.Show
Camille
-----Message d'origine-----
Bonjour à tous,
Voilà mon pb :
à partir d'un bouton (Bton_saisdech), je souhaite faire
apparaître une Form (SaisDech). La macro du bouton
Btno_saisdech est le suivant :
Private Sub Bton_SaisDech_Click()
Load UserForms("SaisDech")
UserForms("SaisDech").Show
End Sub
Lors de l'execution, le message d'erreur suivant apparaît
sur la commande Load:
Incompatibilité de type.
Quelle est la solution ? la bonne méthode pour charger et
afficher une UserForm dans une macro ?
Voilà mon pb : à partir d'un bouton (Bton_saisdech), je souhaite faire apparaître une Form (SaisDech). La macro du bouton Btno_saisdech est le suivant :
Private Sub Bton_SaisDech_Click() Load UserForms("SaisDech") UserForms("SaisDech").Show End Sub
Lors de l'execution, le message d'erreur suivant apparaît sur la commande Load:
Incompatibilité de type.
Quelle est la solution ? la bonne méthode pour charger et afficher une UserForm dans une macro ?
Merci d'avance. .
John Fuss
La méthode .Show fait un .Load si la UserForm n'est pas chargée, et pour accéder à ta UserForm tu dois écrire directement SaisDech.Show
John
"hotguy" a écrit dans le message de news:1189501c3f5f8$217dc150$ Bonjour à tous,
Voilà mon pb : à partir d'un bouton (Bton_saisdech), je souhaite faire apparaître une Form (SaisDech). La macro du bouton Btno_saisdech est le suivant :
Private Sub Bton_SaisDech_Click() Load UserForms("SaisDech") UserForms("SaisDech").Show End Sub
Lors de l'execution, le message d'erreur suivant apparaît sur la commande Load:
Incompatibilité de type.
Quelle est la solution ? la bonne méthode pour charger et afficher une UserForm dans une macro ?
Merci d'avance.
La méthode .Show fait un .Load si la UserForm n'est pas chargée, et pour
accéder à ta UserForm tu dois écrire directement SaisDech.Show
John
"hotguy" <anonymous@discussions.microsoft.com> a écrit dans le message de
news:1189501c3f5f8$217dc150$a101280a@phx.gbl...
Bonjour à tous,
Voilà mon pb :
à partir d'un bouton (Bton_saisdech), je souhaite faire
apparaître une Form (SaisDech). La macro du bouton
Btno_saisdech est le suivant :
Private Sub Bton_SaisDech_Click()
Load UserForms("SaisDech")
UserForms("SaisDech").Show
End Sub
Lors de l'execution, le message d'erreur suivant apparaît
sur la commande Load:
Incompatibilité de type.
Quelle est la solution ? la bonne méthode pour charger et
afficher une UserForm dans une macro ?
La méthode .Show fait un .Load si la UserForm n'est pas chargée, et pour accéder à ta UserForm tu dois écrire directement SaisDech.Show
John
"hotguy" a écrit dans le message de news:1189501c3f5f8$217dc150$ Bonjour à tous,
Voilà mon pb : à partir d'un bouton (Bton_saisdech), je souhaite faire apparaître une Form (SaisDech). La macro du bouton Btno_saisdech est le suivant :
Private Sub Bton_SaisDech_Click() Load UserForms("SaisDech") UserForms("SaisDech").Show End Sub
Lors de l'execution, le message d'erreur suivant apparaît sur la commande Load:
Incompatibilité de type.
Quelle est la solution ? la bonne méthode pour charger et afficher une UserForm dans une macro ?
Merci d'avance.
Michel Gaboly
Bonjour,
La collection UserForms a une particularité qui n'est pas forcément intuitive ;-((
Elle regroupe uniquement les UserForms chargés en mémoire.
C'est pour cela qu'on ne peut utiliser :
Load UserForms("SaisDech")
Si "SaisDech" n'est pas encore chargé (avec Load ou Show, qui charge le UserForm concerné s'il ne l'est pas déjà)*, il n'appartient pas à la collection User- Forms.
C'est pourquoi, comme l'indique John, il faut employer
SaisDech.Show
Pour avoir le nombre de UserForms chargés à un moment donné, il faut utiliser Count.
Quand une appli comporte beaucoup de UserForms, dont certains sont affichés à la suite :
Me.Hide DPresences.Show
UserForms.Count, utilisé dans un module standard permet de s'assurer que l'on a pas oublié de décharger certain(s) des UserForms à la fin d'un traitement.
Une boucle permet d'avoir la liste des UserForms chargés :
Private Sub CommandButton1_Click() Dim i As Integer For i = 0 To UserForms.Count - 1 MsgBox UserForms(i).Name Next End Sub
Bien évidemment, le MsgBox peut être remplacé par un Debug.Print.
Curieusement, cette variante n'est pas acceptée :
Private Sub CommandButton1_Click() Dim U As UserForm For Each U In UserForms MsgBox U.Name Next U End Sub
A l'exécution, on obtient une erreur 438 (propriété ou méthode non gérée par cet objet), et un clic sur "Déboguage" aboutit au surlignement de "U.Name".
* Un UserForm est également chargé (Load) mais invi- sible, si un dans un module quelconque, on modifie ou on lit l'une de ses propriétés.
Bonjour à tous,
Voilà mon pb : à partir d'un bouton (Bton_saisdech), je souhaite faire apparaître une Form (SaisDech). La macro du bouton Btno_saisdech est le suivant :
Private Sub Bton_SaisDech_Click() Load UserForms("SaisDech") UserForms("SaisDech").Show End Sub
Lors de l'execution, le message d'erreur suivant apparaît sur la commande Load:
Incompatibilité de type.
Quelle est la solution ? la bonne méthode pour charger et afficher une UserForm dans une macro ?
Merci d'avance.
-- Cordialement,
Michel Gaboly http://www.gaboly.com
Bonjour,
La collection UserForms a une particularité qui n'est
pas forcément intuitive ;-((
Elle regroupe uniquement les UserForms chargés en
mémoire.
C'est pour cela qu'on ne peut utiliser :
Load UserForms("SaisDech")
Si "SaisDech" n'est pas encore chargé (avec Load ou
Show, qui charge le UserForm concerné s'il ne l'est
pas déjà)*, il n'appartient pas à la collection User-
Forms.
C'est pourquoi, comme l'indique John, il faut employer
SaisDech.Show
Pour avoir le nombre de UserForms chargés à un
moment donné, il faut utiliser Count.
Quand une appli comporte beaucoup de UserForms, dont
certains sont affichés à la suite :
Me.Hide
DPresences.Show
UserForms.Count, utilisé dans un module standard
permet de s'assurer que l'on a pas oublié de décharger
certain(s) des UserForms à la fin d'un traitement.
Une boucle permet d'avoir la liste des UserForms
chargés :
Private Sub CommandButton1_Click()
Dim i As Integer
For i = 0 To UserForms.Count - 1
MsgBox UserForms(i).Name
Next
End Sub
Bien évidemment, le MsgBox peut être remplacé par
un Debug.Print.
Curieusement, cette variante n'est pas acceptée :
Private Sub CommandButton1_Click()
Dim U As UserForm
For Each U In UserForms
MsgBox U.Name
Next U
End Sub
A l'exécution, on obtient une erreur 438 (propriété
ou méthode non gérée par cet objet), et un clic sur
"Déboguage" aboutit au surlignement de "U.Name".
* Un UserForm est également chargé (Load) mais invi-
sible, si un dans un module quelconque, on modifie ou
on lit l'une de ses propriétés.
Bonjour à tous,
Voilà mon pb :
à partir d'un bouton (Bton_saisdech), je souhaite faire
apparaître une Form (SaisDech). La macro du bouton
Btno_saisdech est le suivant :
Private Sub Bton_SaisDech_Click()
Load UserForms("SaisDech")
UserForms("SaisDech").Show
End Sub
Lors de l'execution, le message d'erreur suivant apparaît
sur la commande Load:
Incompatibilité de type.
Quelle est la solution ? la bonne méthode pour charger et
afficher une UserForm dans une macro ?
La collection UserForms a une particularité qui n'est pas forcément intuitive ;-((
Elle regroupe uniquement les UserForms chargés en mémoire.
C'est pour cela qu'on ne peut utiliser :
Load UserForms("SaisDech")
Si "SaisDech" n'est pas encore chargé (avec Load ou Show, qui charge le UserForm concerné s'il ne l'est pas déjà)*, il n'appartient pas à la collection User- Forms.
C'est pourquoi, comme l'indique John, il faut employer
SaisDech.Show
Pour avoir le nombre de UserForms chargés à un moment donné, il faut utiliser Count.
Quand une appli comporte beaucoup de UserForms, dont certains sont affichés à la suite :
Me.Hide DPresences.Show
UserForms.Count, utilisé dans un module standard permet de s'assurer que l'on a pas oublié de décharger certain(s) des UserForms à la fin d'un traitement.
Une boucle permet d'avoir la liste des UserForms chargés :
Private Sub CommandButton1_Click() Dim i As Integer For i = 0 To UserForms.Count - 1 MsgBox UserForms(i).Name Next End Sub
Bien évidemment, le MsgBox peut être remplacé par un Debug.Print.
Curieusement, cette variante n'est pas acceptée :
Private Sub CommandButton1_Click() Dim U As UserForm For Each U In UserForms MsgBox U.Name Next U End Sub
A l'exécution, on obtient une erreur 438 (propriété ou méthode non gérée par cet objet), et un clic sur "Déboguage" aboutit au surlignement de "U.Name".
* Un UserForm est également chargé (Load) mais invi- sible, si un dans un module quelconque, on modifie ou on lit l'une de ses propriétés.
Bonjour à tous,
Voilà mon pb : à partir d'un bouton (Bton_saisdech), je souhaite faire apparaître une Form (SaisDech). La macro du bouton Btno_saisdech est le suivant :
Private Sub Bton_SaisDech_Click() Load UserForms("SaisDech") UserForms("SaisDech").Show End Sub
Lors de l'execution, le message d'erreur suivant apparaît sur la commande Load:
Incompatibilité de type.
Quelle est la solution ? la bonne méthode pour charger et afficher une UserForm dans une macro ?