Somme a partir une liste à choix multiple [Résolu/Fermé]

Signaler
Messages postés
149
Date d'inscription
mercredi 9 mars 2016
Statut
Membre
Dernière intervention
15 octobre 2018
-
Messages postés
13995
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 janvier 2021
-
Bonjour,

J'airai besoin de vos lumières cher ami. Je vous explique mon souci.

Dans un formulaire, j'ai une liste à choix multiples reprenant des références reprit d'une requête. Dans une colonne liée il y a une somme pour chaque référence.

j'aimerai que dans un champ (Somme), il me donne le montant pour le choix sélectionné et si plusieurs référence sont sélectionné qu'il me donne la somme total des sélection.

je demande la somme([ListeReference].Column(1)) mais mon champ reste vide

Quelqu'un aurai une idée de comment puis-je obtenir le résultat souhaité ?

Merci d'avance

2 réponses

Messages postés
117
Date d'inscription
samedi 30 mars 2013
Statut
Membre
Dernière intervention
7 janvier 2018
74
Écris le début de la formule =SOMME(
Ensuite sélectionne les cellules que tu veux calculer.
Enter.

C’est ce que tu voulais ?

--
Messages postés
13995
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 janvier 2021
787
bonsoir, je pense que cela requiert un petit code VBA qui agirait chaque fois que la liste est modifiée.
exemple:
Private Sub ListeReference_AfterUpdate()

    Dim curTotal As Currency
    Dim varItem As Variant
    
    For Each varItem In Me!ListeReference.ItemsSelected
        curTotal = curTotal + Me!ListeReference.Column(1, varItem)
    Next
    
    Me!Somme = curTotal
    
End Sub
Messages postés
149
Date d'inscription
mercredi 9 mars 2016
Statut
Membre
Dernière intervention
15 octobre 2018

Il a un petit souci avec le passage

curTotal = curTotal + Me!ListeReference.Column(1, varItem)

Il me la souligne pour faire savoir qu'il a une erreur (d'écriture surement) mais je ne la voit pas. une idée ?
Messages postés
13995
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 janvier 2021
787 >
Messages postés
149
Date d'inscription
mercredi 9 mars 2016
Statut
Membre
Dernière intervention
15 octobre 2018

je ne suis pas habitué à ce qu'Access souligne du code VBA: es-tu bien dans l'éditeur de code VBA? quelle version de Access?
Messages postés
149
Date d'inscription
mercredi 9 mars 2016
Statut
Membre
Dernière intervention
15 octobre 2018

Oui oui, je suis bien en VBA.

Quand je vais en mode formulaire et que j'essai, il me met un message ;
Erreur d'exécution '13' :
Incompatibilité de type

2 choix : Fin ou débogage

Quand je fait débogage, il m'ouvre le code VBA est me surligne en jaune la partie suivante :

curTotal = curTotal + Me!ListeReference.Column(1, varItem)
>
Messages postés
149
Date d'inscription
mercredi 9 mars 2016
Statut
Membre
Dernière intervention
15 octobre 2018

Bonjour
Normalement on ne met pas inscrire le resultat d' un calcul dans une table.
On peut le faire dans un formulaire ou un etat
Messages postés
13995
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 janvier 2021
787 >
Messages postés
149
Date d'inscription
mercredi 9 mars 2016
Statut
Membre
Dernière intervention
15 octobre 2018

on dirait que la deuxième colonne de la liste ne contient pas toujours un nombre.
comme tu avais indiqué
somme([ListeReference].Column(1))
, j'ai supposé qu'il s'agissait de la seconde colonne, donc j'ai gardé "1".