Souci avec les Labels en VBA
Résolu/Fermé
Jessica
-
6 févr. 2009 à 12:36
jessica_36 Messages postés 26 Date d'inscription vendredi 6 février 2009 Statut Membre Dernière intervention 7 juillet 2009 - 6 févr. 2009 à 14:44
jessica_36 Messages postés 26 Date d'inscription vendredi 6 février 2009 Statut Membre Dernière intervention 7 juillet 2009 - 6 févr. 2009 à 14:44
A voir également:
- Souci avec les Labels en VBA
- Vba attendre 1 seconde ✓ - Forum VB / VBA
- Vba récupérer valeur cellule ✓ - Forum VB / VBA
- Mkdir vba ✓ - Forum VB / VBA
- Excel compter cellule couleur sans vba - Guide
- Vba dépassement de capacité ✓ - Forum Excel
11 réponses
Psyk974
Messages postés
551
Date d'inscription
lundi 2 février 2009
Statut
Membre
Dernière intervention
30 mars 2010
51
6 févr. 2009 à 12:41
6 févr. 2009 à 12:41
est ce que tu as ce code ?
Private Sub Nom_ComboBox_Change()
Dim valeur_combo
valeur_combo = Nom_ComboBox.value
Nom_Label.caption = valeur_combo
End Sub
Private Sub Nom_ComboBox_Change()
Dim valeur_combo
valeur_combo = Nom_ComboBox.value
Nom_Label.caption = valeur_combo
End Sub
j'ai ce code:
Private Sub LBX_selection_Click() LAB_total_prix.Caption = variable End Sub Private Sub UserForm_Click() Dim Tab_selection(15) As Integer Dim Compteur As Integer Dim variable As Integer variable = 0 LAB_total_prix.Caption = Sheets(10) For Compteur = 1 To 15 If LBX_selection = True Then Tab_selection(Compteur) = -1 End If Next Compteur For Compteur = 1 To 15 If LBX_selection = True Then Tab_selection(Compteur) = LBX_selection.ColumnCount6 End If Next Compteur For Compteur = 1 To 15 If Tab_selection(Compteur) > -1 Then variable = variable + Tab_selection(Compteur) Else variable = variable End If Next Compteur LAB_total_prix.TextAlign = fmTextAlignCenter LAB_total_prix.Caption = variable End Sub
Psyk974
Messages postés
551
Date d'inscription
lundi 2 février 2009
Statut
Membre
Dernière intervention
30 mars 2010
51
6 févr. 2009 à 13:03
6 févr. 2009 à 13:03
Je recadre bien ce que tu veux faire parce que là je comprends plus trop lol.
Tu as un label et un combo.
Lorsque tu choisis une valeur dans le combo tu veux que ça s'affiche dans le label c'est bien ça ?
Tu as un label et un combo.
Lorsque tu choisis une valeur dans le combo tu veux que ça s'affiche dans le label c'est bien ça ?
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
6 févr. 2009 à 13:02
6 févr. 2009 à 13:02
Bonjour,
Sans préjugé du fonctionnement de ta macros,..
Ta variable variable est déclarée en local, elle ne pourra donc pas être vue ailleur
Tu déplace pour que ce soit comme ça...
Et tu la supprime dans UF_Click
Autre remarque, si tu a un Frame assure-toi de ne pas cliquer dessus ça marchera pas non plus.
Mais il y à plus simple c'est de mettre les tests directement dans l'événement change de ta listeBox.
A+
Sans préjugé du fonctionnement de ta macros,..
Ta variable variable est déclarée en local, elle ne pourra donc pas être vue ailleur
Tu déplace pour que ce soit comme ça...
Dim variable As Integer Private Sub LBX_selection_Click()
Et tu la supprime dans UF_Click
Autre remarque, si tu a un Frame assure-toi de ne pas cliquer dessus ça marchera pas non plus.
Mais il y à plus simple c'est de mettre les tests directement dans l'événement change de ta listeBox.
A+
Alors le soucis, à force de bidouiller le code ressemble plus a rien. Pour remettre dans le contexte, j'ai donc une listbox, quand l'utilisateur sélectionne des éléments a l'intérieur, la somme de ses éléments doit se changer en permanence dans un label situé a coté de la listbox. Donc d'ailleurs j'ai découvert un nouveau soucis, et donc étant donné qu'il y a plusieurs éléments dans la listbox, j'ai mis un tableau pour voir ce qui était validé, a part cela je ne vois pas comment faire.
c'est vrai que dans l'événement change de la listbox ça sera plus utile, merci pour l'aide.
c'est vrai que dans l'événement change de la listbox ça sera plus utile, merci pour l'aide.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
6 févr. 2009 à 13:30
6 févr. 2009 à 13:30
Et avec ce code ?
A+
Private Sub LBX_selection_Click() Dim i As Integer Dim Total As Single For i = 0 To LBX_selection.ListCount - 1 If LBX_selection.Selected(i) Then Total = Total + LBX_selection.List(i, 6) End If Next i LAB_total_prix = Total End Sub
A+
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
6 févr. 2009 à 13:40
6 févr. 2009 à 13:40
J'ai mis la colonne 6 comme je pensais que tu avais des valeurs dans cette colonne mais apparement ce n'est pas celle-là.
NB Les colonnes commence à 0 (zéro) donc la colonne 6 c'est 5 !
NB Les colonnes commence à 0 (zéro) donc la colonne 6 c'est 5 !
voila le code que j'ai pour le moment
Option Explicit Dim total As Integer 'je l'ai mis en variable globale pour l'utiliser sur plusieurs sub Private Sub LBX_selection_Change() Dim Tab_selection(15) As Integer Dim Compteur As Integer Dim variable As Integer LAB_total_prix.Caption = total 'je l'ai positionné ici car dans le lbx_selection il ne fonctionne pas End Sub Private Sub LBX_selection_Click() Dim i As Integer For i = 0 To LBX_selection.ListCount - 1 If LBX_selection.Selected(i) Then total = total + LBX_selection.List(i, 5) End If Next i LAB_total_prix.Caption = total End Sub Private Sub UserForm_Click() total = 0 'j'ai essayé d'initialiser total pour voir si le soucis venait de la End Sub
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
6 févr. 2009 à 14:00
6 févr. 2009 à 14:00
Tu peu mettre ton classeur (éventuellement alléger) sur Cjoint.com et mettre le lien dans un poste suivant ? .
jessica_36
Messages postés
26
Date d'inscription
vendredi 6 février 2009
Statut
Membre
Dernière intervention
7 juillet 2009
6 févr. 2009 à 14:09
6 févr. 2009 à 14:09
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
>
jessica_36
Messages postés
26
Date d'inscription
vendredi 6 février 2009
Statut
Membre
Dernière intervention
7 juillet 2009
6 févr. 2009 à 14:12
6 févr. 2009 à 14:12
Tu est sur excel 2007, je ne l'ai pas sur mon portable et ne peu le lire pour le moment.
Tu peu le sauver en xls et le remettre sur Cjoint.com ?
A+
Tu peu le sauver en xls et le remettre sur Cjoint.com ?
A+
blux
Messages postés
26461
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
13 novembre 2024
3 314
6 févr. 2009 à 14:05
6 févr. 2009 à 14:05
Salut,
Je te propose un truc comme ça :
Je te propose un truc comme ça :
Dim Total As Long Dim Valeur Total = 0 For Each Valeur In Liste0.ItemsSelected Total = Total + Liste0.Column(1, Valeur) LAB_total_prix.Caption = total NextLe 1 est à changer en fonction de la colonne qui contient l'info recherchée et le Liste0 est bien sûr à renommer :-)
jessica_36
Messages postés
26
Date d'inscription
vendredi 6 février 2009
Statut
Membre
Dernière intervention
7 juillet 2009
6 févr. 2009 à 14:13
6 févr. 2009 à 14:13
sa ne marche pas non plus, le soucis doit venir d'ailleurs :/
pas de soucis je le renvoie en format exel 2003
voila le lien
https://www.cjoint.com/?cioqrbjlQm
pas de soucis je le renvoie en format exel 2003
voila le lien
https://www.cjoint.com/?cioqrbjlQm
blux
Messages postés
26461
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
13 novembre 2024
3 314
>
jessica_36
Messages postés
26
Date d'inscription
vendredi 6 février 2009
Statut
Membre
Dernière intervention
7 juillet 2009
6 févr. 2009 à 14:17
6 févr. 2009 à 14:17
sa ne marche pas non plus
C'est quoi le message d'erreur ?
as-tu essayé un MSGBOX Liste0.Column(1, Valeur) ?
C'est quoi le message d'erreur ?
as-tu essayé un MSGBOX Liste0.Column(1, Valeur) ?
jessica_36
Messages postés
26
Date d'inscription
vendredi 6 février 2009
Statut
Membre
Dernière intervention
7 juillet 2009
>
blux
Messages postés
26461
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
13 novembre 2024
6 févr. 2009 à 14:22
6 févr. 2009 à 14:22
le soucis n'est pas une erreur, c'est que ca affiche en permanence 0 :/
sinon, non j'ai pas essayée le MSGBOX
sinon, non j'ai pas essayée le MSGBOX
blux
Messages postés
26461
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
13 novembre 2024
3 314
>
jessica_36
Messages postés
26
Date d'inscription
vendredi 6 février 2009
Statut
Membre
Dernière intervention
7 juillet 2009
6 févr. 2009 à 14:24
6 févr. 2009 à 14:24
Il faut déjà voir si les valeurs sont retournées...
jessica_36
Messages postés
26
Date d'inscription
vendredi 6 février 2009
Statut
Membre
Dernière intervention
7 juillet 2009
6 févr. 2009 à 14:31
6 févr. 2009 à 14:31
en faisant ca, la valeur est retournée:
dans ce cas, la première valeur de la liste est retournée, dans le cas ou on essaye d'en retourner plusieurs, plus rien...
LAB_total_prix.Caption = LBX_selection.Column(5, 0)
dans ce cas, la première valeur de la liste est retournée, dans le cas ou on essaye d'en retourner plusieurs, plus rien...
blux
Messages postés
26461
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
13 novembre 2024
3 314
6 févr. 2009 à 14:33
6 févr. 2009 à 14:33
Ta liste autorise-t'elle la sélection multiple ?
jessica_36
Messages postés
26
Date d'inscription
vendredi 6 février 2009
Statut
Membre
Dernière intervention
7 juillet 2009
6 févr. 2009 à 14:38
6 févr. 2009 à 14:38
oui
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
6 févr. 2009 à 14:39
6 févr. 2009 à 14:39
OK, j'espère que ça va aller en 2007
il faut mettre dans l'événement Change, le clic va pas avec les Check
A+
il faut mettre dans l'événement Change, le clic va pas avec les Check
Private Sub LBX_selection_Change() Dim i As Integer Dim Total As Single For i = 0 To LBX_selection.ListCount - 1 If LBX_selection.Selected(i) Then Total = Total + LBX_selection.List(i, 5) End If Next i LAB_total_prix = Total End Sub
A+
jessica_36
Messages postés
26
Date d'inscription
vendredi 6 février 2009
Statut
Membre
Dernière intervention
7 juillet 2009
6 févr. 2009 à 14:44
6 févr. 2009 à 14:44
Ca marche, merci beaucoup :)