zmoha40
Messages postés62Date d'inscriptionjeudi 18 septembre 2003StatutMembreDernière intervention29 juin 2012
-
11 oct. 2005 à 01:24
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 2018
-
13 oct. 2005 à 02:39
BONJOUR
J'utilise un programme de facturation . dans l'edition de la facture j'ai les champs: QTE , DESIGNATION, Prix HT , TX TVA et NET
pour chaque champs j'ai associé une listbox dans une FORM
Je dois avoir une ligne total sur le prix HT et le Net à la fin de l'insertion de toutes les lignes de la facture en question.
Ce que je veux c'est si j'ai une seule ligne je fais les totaux juste apres cette premiere ligne et si j'ai deux lignes je fais les totaux apres les deux lignes et ainsi de suite de sorte que le ligne totale apparait juste apres le dernier enregistrement .
Le facture ne doit pas occuper toute la page à moins que le nombre de lignes de la facture est egale au nombre de ligne de la page.
Je dois faire quoi pour pallier à ce probleme?
Merci par avance
A voir également:
COMMENT ARRIVER A FAIRE UNE LISTEBOX DYNAMIQUE CAD DE TAILLE VARIABLE
Dim i As Integer For i 0 To 8: Tab2(i).tPrix i * 1.54: Next i
Call ReInitListBox
End Sub
'
'
Private Sub ReInitListBox()
List1.Height = 375
List1.Width = 2000
List1.Clear
End Sub
'
'
Private Sub Command1_Click()
Dim i As Integer, Somme As Double
Call ReInitListBox
Somme = 0
For i = 0 To UBound (Tab1)
List1.AddItem Tab1(i).tLib & " " & CStr(Tab1(i).tPrix) & " Frs"
Somme = Somme + Tab1(i).tPrix
Next i
List1.Height = 220 * ( UBound (Tab1) + 3)
' [2] lignes en + du contenu du tableau. contenu = ubound + [1]
End Sub
'
'
Private Sub Command2_Click()
Dim i As Integer, Somme As Double
Call ReInitListBox
Somme = 0
For i = 0 To UBound (Tab2)
List1.AddItem Tab2(i).tLib & " " & CStr(Tab2(i).tPrix) & " Frs"
Somme = Somme + Tab2(i).tPrix
Next i
P__ROMEO
Messages postés294Date d'inscriptionvendredi 25 février 2005StatutMembreDernière intervention 9 mars 20061 11 oct. 2005 à 03:11
Salut.
Si la ligne "total" se trouve dans la ListBox, alors, il ne te suffit que de compter le nombre de ligne de la ListBox (avec Count), et, tu adaptes la taille en fonction, c'est a dire, si tu a 3 ligne, tu fais :
MaListe.Height = 3 x 500 (Nbre_Ligne x 500),
(si tu utilise de grand caractère, multiplies par 600 ou plus. test et tu veras le nombre approprié)
Maintenant, si le ligne "Total" n'est pas dans la ListeBox, tu fais comme la haut, mais la, en plus, il te faut placer la ligne Total. je présume que le total est dans un Label. je l'appel LblTotal. Tu ferras donc:
LblTotal.Top = MaListe.Top + MaListe.Height + 200
ce qui veut dire que la ligne Total se placera en dessous de MaListe + 200
j'espère t'avoir aidé. si j'ai mal compri ce que tu demande, repose ta question.
zmoha40
Messages postés62Date d'inscriptionjeudi 18 septembre 2003StatutMembreDernière intervention29 juin 2012 13 oct. 2005 à 01:39
Je pu résoudre mon problème grace à votre aide
Merci à vous les amis
Toutefois, j'ai une simple question
COMMENT puis je faire pour que les prix de la listBox soient ajustés à droite?
de sorte que les chiffres soient bien justifiés les uns sur les autres dans
la facture
Merci encore
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 13 oct. 2005 à 02:39
salut,
pour ce faire, il va d'abord falloir mettre une typo qui ne varie pas en fonctione de la lettre saisie
cad ....
"mnop" prend plus de place que
"ijkl" ....
enfin, selon la typo ;)
ensuite, on calcule le nombre d'espace à ajouter pour qu'on ait toujours autant de carac par ligne.
sans oublier de bien vérifier que "1francs dix" soit écrit 1,10 et non 1,1
(mais çà, à toit de le faire)
et voilà. le même exemple, mais un seul bouton
Option Explicit
'
Private Type tTab
tLib As String
tPrix As Double
End Type
'
Dim Tab2(8) As tTab
'
'
Private Sub Form_Load()
'init tableau
Tab2(0).tLib = "t2 ananas"
Tab2(1).tLib = "t2 poire"
Tab2(2).tLib = "t2 salade"
Tab2(3).tLib = "t2 poisson"
Tab2(4).tLib = "t2 limace"
Tab2(5).tLib = "t2 poulet"
Tab2(6).tLib = "t2 chausette"
Tab2(7).tLib = "t2 vautour"
Tab2(8).tLib = "t2 chocolat"
Dim i As Integer For i 0 To 8: Tab2(i).tPrix i * 1.54 + 0.01: Next i
List1.Font = "Courier New"
List1.Height = 375
List1.Width = 3000
List1.Clear
End Sub
'
'
Private Sub Command1_Click()
Dim i As Integer, Somme As Double, NbCaracs As Integer
Somme = 0
For i = 0 To UBound (Tab2)
NbCaracs = Len(Tab2(i).tLib) + Len(CStr(Tab2(i).tPrix)) + 4 '<- " Frs"
List1.AddItem Tab2(i).tLib & Space(26 - NbCaracs) & CStr(Tab2(i).tPrix) & " Frs"
Somme = Somme + Tab2(i).tPrix
Next i