intPrix(X) = InputBox("Veuillez choisir une quantité", "Quantité") lblSousTotal1 = intPrix(X) * sngNombre(X)
Dim sTemp As String Dim r As Long Dim ff As Integer Dim mIndex As Integer Dim aTemp() As String Dim aPoids(0 To 11) As Single Dim aCalor(0 To 11) As Single ff = FreeFile Open monFichier For Input As #ff mIndex = 0 Do While Not EOF(ff) ' Lit toute la ligne Line Input #ff, sTemp ' Eclate la ligne en données aTemp = Split(sTemp, ",", , vbTextCompare) For r = 0 To UBound(aTemp) aTemp(r) = Trim$(aTemp(r)) If mIndex <= UBound(aPoids) Then ' On est toujours dans les poids ' Récupère les données On Error Resume Next aPoids(mIndex) = CSng(aTemp(r)) If Err.Number <> 0 Then MsgBox "La donnée lue n'est pas un chiffre : " & aTemp(r) On Error GoTo 0 Exit Do End If On Error GoTo 0 Else ' On n'est plus dans les poids, mais dans les calories ' Récupère les données On Error Resume Next aCalor(mIndex) = CSng(Trim$(aTemp(r - UBound(aPoids) - 1))) If Err.Number <> 0 Then MsgBox "La donnée lue n'est pas un chiffre : " & aTemp(r - UBound(aPoids) - 1) On Error GoTo 0 Exit Do End If On Error GoTo 0 End If ' Notre index augmente mIndex = mIndex + 1 Next r DoEvents If mIndex > UBound(aPoids) + UBound(aCalor) + 1 Then ' Plus la peine de lire, on ne saurait pas où les ranger (précaution) Exit Do End If Loop ' Si on est là, c'est que tout s'est bien passé mIndex = -1 Close #ff If mIndex <> -1 Then ' Ici, que faire en cas d'erreur de lecture/conversion End If
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question