XL 2013 Somme de textbox &ListBox

BLynda

XLDnaute Nouveau
Bonjour à tous
Je vous remercie d'avance pour votre aide

Je souhaiterais avoir la somme des notes affichées dans les deux ListBox ainsi que les deux textBox "txt Note1 "& "txt Note2" dans la textbox "Total de la classe".

Chaque fois que je décoche une ligne ça me le soustrait dans le total et la txtbox "Totale de la classe" se met à jour automatiquement.

Merci
 

Pièces jointes

  • lyndab-fichier-excemple (1).xlsm
    31 KB · Affichages: 17

job75

XLDnaute Barbatruc
Bonjour BLynda, bienvenue sur XLD, salut MP59,

Pour un 1er message ce n'est pas bien fameux :

- les tableaux des feuilles Classe1 et Classe2 sont de natures différentes, ce n'est pas cohérent

- dans l'UserForm il faut une seule ListBox

- on ne voit pas à quoi peuvent servir les 2 OptionButtons.

A+
 

BLynda

XLDnaute Nouveau
Bonjour BLynda, bienvenue sur XLD, salut MP59,

Pour un 1er message ce n'est pas bien fameux :

- les tableaux des feuilles Classe1 et Classe2 sont de natures différentes, ce n'est pas cohérent

- dans l'UserForm il faut une seule ListBox

- on ne voit pas à quoi peuvent servir les 2 OptionButtons.

A+
Bonjour Job 75,

En effet les deux feuilles ne sont pas de meme nature, merci pour la remarque.
Le travail que je veux faire est seulement sur la feuille "Classe 1"
Additionner les choix cocher dans les deux listes box "S1" & "S2" et avoir le total dans la textBox "Total de la calsse"

Merci
 

job75

XLDnaute Barbatruc
Bon j'ai fait le ménage, voyez le fichier joint et le code de l'UserForm :
VB:
Private Sub ListBox1_Change()
Dim i%, s1#, n1%, s2#, n2%
With ListBox1
    For i = 0 To .ListCount - 1
        If .Selected(i) Then
            If IsNumeric(CStr(.List(i, 1))) Then s1 = s1 + .List(i, 1): n1 = n1 + 1
            If IsNumeric(CStr(.List(i, 2))) Then s2 = s2 + .List(i, 2): n2 = n2 + 1
        End If
    Next
    txtNote1 = IIf(n1, s1, "")
    txtNote2 = IIf(n2, s2, "")
    If n1 + n2 Then txtMoyenne = (s1 + s2) / (n1 + n2) Else txtMoyenne = ""
End With
End Sub

Private Sub UserForm_Initialize()
Dim i%
With ListBox1
    For i = 0 To .ListCount - 1
        .Selected(i) = True
    Next
End With
End Sub
La ListBox de 3 colonnes est alimentée par sa propriété RowSource pour pouvoir afficher les en-têtes.
 

Pièces jointes

  • lyndab-fichier-excemple (2).xlsm
    26 KB · Affichages: 17
Dernière édition:

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 084
Messages
2 085 194
Membres
102 814
dernier inscrit
JLGalley