cs_2berte
Messages postés5Date d'inscriptionvendredi 17 novembre 2006StatutMembreDernière intervention22 novembre 2006
-
17 nov. 2006 à 21:57
cs_2berte
Messages postés5Date d'inscriptionvendredi 17 novembre 2006StatutMembreDernière intervention22 novembre 2006
-
22 nov. 2006 à 14:26
Bonjour tout le monde,
<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
Après de multiples recherches sur le net, je n'ai pas réussi à trouver réponse à mon problème.
En effet dans mon code VBA j'utilise une procédure qui permet de le simplifier "Enfin pas pour l'instant" !! J'ai "une erreur d'éxécution 424", qui me met qu'un "objet est requis ", ce code s'affiche sur la ligne "Liste = ....."
Je vous donne le debut du code qui plante :
Public Sub AjoutProuduit()
Dim objFeuille As Worksheet
Dim Liste As ListBox
Select Case frmdepense_categ.MultiPage1.SelectedItem.Caption
Case "Alimentation":
Set objFeuille = Application.ThisWorkbook.Worksheets.Item("Alimentation")
Set Liste = frmdepense_categ.MultiPage1.pgAlimentation.lstAlimentation.List
Case "Boisson":
Set objFeuille = Application.ThisWorkbook.Worksheets.Item("Boisson")
Set Liste = frmdepense_categ.MultiPage1.pgAlimentation.lstBoisson
cs_2berte
Messages postés5Date d'inscriptionvendredi 17 novembre 2006StatutMembreDernière intervention22 novembre 2006 22 nov. 2006 à 14:26
C'est bon j'ai trouvé, désolé MPI, c'était pas tout a fait ça ! Donc j'ai demandé à mon formateur de C, qui a plutôt de bonnes conaissances en VB.
Donc tout simplement dans ma déclaration, il devait pas trop aimé le type "Listbox" pour la variable Liste, il fallait mettre le type "Object". Je ne sais pas trop pourquoi, car ça aurait été logique de mettre la variable Liste en Listbox, mais c'est comme ça...
cs_2berte
Messages postés5Date d'inscriptionvendredi 17 novembre 2006StatutMembreDernière intervention22 novembre 2006 17 nov. 2006 à 22:20
Non je ne veux pas mettre deux varaible car j'utilise un select case, si tu préfère en algo, ça signifie "selon les valeurs de ..x.. faire", donc x ne prend qu'une seule valeur !
Mais je te remercie de ta sympathie
En vous remerciant
2berte
Vous n’avez pas trouvé la réponse que vous recherchez ?
leSaleGauSS
Messages postés148Date d'inscriptionsamedi 4 novembre 2006StatutMembreDernière intervention 4 décembre 2008 17 nov. 2006 à 22:42
oui oui ca je l'avais compris. C juste que quand tu as souligné la ligne "Liste = ..." en voyait pas le trait en rouge que j'ai mis dans mon dernier message.
Est tu sur que tes variables sont bonnes car elle me paraissent sacrément longues
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 18 nov. 2006 à 02:17
Salut,
peux tu donner le but rechercher ? Car je sais pas si tu veux créer un objet ListBox, ou à récupérer ses données.
Et heureusement que je suis curieux, car ton topic est validé, c'est à dire que tu as accepté les réponses précédantes, alors que ton problème n'est pas réglé.
Ce qui fait que la plupart des membres passeront leur chemin sur ton topic et ne sauront pas que tu veux de l'aide. En cas, "désaccèpte" les réponses, et tu accepteras quand on aura résolu ton problème. Tu augmentera ainsi les chances pour que l'on t'aide.
@++
<hr size="2" width="100%" />
--Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
cs_2berte
Messages postés5Date d'inscriptionvendredi 17 novembre 2006StatutMembreDernière intervention22 novembre 2006 18 nov. 2006 à 09:34
Salut tout le monde,
Le but recherché est de créer une variable listbox qui va permettre de récupérer une des liste qui se situe sur un formulaire à onglets.
Donc je vous explique plus clairement, enfin je vais essayé, J'ai un projet en vba sur une gestion de soirée, après m'être occupé des invités, je me suis dit que j'allais m'occupé des achats (alimentation, boisson, location salle, orchestre, etc ...).
Pour différencier toutes ces catégories, j'utilise une multipage avec 12 onglets, la conception est la même pour toutes, un bouton ajouter un produit, un bouton modifier, puis un bouton supprimer. Tous les même élèments des différents onglets ont des noms différents. Par conséquent au lieu de recopier 12 fois le meme codes pour les 3 boutons, je voulais faire appel à une procédure par rapport à la page où l'on se situe. C'est ensuite que je voulais affecté un objet feuille pour lui indiquer où elle se trouve, et de qu'elle liste le bouton devra s'occuper.
J'espère avoir été plus clair dans ma description.
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201823 19 nov. 2006 à 00:54
Salut,
Est-ce que ton programme est entièrement en Excel ou est-ce que tu utilises VB pour "dialoguer" avec Excel ?
Si tu es entièrement sous Excel, il faudrait peut-être que tu modifies tes appels d'objets
ex:
Set objFeuille = Application.ThisWorkbook.Worksheets.Item("Alimentation")
à changer pour
Set objFeuille = Sheets("Alimentation")
Pour ce qui est de la liste (listbox), là je ne comprend pas vraiment...(?)
En fait, je pense que tu devrais tout changer, si c'est ce que je pense.
J'imagine que tu as un UserForm contenant un MultiPage
Tu pourrais avoir un simple UserForm avec une Combobox (pour les choix
d'action) et les quelques boutons dont tu as besoin. Dans le Combobox,
tu charges les différentes options nécessaires (Alimentation,
Boisson,...)
Quand tu cliques un item du combobox, tu affiches la page reliée à l'action.
Select Case Combobox1.Text
Case "Alimentation"
Sheets"Alimentation".Activate
Case "Boisson"
Sheets"Boisson".Activate
....
End select
Ensuite, comme les actions sont similaires d'un onglet à l'autre, tu n'as qu'à utiliser le mot-clé ActiveSheet, si nécessaire, ou simplement utiliser Range, Cells, Columns...
Comme tu es dans la feuille que tu veux modifier, il n'est pas nécessaire de spécifier.
Et ainsi tu n'auras pas besoin de créer d'objet Worksheet.
cs_2berte
Messages postés5Date d'inscriptionvendredi 17 novembre 2006StatutMembreDernière intervention22 novembre 2006 21 nov. 2006 à 14:02
Je te remercie pour ta réponse, mais à vrai dire elle ne fait pas vraiment avancer mon projet, puisque je ne compte pas tout changer. Car j'ai juste à débeuguer ce bout de code pour que tout fonctionne.
En ce qui concerne les page du multipage, cela fonctionne, c'est juste la listbox où il y a une erreur, mais je ne sais pas où (variable mal définie, erreur de syntaxe.... ???).
Je pense que c'est possible de conserver mon code, juste en corrrigeant cette erreur. Alors si da'utres personnes ont des réponses, je l'ai accepte volontier. Mais je te remercie encore.