OVH Cloud OVH Cloud

Lecture d'un fichier

1 réponse
Avatar
nounours
Bonjour à toutes et tous.
Nounours vous souhaite et bonne et heureuse année et vous remercie surtout
pour votre aide tout au long de l'année.

Novice, j'ai un gros problème. Je suis entrain d'écrire une petite
application comptable familiale qui a pour but d'enregistrer les dépenses du
ménage et de les afficher selon le mois sélectionné en les comparant à celles
du même mois de l'année précédente. Mon programme marche correctement pour
l'année courante, mais affiche uniquement le dernier enregistrement du même
mois de l'année précédente. Je ne trouve pas l'erreur et serai heureux si
quelqu'un pouvait m'aider. Certes, le code n'est pas optimal, mais il reflète
mon niveau actuel des mes connaissances en VB. le voici :

Do While Not EOF(1)
Input #1, strAnnee, strJour, strMois, strDepenses, strMontant,
optHelene, optPascal
Select Case strDepenses
Case "Alimentation"
If optHelene Then
If strMois = strChoixMois And strAnnee =
strChoixAnnee Then
lblCumulHelAlim.Caption = curTotalHelAlim +
Val(strMontant)
curTotalHelAlim = curTotalHelAlim +
Val(strMontant)
lblCumulHelAlim.Caption =
Format(lblCumulHelAlim.Caption, "currency")
Else
If strMois = strChoixMois And Val(strAnnee) =
Val(strChoixAnnee) - 1 Then
lblCumulHelAlimPrec.Caption =
curTotalHelAlimPrec + Val(strMontant)
curTotalHelAlim = curTotalHelAlim +
Val(strMontant)
lblCumulHelAlimPrec.Caption =
Format(lblCumulHelAlimPrec.Caption, "currency")
End If
End If
Else
If strMois = strChoixMois And strAnnee =
strChoixAnnee Then
lblCumulPasAlim.Caption = curTotalPasAlim +
Val(strMontant)
curTotalPasAlim = curTotalPasAlim +
Val(strMontant)
lblCumulPasAlim.Caption =
Format(lblCumulPasAlim.Caption, "currency")
Else
If strMois = strChoixMois And Val(strAnnee) =
Val(strChoixAnnee) - 1 Then
lblCumulPasAlimPrec.Caption =
curTotalPasAlimPrec + Val(strMontant)
curTotalPasAlim = curTotalPasAlim +
Val(strMontant)
lblCumulPasAlimPrec.Caption = Format
(lblCumulPasAlimPrec.Caption, "currency")
End If
End If
End If
End Select
Loop
Close #1

Deuxième question :
Est-il possible au lieu d'écrire "lblCumulPasAlim" de passer une variable du
genre "lblCumulPas(cmbDepenses.Listindex)" ?

Merci d'avance pour toute aide.

1 réponse

Avatar
nounours
Merci les gars. Autodidacte est un métier à part entière !
Nours a trouver la solution à force de patience : une variable déclarée,
mais non utilisée, donc....

A un de ces jours peut-être.

Question : existe-t-il un site pour novices ?

"nounours" a écrit :

Bonjour à toutes et tous.
Nounours vous souhaite et bonne et heureuse année et vous remercie surtout
pour votre aide tout au long de l'année.

Novice, j'ai un gros problème. Je suis entrain d'écrire une petite
application comptable familiale qui a pour but d'enregistrer les dépenses du
ménage et de les afficher selon le mois sélectionné en les comparant à celles
du même mois de l'année précédente. Mon programme marche correctement pour
l'année courante, mais affiche uniquement le dernier enregistrement du même
mois de l'année précédente. Je ne trouve pas l'erreur et serai heureux si
quelqu'un pouvait m'aider. Certes, le code n'est pas optimal, mais il reflète
mon niveau actuel des mes connaissances en VB. le voici :

Do While Not EOF(1)
Input #1, strAnnee, strJour, strMois, strDepenses, strMontant,
optHelene, optPascal
Select Case strDepenses
Case "Alimentation"
If optHelene Then
If strMois = strChoixMois And strAnnee =
strChoixAnnee Then
lblCumulHelAlim.Caption = curTotalHelAlim +
Val(strMontant)
curTotalHelAlim = curTotalHelAlim +
Val(strMontant)
lblCumulHelAlim.Caption =
Format(lblCumulHelAlim.Caption, "currency")
Else
If strMois = strChoixMois And Val(strAnnee) =
Val(strChoixAnnee) - 1 Then
lblCumulHelAlimPrec.Caption =
curTotalHelAlimPrec + Val(strMontant)
curTotalHelAlim = curTotalHelAlim +
Val(strMontant)
lblCumulHelAlimPrec.Caption =
Format(lblCumulHelAlimPrec.Caption, "currency")
End If
End If
Else
If strMois = strChoixMois And strAnnee =
strChoixAnnee Then
lblCumulPasAlim.Caption = curTotalPasAlim +
Val(strMontant)
curTotalPasAlim = curTotalPasAlim +
Val(strMontant)
lblCumulPasAlim.Caption =
Format(lblCumulPasAlim.Caption, "currency")
Else
If strMois = strChoixMois And Val(strAnnee) =
Val(strChoixAnnee) - 1 Then
lblCumulPasAlimPrec.Caption =
curTotalPasAlimPrec + Val(strMontant)
curTotalPasAlim = curTotalPasAlim +
Val(strMontant)
lblCumulPasAlimPrec.Caption = Format
(lblCumulPasAlimPrec.Caption, "currency")
End If
End If
End If
End Select
Loop
Close #1

Deuxième question :
Est-il possible au lieu d'écrire "lblCumulPasAlim" de passer une variable du
genre "lblCumulPas(cmbDepenses.Listindex)" ?

Merci d'avance pour toute aide.