Donner valeur au texte dun label

[Résolu]
Signaler
Messages postés
16
Date d'inscription
mercredi 8 août 2007
Statut
Membre
Dernière intervention
2 octobre 2008
-
Messages postés
16
Date d'inscription
mercredi 8 août 2007
Statut
Membre
Dernière intervention
2 octobre 2008
-
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!!

10 réponses

Messages postés
12
Date d'inscription
vendredi 1 août 2008
Statut
Membre
Dernière intervention
25 avril 2009
1
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


    calcul = CInt(Label1.Tag) + CInt(Label2.Tag) + CInt(Label3.Tag)    LabelSomme.Caption Label1.Tag + " + " + Label2.Tag + " + " + Label3.Tag + " " + CStr(calcul)
End Sub

Voilà, mais j'vais faire un autre pour le plaisir en utilisant les index et en ayant donc un seul nom de label...
A tout de suite!
Messages postés
12
Date d'inscription
vendredi 1 août 2008
Statut
Membre
Dernière intervention
25 avril 2009
1
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...

C'est bien ca ?

Ciao Raphi
Messages postés
16
Date d'inscription
mercredi 8 août 2007
Statut
Membre
Dernière intervention
2 octobre 2008

ce n'est pas tout a fait ca...

voici en bref

lbl1.caption = 1
lbl2.caption = 5
lbl3.caption = 10
.......

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

je sais pas si j'ai été plus clair... 
merci 
Messages postés
1229
Date d'inscription
vendredi 16 novembre 2007
Statut
Membre
Dernière intervention
16 juin 2009
1
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
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
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 ...
Messages postés
12
Date d'inscription
vendredi 1 août 2008
Statut
Membre
Dernière intervention
25 avril 2009
1
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
   
    LabelSomme = LabelSomme + CStr(calcul)
End Sub
Messages postés
12
Date d'inscription
vendredi 1 août 2008
Statut
Membre
Dernière intervention
25 avril 2009
1
Voilà jmfmarques ca vient d'etre fait !  B'zoux a vous tous

Raphi ([mailto:raphibenn@hotmail.com raphibenn@hotmail.com])
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Re,

Exemple simple avec un groupe Label1 de labels indexés Label1(0), label1(1), ... label1(n) contenant des entiers (exemple ici) :

Private total As Single
Private Sub Form_Activate()
For i = 0 To Label1.Count - 1
total = total + Val(Label1(i).Caption)
Next
End Sub

Private Sub Label1_Click(Index As Integer)
total = total - Val(Label1(Index).Caption)
Label1(Index).Caption = ""
MsgBox total
End Sub
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
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
Messages postés
16
Date d'inscription
mercredi 8 août 2007
Statut
Membre
Dernière intervention
2 octobre 2008

merci tout le monde pour votre aide. J'essaie ca et je vous tiens au courant

Merci