Bonjour,
Mon problème n'est pas facile a expliqué.
Voilà, j'ai un tableau de 8 colonnes qui doit permettre de saisir des règlements de facture, c'est à dire qu'une facture peut être payer en plusieurs fois et je souhaite enregistrer chaque paiement.
Il faut aussi que j'automatise les calculs.
Par exemple, pour une facture n°001 de 5000 euros payée en 5 fois, il faudrait que j'ai dans mon tableau l'affichage suivant pour la colonne Reste à payer:
N°|Mode|N°pièce|TTC|Mt global CHQ|Mt affecté|resteapayer|avance
1 CHEQUE 1001 5000 1000 1000 4000 0
1 CHEQUE 1001 5000 1000 1000 3000 0
1 CHEQUE 1001 5000 1000 1000 2000 0
1 CHEQUE 1001 5000 1000 1000 1000 0
1 CHEQUE 1001 5000 1000 1000 0 0
sauf que dans mon code actuel je ne récupère pas les bons indices donc mes calculs sont faux car l'indice retenu est l'indice de la 1ère ligne et le résultat est le suivant, c'est pas bon car il me calcule pour la 2è ligne mais il prend pas l'indice suivant pour le calcul de la 3è ligne et ainsi de suite:
N°|Mode|N°pièce|TTC|Mt global CHQ|Mt affecté|resteapayer|avance
1 CHEQUE 1001 5000 1000 1000 4000 0
1 CHEQUE 1001 5000 1000 1000 3000 0
1 CHEQUE 1001 5000 1000 1000 2000 0
1 CHEQUE 1001 5000 1000 1000 2000 0
1 CHEQUE 1001 5000 1000 1000 2000 0
Ci-dessous mon code:
Y a-til un moyen de récupérer l'indice de l'avant dernière ligne s'il y a plus de deux lignes pour une même facture?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 /////////vérification du n° de facture POUR i=1 _A_ TableOccurrence(TABLE_REQ_Facturesvalidees) nIndiceligne1=TableCherche(TABLE_REQ_Facturesvalidees.COL_Nofact,TABLE_REQ_Facturesvalidees.COL_Nofact[TableSelect(TABLE_REQ_Facturesvalidees)]) nIndicelignesuivante=TableSelect(TABLE_REQ_Facturesvalidees) nNofact=TABLE_REQ_Facturesvalidees.COL_Nofact[nIndiceligne1] nTTC=TABLE_REQ_Facturesvalidees.COL_Mt_TTC[nIndiceligne1] nNopiece=TABLE_REQ_Facturesvalidees.COL_NoPiece[nIndiceligne1] nMtGlobal=TABLE_REQ_Facturesvalidees.COL_MTGlobal[nIndiceligne1] nMtReglement=TABLE_REQ_Facturesvalidees.COL_MtReglement[nIndiceligne1] nAvance=TABLE_REQ_Facturesvalidees.COL_Avance[nIndiceligne1] nCptnopiece=nCptnopiece SI nNofact=TABLE_REQ_Facturesvalidees.COL_Nofact[nIndicelignesuivante] ET nIndiceligne1<>nIndicelignesuivante ALORS nCptnopiece=nCptnopiece+1 SI nCptnopiece=2 ALORS SI TABLE_REQ_Facturesvalidees.COL_MTGlobal[nIndicelignesuivante]>TABLE_REQ_Facturesvalidees.COL_Solde[nIndiceligne1]ALORS TABLE_REQ_Facturesvalidees.COL_MtReglement[nIndicelignesuivante]=TABLE_REQ_Facturesvalidees.COL_Solde[nIndiceligne1] TABLE_REQ_Facturesvalidees.COL_Solde[nIndicelignesuivante]=TABLE_REQ_Facturesvalidees.COL_MtReglement-TABLE_REQ_Facturesvalidees.COL_Solde[nIndiceligne1] TABLE_REQ_Facturesvalidees.COL_Avance[nIndicelignesuivante]=TABLE_REQ_Facturesvalidees.COL_MTGlobal[nIndicelignesuivante]-TABLE_REQ_Facturesvalidees.COL_MtReglement[nIndicelignesuivante] SINON SI TABLE_REQ_Facturesvalidees.COL_MTGlobal[nIndicelignesuivante]<TABLE_REQ_Facturesvalidees.COL_Solde[nIndiceligne1]ALORS TABLE_REQ_Facturesvalidees.COL_MtReglement[nIndicelignesuivante]=TABLE_REQ_Facturesvalidees.COL_MTGlobal[nIndicelignesuivante] TABLE_REQ_Facturesvalidees.COL_Solde[nIndicelignesuivante]=TABLE_REQ_Facturesvalidees.COL_Solde[nIndiceligne1]-TABLE_REQ_Facturesvalidees.COL_MtReglement[nIndicelignesuivante] TABLE_REQ_Facturesvalidees.COL_Avance[nIndicelignesuivante]=TABLE_REQ_Facturesvalidees.COL_MTGlobal[nIndicelignesuivante]-TABLE_REQ_Facturesvalidees.COL_MtReglement[nIndicelignesuivante] SINON SI TABLE_REQ_Facturesvalidees.COL_MTGlobal[nIndicelignesuivante]=TABLE_REQ_Facturesvalidees.COL_Solde[nIndiceligne1]ALORS TABLE_REQ_Facturesvalidees.COL_MtReglement[nIndicelignesuivante]=TABLE_REQ_Facturesvalidees.COL_MTGlobal[nIndicelignesuivante] TABLE_REQ_Facturesvalidees.COL_Solde[nIndicelignesuivante]=TABLE_REQ_Facturesvalidees.COL_Solde[nIndiceligne1]-TABLE_REQ_Facturesvalidees.COL_MtReglement[nIndicelignesuivante] TABLE_REQ_Facturesvalidees.COL_Avance[nIndicelignesuivante]=TABLE_REQ_Facturesvalidees.COL_MTGlobal[nIndicelignesuivante]-TABLE_REQ_Facturesvalidees.COL_MtReglement[nIndicelignesuivante] FIN //FIN SINON SI TABLE_REQ_Facturesvalidees.COL_Nofact[nIndicelignesuivante]<>nNofact ALORS Info("faux") FIN FIN FIN
Merci d'avance.
Partager