Erreur 424. Ajout item dans une ComboBox
Résolu
Liodene
-
Mytå Messages postés 4246 Date d'inscription Statut Contributeur Dernière intervention -
Mytå Messages postés 4246 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour.
Avant de vous montrer mon code, je vais vous expliquer le fonctionnement que je veux qu'il ait. C'est pas bien compliqué! =)
Sur la feuille "principale", il y a une liste déroulante (ComboBox) et un bouton
Alors, lorsque que l'utilisateur clique sur un bouton (que j'ai associer à la macro Create()), une InputBox apparaît, l'utilisateur entre quelque chose que l'on va appelé *Texte*. Et ensuite, cela rajoute l'item *Texte* dans la Combobox et et crée la feuille *Texte*.
Voici mon code:
Sans l'ajout d'item dans la Combobox, le programme fonctionne parfaitement.
Mais avec, cela m'affiche Erreur 424: Objet requis.
J'ai essayé diverses méthodes pour ajouter les items, rien n'y fait. Même l'ajout d'un simple texte (donc pas une variable) avec:
Combobox1.Items.Add ("Test")
M'affiche quand même l'erreur 424...
Je fais donc appel à votre aide!
Merci d'avance pour votre patience et vos réponses.
Avant de vous montrer mon code, je vais vous expliquer le fonctionnement que je veux qu'il ait. C'est pas bien compliqué! =)
Sur la feuille "principale", il y a une liste déroulante (ComboBox) et un bouton
Alors, lorsque que l'utilisateur clique sur un bouton (que j'ai associer à la macro Create()), une InputBox apparaît, l'utilisateur entre quelque chose que l'on va appelé *Texte*. Et ensuite, cela rajoute l'item *Texte* dans la Combobox et et crée la feuille *Texte*.
Voici mon code:
Sub Create()
Nom = InputBox("Texte à entrer:")
Combobox1.Items.Add (Nom)
Sheets.Add.Name= Nom
Et ensuite un traitement sur la feuille créé...
Sans l'ajout d'item dans la Combobox, le programme fonctionne parfaitement.
Mais avec, cela m'affiche Erreur 424: Objet requis.
J'ai essayé diverses méthodes pour ajouter les items, rien n'y fait. Même l'ajout d'un simple texte (donc pas une variable) avec:
Combobox1.Items.Add ("Test")
M'affiche quand même l'erreur 424...
Je fais donc appel à votre aide!
Merci d'avance pour votre patience et vos réponses.
9 réponses
-
Salut le forum
Petite erreur de syntase
Essaye plutôt Combobox1.AddItem
Mytå -
Je l'avais déjà essayé. Je viens de réessayer mais toujours le même problème.
J'ai également essayé ComboBox1.Item.Insert mais rien. -
-
-
Re le forum
Tu utilises quelle version d'Excel, car sous Excel 2003 ça fonctionne très bien.
Essaye de joindre un fichier, tu crées un lien à l'aide de
https://www.cjoint.com/ ou de http://cijoint.fr/ et tu
recopies le lien dans ton prochain message.
Mytå
-
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Je viens de recréer un nouveau classeur, copier/coller ma macro et là.... Miracle! Ca marche avec le code que tu as mis au-dessus!
J'avais dû bidouiller un truc qu'il fallait pas dans mes longues heures de déprime à chercher le problème!
Merci beaucoup pour ton aide! -
Désolé de poursuivre mais j'ai un autre problème auxquels je n'avait pas pensé :s
En effet, lorsque je ferme mon classeur Excel, les éléments de ma ComboBox sont supprimés même après enregistrement... Vois-tu une solution pour que ceux-ci soit "enregistrés"?
Désolé pour le dérangement supplémentaire... -
Bonsoir,
Moi je lierais la combobox à une liste (propriété ListFillRange) située dans une feuille cachée. Ainsi tu ne te pends plus la tête avec la combobox.
L'inputbox permettra d'ajouter cet item à la liste et c'est tout. La combobox sera automatiquement mise à jour.
Ne pas oublier de convertir ta liste en tableau et d'utiliser le nom de la plage qui, de ce fait, s'agrandira automatiquement dès que tu ajouteras un item.
m@rina -
Hum... Je vois ce que tu veux faire... Mais j'ai commencé le VBA uniquement sur une demande et les langages orientés POO sont vraiment pas ma tasse de thé donc je ne vois pas "codement parlant", comment faire...
-
-
Re le forum
Si tu veux éliminer certaines feuilles ajoute une condition de testIf Sheets(i).Name <> "Feuil1" Then Sheets("Feuil1").OLEObjects("ComboBox1").Object.AddItem Sheets(i).Name End If
Le code completPrivate Sub Workbook_Open() Dim i As Byte For i = 1 To Sheets.Count With Sheets(i) If .Name <> "Feuil1" Or .Name <> "Feuil2" Then Sheets("Feuil1").OLEObjects("ComboBox1").Object.AddItem .Name End If End With Next i End Sub
Mytå
-
-