mon problème est le suivant : j'ai une macro qui crée notamment une boite de
dialogue qui sert à entrer des données pour écrire le code d'un module,
module également généré par ce code. A la fin du code, la boite de dialogue
et le module qui la crée se suppriment automatiquement. Mais si je désire
importer un seconde fois dans le même classeur le code qui crée la boite de
dialoque après avoir supprimé le module qui avait été généré, la boite de
dialogue ne prend jamais le nom que je veux lui affecter, "crea32" en
l'occurence, et elle n'est donc jamais loadée par "crea32.show" étant donné
que ce nom n'est pas affecté. J'ajouterais également que " crea32.show" ne
renvoit pas le bug "erreur exécution 424 _ objet requis", alors que je le
répète la boite de dialogue nommée "Crea32" n"existe plus.
Dim userf As Object
Set userf = ThisWorkbook.VBProject.VBComponents.Add(3)
userf.Name = "crea32"
J'aimerais donc savoir quelle est l'origine de ce problème et comment le
résoudre.
En espérant avoir été assez compréhensible je vous remercie d'avance.
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
Ange Ounis
As-tu essayé : userf.Show ? Ou, si cette solution ne fonctionne pas : VBA.UserForms.Add(userf.Name).Show (en conservant le nom donné par défaut par Excel lors de la création)
Ces deux instructions visent seulement à lancer le userform créé par ton code; Elles ne remplacent pas, ni l'une ni l'autre, l'instruction qui crée le module de code (Set userf = ThisWorkbook.VBProject.VBComponents.Add(3)).
---------- Ange Ounis ----------
bonjour,
mon problème est le suivant : j'ai une macro qui crée notamment une boite de dialogue qui sert à entrer des données pour écrire le code d'un module, module également généré par ce code. A la fin du code, la boite de dialogue et le module qui la crée se suppriment automatiquement. Mais si je désire importer un seconde fois dans le même classeur le code qui crée la boite de dialoque après avoir supprimé le module qui avait été généré, la boite de dialogue ne prend jamais le nom que je veux lui affecter, "crea32" en l'occurence, et elle n'est donc jamais loadée par "crea32.show" étant donné que ce nom n'est pas affecté. J'ajouterais également que " crea32.show" ne renvoit pas le bug "erreur exécution 424 _ objet requis", alors que je le répète la boite de dialogue nommée "Crea32" n"existe plus.
Dim userf As Object Set userf = ThisWorkbook.VBProject.VBComponents.Add(3) userf.Name = "crea32"
J'aimerais donc savoir quelle est l'origine de ce problème et comment le résoudre. En espérant avoir été assez compréhensible je vous remercie d'avance.
Pierre
As-tu essayé :
userf.Show
?
Ou, si cette solution ne fonctionne pas :
VBA.UserForms.Add(userf.Name).Show
(en conservant le nom donné par défaut par Excel lors de la création)
Ces deux instructions visent seulement à lancer le userform créé par ton code;
Elles ne remplacent pas, ni l'une ni l'autre, l'instruction qui crée le module
de code (Set userf = ThisWorkbook.VBProject.VBComponents.Add(3)).
----------
Ange Ounis
----------
bonjour,
mon problème est le suivant : j'ai une macro qui crée notamment une boite de
dialogue qui sert à entrer des données pour écrire le code d'un module,
module également généré par ce code. A la fin du code, la boite de dialogue
et le module qui la crée se suppriment automatiquement. Mais si je désire
importer un seconde fois dans le même classeur le code qui crée la boite de
dialoque après avoir supprimé le module qui avait été généré, la boite de
dialogue ne prend jamais le nom que je veux lui affecter, "crea32" en
l'occurence, et elle n'est donc jamais loadée par "crea32.show" étant donné
que ce nom n'est pas affecté. J'ajouterais également que " crea32.show" ne
renvoit pas le bug "erreur exécution 424 _ objet requis", alors que je le
répète la boite de dialogue nommée "Crea32" n"existe plus.
Dim userf As Object
Set userf = ThisWorkbook.VBProject.VBComponents.Add(3)
userf.Name = "crea32"
J'aimerais donc savoir quelle est l'origine de ce problème et comment le
résoudre.
En espérant avoir été assez compréhensible je vous remercie d'avance.
As-tu essayé : userf.Show ? Ou, si cette solution ne fonctionne pas : VBA.UserForms.Add(userf.Name).Show (en conservant le nom donné par défaut par Excel lors de la création)
Ces deux instructions visent seulement à lancer le userform créé par ton code; Elles ne remplacent pas, ni l'une ni l'autre, l'instruction qui crée le module de code (Set userf = ThisWorkbook.VBProject.VBComponents.Add(3)).
---------- Ange Ounis ----------
bonjour,
mon problème est le suivant : j'ai une macro qui crée notamment une boite de dialogue qui sert à entrer des données pour écrire le code d'un module, module également généré par ce code. A la fin du code, la boite de dialogue et le module qui la crée se suppriment automatiquement. Mais si je désire importer un seconde fois dans le même classeur le code qui crée la boite de dialoque après avoir supprimé le module qui avait été généré, la boite de dialogue ne prend jamais le nom que je veux lui affecter, "crea32" en l'occurence, et elle n'est donc jamais loadée par "crea32.show" étant donné que ce nom n'est pas affecté. J'ajouterais également que " crea32.show" ne renvoit pas le bug "erreur exécution 424 _ objet requis", alors que je le répète la boite de dialogue nommée "Crea32" n"existe plus.
Dim userf As Object Set userf = ThisWorkbook.VBProject.VBComponents.Add(3) userf.Name = "crea32"
J'aimerais donc savoir quelle est l'origine de ce problème et comment le résoudre. En espérant avoir été assez compréhensible je vous remercie d'avance.