begin process at 2008 07 20 12:48:44
1 213 212 membres
129 nouveaux aujourd'hui
14 166 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : VBA changer une valeur dans un listbox multi colonne [ Divers / General ] (gaudd)

VBA changer une valeur dans un listbox multi colonne le 12/05/2008 02:10:44

gaudd
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.

Merci

Re : VBA changer une valeur dans un listbox multi colonne le 12/05/2008 02:26:42

mortalino
Membre Club
salut,

Fais gaffe, tant les index (donc là où tu utilises ta variable i) sont en base 0, que les colonnes sont en base 1.

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA

Re : VBA changer une valeur dans un listbox multi colonne le 12/05/2008 02:35:16

gaudd
c'est l'index le problème parce que j'ai essayer avec des constances.

exemple :
Listbox1.Column(1, 1) = "LM"
Listbox1.Column(1, 2) = "LM"  ... etc

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

Merci quand même

Re : VBA changer une valeur dans un listbox multi colonne le 12/05/2008 03:04:12

mortalino
Membre Club
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

Pour ton souci, je sèche

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA


Classé sous : vba, changer, valeur, listbox, colonne

Participer à cet échange

Pub



Appels d'offres

Dessins techniques
Budget : 60€
Animation Flash - Doma...
Budget : 370€
Application flash medi...
Budget : 1 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS