Donner valeur au texte dun label

Résolu
DjMedz Messages postés 16 Date d'inscription mercredi 8 août 2007 Statut Membre Dernière intervention 2 octobre 2008 - 30 sept. 2008 à 02:37
DjMedz Messages postés 16 Date d'inscription mercredi 8 août 2007 Statut Membre Derniè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!!

10 réponses

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


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

C'est bien ca ?

Ciao Raphi
0
DjMedz Messages postés 16 Date d'inscription mercredi 8 août 2007 Statut Membre Dernière intervention 2 octobre 2008
30 sept. 2008 à 03:17
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 
0
lillith212 Messages postés 1229 Date d'inscription vendredi 16 novembre 2007 Statut Membre Dernière intervention 16 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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
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 ...
0
RaphiBenn Messages postés 12 Date d'inscription vendredi 1 août 2008 Statut Membre Dernière intervention 25 avril 2009 1
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
   
    LabelSomme = LabelSomme + CStr(calcul)
End Sub
0
RaphiBenn Messages postés 12 Date d'inscription vendredi 1 août 2008 Statut Membre Dernière intervention 25 avril 2009 1
30 sept. 2008 à 08:15
Voilà jmfmarques ca vient d'etre fait !  B'zoux a vous tous

Raphi ([mailto:raphibenn@hotmail.com raphibenn@hotmail.com])
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
30 sept. 2008 à 09:13
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
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
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
0
DjMedz Messages postés 16 Date d'inscription mercredi 8 août 2007 Statut Membre Dernière intervention 2 octobre 2008
30 sept. 2008 à 11:31
merci tout le monde pour votre aide. J'essaie ca et je vous tiens au courant

Merci
0
Rejoignez-nous