VBA changer une valeur dans un listbox multi colonne
gaudd
Messages postés6Date d'inscriptionlundi 12 mai 2008StatutMembreDernière intervention16 mai 2008
-
12 mai 2008 à 02:10
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 2011
-
12 mai 2008 à 03:04
Bonjour
J'ai un problème qui me semble assez banal mais je n'ai pas trouvé de solution.
Exemple : je suis en VBA access, j'ai 2 colonnes dans mon listbox et dans certain cas, je veux modifier la valeur de la deuxième colonne (cette colonne me sert d'indicateur et je lui met la valeur L, M ou LM) en faisant
Listbox1.Column(1, i) = "LM"
Quand j'arrive a cet ligne et je met ma souris au dessus de Listbox1.Column(1, 1) j'ai la valeur "L" mais quand il passe sur la ligne j'ai l'erreur
424 Objet requis
Est ce parcequ'on ne peut pas changer la valeur d'une donnée dans un listbox ou j'ai pas la bonne méthode.
Je me situe ou je veux dans mon listbox ...
si je fais
test = Listbox1.Column(1, 1)
j'ai "L" dans test
mais si je fait
Listbox1.Column(1, 1) = "LM"
j'ai une erreur, c'est comme si je ne pouvais pas changer sa valeur
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 12 mai 2008 à 03:04
heu laisse tomber, ce que j'ai dit est une bétise, il y a bien la base 0 (c'est juste que je fais AddItem pour la col 0 (donc la première) puis j'ajoute des éléments aux auters colonnes)
Bref, ça n'a pas lieu de planter.
Il faut être sûr qu'au moment où tu modifies la données, la ligne soit déjà bien créée.
En excel, j'applique ce genre de procédure, qui fonctionne sans problème pour mon taf :
Dim NewFMC As New FMC, i As Long
For i = 1 To ListeFMC.Count
Call ListeFMC.lngItem(NewFMC, i)
With NewFMC
frmListe.lstEvenements.AddItem .Evenement.strValeur, i - 1
frmListe.lstEvenements.Column(1, i - 1) = .Veracite.strValeur
frmListe.lstEvenements.Column(2, i - 1) = .Autoroute.strValeur
frmListe.lstEvenements.Column(3, i - 1) = .PR.Valeur
frmListe.lstEvenements.Column(4, i - 1) = .Sens.Valeur
frmListe.lstEvenements.Column(5, i - 1) = .VoiesBloquees.strValeur
frmListe.lstEvenements.Column(6, i - 1) = .Evenement.LongueurBouchon
frmListe.lstEvenements.Column(7, i - 1) = .DateCreation
frmListe.lstEvenements.Column(8, i - 1) = IIf(.DateModification <> "00:00:00", .DateModification, "-") & " / " & IIf(.Fax.DateEnvoi <> "00:00:00", .Fax.DateEnvoi, "-")
frmListe.lstEvenements.Column(9, i - 1) = .ID
End With
Set NewFMC = Nothing
Next i