Additionner les Nombres contenus dans chaque ligne d'une Textbox [Résolu]

Dri60 70 Messages postés lundi 24 décembre 2007Date d'inscription 17 novembre 2008 Dernière intervention - 21 mars 2008 à 21:10 - Dernière réponse : cs_Galain 1270 Messages postés mardi 11 novembre 2003Date d'inscription 24 juillet 2013 Dernière intervention
- 23 mars 2008 à 23:10
Bonjour, j'ai une RichTextbox qui contient ceci :

Article1    1.23 ?
Article2    5.84 ?
Article122    4.25 ?
...

Le nombre d'Articles peut varier. Je souhaiterais additionner les Prix de chacune des lignes pour obtenir un Résultat. Je pensai supprimer ce qu'il y avant et après chaque nombre mais la longeur du Nom de l'Article peut varier et le nombre de lignes aussi. Comment faut-il faire ? Merci.
En attendant je continue à chercher

 Dri60
Afficher la suite 

Votre réponse

10 réponses

Meilleure réponse
cs_Galain 1270 Messages postés mardi 11 novembre 2003Date d'inscription 24 juillet 2013 Dernière intervention - 22 mars 2008 à 13:28
3
Merci
Salut Dri60

soit chn = "Article1    1.23 ?"  ( c'est une String qui contient ta première ligne)

Dim valeur as String  ' valeur chaine en euros
dim prix as Decimal  ' le prix

' on récupère valeur à partir du 1° espace et on supprime les espaces à gauche
valeur = chn.substring(chn.indexof(" ")).trimstart
' on enléve l'espace à droite et le signe ?
valeur = chn.substring(0,chn.length -2)
' on convertit en decimal pour récupérer le prix
prix = Convert.ToDec(chn)

GRENIER Alain

Merci cs_Galain 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 122 internautes ce mois-ci

Commenter la réponse de cs_Galain
Meilleure réponse
cs_Galain 1270 Messages postés mardi 11 novembre 2003Date d'inscription 24 juillet 2013 Dernière intervention - 22 mars 2008 à 23:21
3
Merci
Tu initialises le prix total à 0 et tu fais une boucle pour chaque ligne de ta RichTextbox où tu ajoutes le prix de l'article

total =0
For i = 1 to nombre de ligne
    total = total + prix de l'article
Next i

GRENIER Alain

Merci cs_Galain 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 122 internautes ce mois-ci

Commenter la réponse de cs_Galain
Meilleure réponse
cs_Galain 1270 Messages postés mardi 11 novembre 2003Date d'inscription 24 juillet 2013 Dernière intervention - 23 mars 2008 à 21:17
3
Merci
Sub Calcul_Total()   Dim Total AsDecimal

   Dim i as quoi ?

   Dim Prix as quoi ?

   Dim Nb_Ligne AsInteger

   Total = 0

   Nb_Ligne = RichTextBox1.GetLineFromCharIndex(0) - 4 ' doit donner le nombre de lignes de ta RichtextBox ( à vérifier)

   For i = 1 To Nb_Ligne

     ' ici il faut récupérer la ligne et en extraire le prix de l'article ( voir mon premier post)

     Total = Total + Prix   Next i
   RichTextBox1.Text RichTextBox1.Text & vbCrLf & "Total " & Total & " ?" & vbCrLf & "Merci de votre Visite"

EndSub

GRENIER Alain

Merci cs_Galain 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 122 internautes ce mois-ci

Commenter la réponse de cs_Galain
Dri60 70 Messages postés lundi 24 décembre 2007Date d'inscription 17 novembre 2008 Dernière intervention - 22 mars 2008 à 23:00
0
Merci
Merci de ta réponse, mais pour ensuite qu'il retienne tout les prix puis qu'il les additionnes, comment faut-il faire ?

 Dri60
Commenter la réponse de Dri60
Dri60 70 Messages postés lundi 24 décembre 2007Date d'inscription 17 novembre 2008 Dernière intervention - 22 mars 2008 à 23:24
0
Merci
Ok merci

 Dri60
Commenter la réponse de Dri60
Dri60 70 Messages postés lundi 24 décembre 2007Date d'inscription 17 novembre 2008 Dernière intervention - 23 mars 2008 à 19:21
0
Merci
Euh je crois que j'ai un problème. Voici le Code :
Public

Sub Calcul_Total()   Dim Total AsDecimal

   Dim i

   Dim Prix

   Dim Nb_Ligne AsInteger

   Total = 0

   Nb_Ligne = RichTextBox1.GetLineFromCharIndex(0) - 4

   For i = 1 To Nb_Ligne

      Total = Total + Prix

   Next i
   RichTextBox1.Text RichTextBox1.Text & vbCrLf & "Total " & Total & " ?" & vbCrLf & "Merci de votre Visite"

EndSub

Et quand j'exécute, il me met comme résultat 0. J'ai du me tromper  Comment fait-on ? Merci

 Dri60
Commenter la réponse de Dri60
Dri60 70 Messages postés lundi 24 décembre 2007Date d'inscription 17 novembre 2008 Dernière intervention - 23 mars 2008 à 22:09
0
Merci
J'ai trouvé, l'erreur vient de Nb_Ligne = RichTextBox1.GetLineFromCharIndex(0) le nombre retourné est toujours 0. Merci de ton aide.

 Dri60
Commenter la réponse de Dri60
Dri60 70 Messages postés lundi 24 décembre 2007Date d'inscription 17 novembre 2008 Dernière intervention - 23 mars 2008 à 22:32
0
Merci
En fait je crois que l'erreur vient de la Richtextbox. Même en mettant un autre code, sa donne toujours 0. Voici le Code :
Public

Sub Calcul_Total()   Dim Total AsDecimal

   Dim i AsDecimal

   Dim Prix AsDecimal

   Dim Nb_Ligne AsInteger

   Prix = Lbl_Prix.Text

   Total = 0

   Dim i2 AsInteger

   For i2 = 1 To Len(RichTextBox1.Text)
   If Mid(RichTextBox1.Text, i2, 1) vbCr Then Nb_Ligne Nb_Ligne + 1

   Next i2

   MsgBox(Nb_Ligne)

   Label_Test.Text = Nb_Ligne

   For i = 1 To Nb_Ligne

   Total = Total + Prix

   Next i
   RichTextBox1.Text RichTextBox1.Text & vbCrLf & "Total " & Total & " ?" & vbCrLf & "Merci de votre Visite"

EndSub

 Dri60
Commenter la réponse de Dri60
cs_Galain 1270 Messages postés mardi 11 novembre 2003Date d'inscription 24 juillet 2013 Dernière intervention - 23 mars 2008 à 23:09
0
Merci
Sub Calcul_Total()   Dim Total AsDecimal

   Dim i AsDecimal

   Dim Prix AsDecimal

   Dim Nb_Ligne AsInteger

   Prix =Lbl_Prix

   Total = 0

   Dim i2 AsInteger

   For i2 = 1 To Len(RichTextBox1.Text)
   If Mid(RichTextBox1.Text, i2, 1) vbCrLF  Then Nb_Ligne Nb_Ligne + 1

   Next i2

   MsgBox(Nb_Ligne) ' vérifie si le nombre de lignes est correct

   Label_Test.Text = Nb_Ligne

   For i = 1 To Nb_Ligne

            ' Récupère la ligne n° i et extrait le prix ( voir 1° post)
   Total = Total + Prix

   Next i
   RichTextBox1.Text RichTextBox1.Text & vbCrLf & "Total " & Total & " ?" & vbCrLf & "Merci de votre Visite"

EndSub

GRENIER Alain
Commenter la réponse de cs_Galain
cs_Galain 1270 Messages postés mardi 11 novembre 2003Date d'inscription 24 juillet 2013 Dernière intervention - 23 mars 2008 à 23:10
0
Merci
Utilise la fonction Split pour créer ton tableau contenant les lignes

GRENIER Alain
Commenter la réponse de cs_Galain

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.