DjMedz
Messages postés16Date d'inscriptionmercredi 8 août 2007StatutMembreDernière intervention 2 octobre 2008
-
30 sept. 2008 à 02:37
DjMedz
Messages postés16Date d'inscriptionmercredi 8 août 2007StatutMembreDernière intervention 2 octobre 2008
-
30 sept. 2008 à 11:31
Bonsoir, voici mon probleme, jai 12 labels sur une form, chacun d'eux contient un chiffre. voici ce que j'aimerais produire. jai tenter plusieur chose mais en vain. alors je mexplique. lorsque je clique sur le label, j'aimerais que sa valeur soit nul et a la fin j'aimerais que le total des label restant s'affiche par lui meme dans un autre label.
merci pour votre précieuse aide!!
RaphiBenn
Messages postés12Date d'inscriptionvendredi 1 août 2008StatutMembreDernière intervention25 avril 20091 30 sept. 2008 à 08:03
Oui tu a été plus clair sur ton désir mais sur tes volonté moins ... :D Tu nous expliquera pourquoi une telle chose lol En fait tu veux garder la valeur dans une propriété... tu peux utiliser la propriété Tag et tu calcul ton dernier label non pas avec la somme des propriétés caption mais les tags genre :
Private Sub Form_Load()
Label1.Caption = "1"
Label1.Tag = "1"
Label2.Caption = "2"
Label2.Tag = "2"
Label3.Caption = "3"
Label3.Tag = "3"
End Sub
Private Sub Label2_Click()
Label2.Caption = ""
End Sub
Private Sub LabelSomme_Click()
Dim calcul As Integer
RaphiBenn
Messages postés12Date d'inscriptionvendredi 1 août 2008StatutMembreDernière intervention25 avril 20091 30 sept. 2008 à 02:53
Ouh laaa... Je sais pas si c'est pcq il est une heure du mat... a non 3h du mat ! mais j'ai pas tout saisi... En fait si j'ai bien compris tu as lors du lancement de ton app un nombre n de label (si on utilise les index ca donne : label1(0 to n-1) et tu aimerais que lorsque tu clique sur l'un d'entre eux, ca propriété caption soit nul et que tout les autres ce décales en en créant un supplémentaire pour suivre la chaine... genre :
1
2
3
Je clique sur le 4 qui devient "" (nul)
autrefois 5 il devient 4
5(ex6)
6(ex7)
etc...
j'aimerais donner la valeur de 1 au lbl1....5 au lbl2 10 au lbl3 ainsi de suitepour pouvoir additionner la valeur totale des labels pour l'afficher dans un label 1 + 5 + 10.... lbltotal.caption 16
mais j'aimerais ajouter la contrainte suivante...si je clique sur le lbl2, la valeur qui auparavant était de 5 devienne 0 pour que lorsque j'aditionne la valeur des label, celui-ci ne soit pas comptabilisé ex: 1 + 0 + 10... = 11
lillith212
Messages postés1229Date d'inscriptionvendredi 16 novembre 2007StatutMembreDernière intervention16 juin 2009 30 sept. 2008 à 07:57
Salut,
Sur l'évenement click du caption tu modifie la valeur du caption à 0. Ensuite sur l'événement "truc" (événement qui déclanche le calcul total) tu additionnes l'ensemble des captions de tes labels.
N'oubli pas de convertir le caption en integer ou long en fonction des nombres présents dans tes captions.
Bon courage.
S.L.B.
<hr />-- Le règlement tu liras -- Des recherches tu feras -- Le style SMS tu banniras --
-- De la validation pertinente tu feras -- Du respect tu auras -- Le bon t
Vous n’avez pas trouvé la réponse que vous recherchez ?
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 30 sept. 2008 à 08:09
Bonjour,
J'éviterais personnellement de tout recalculer à chaque fois ...
- un calcul au départ ===>> variable Total
- à chaque click ===>> Total = toral - valeur du label et ===>> label passé à 0
J'en profite pour dire que je donnerais la préférence à l'utilisation d'un groupe de contrôles indexés ...
RaphiBenn
Messages postés12Date d'inscriptionvendredi 1 août 2008StatutMembreDernière intervention25 avril 20091 30 sept. 2008 à 08:14
Voilà si tu veux créer automatiquement tes Label par une chaine logique (variant dans Form_Load selon tes désirs), cet exemple je pense peu etre constructif !
Private Sub Form_Load()
For i = 0 To n '(Oubli pas de remplacer n par ton nombre - 1 de label ou de le remplacer par Label1.Count -1)
Label1(i).Caption = CStr(i)
Label1(i).Tag = CStr(i)
Next
End Sub
Private Sub Label1_Click(Index As Integer)
Label1(Index).Caption = ""
End Sub
Private Sub LabelSomme_Click()
Dim calcul As Integer
calcul = 0
LabelSomme.Caption = ""
For i = 0 To n '(Idem ici n'oubli pas de remplacer n par ton nombre - 1 de label ou de le remplacer par Label1.Count -1)
calcul = calcul + CInt(Label1(i).Tag)
LabelSomme.Caption = LabelSomme.Caption + Label1(i).Tag
If i <> n Then LabelSomme.Caption LabelSomme.Caption + " "
Else
LabelSomme.Caption = LabelSomme.Caption + " + "
End If
Next
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 30 sept. 2008 à 09:21
Ou encore plus simple : un seul évènement et une variable static ...
Private Sub Label1_Click(Index As Integer)
Static total As Single
If total = 0 Then
For i = 0 To Label1.Count - 1
total = total + Val(Label1(i).Caption)
Next
End If
total = total - Val(Label1(Index).Caption)
Label1(Index).Caption = ""
MsgBox total
End Sub