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