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

Lucasine 146 Messages postés mercredi 9 mars 2016Date d'inscription 1 janvier 2018 Dernière intervention - 22 sept. 2017 à 16:01 - Dernière réponse : yg_be 4379 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 15 janvier 2018 Dernière intervention
- 23 sept. 2017 à 19:27
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
Afficher la suite 

8 réponses

Répondre au sujet
InformatiqueSuisse 119 Messages postés samedi 30 mars 2013Date d'inscription 7 janvier 2018 Dernière intervention - 22 sept. 2017 à 17:29
0
Utile
Écris le début de la formule =SOMME(
Ensuite sélectionne les cellules que tu veux calculer.
Enter.

C’est ce que tu voulais ?
Commenter la réponse de InformatiqueSuisse
yg_be 4379 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 15 janvier 2018 Dernière intervention - 22 sept. 2017 à 19:41
0
Utile
6
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
Lucasine 146 Messages postés mercredi 9 mars 2016Date d'inscription 1 janvier 2018 Dernière intervention - 23 sept. 2017 à 12:39
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 ?
yg_be 4379 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 15 janvier 2018 Dernière intervention > Lucasine 146 Messages postés mercredi 9 mars 2016Date d'inscription 1 janvier 2018 Dernière intervention - 23 sept. 2017 à 12:58
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?
Lucasine 146 Messages postés mercredi 9 mars 2016Date d'inscription 1 janvier 2018 Dernière intervention - 23 sept. 2017 à 18:04
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)
castours > Lucasine 146 Messages postés mercredi 9 mars 2016Date d'inscription 1 janvier 2018 Dernière intervention - 23 sept. 2017 à 18:32
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
yg_be 4379 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 15 janvier 2018 Dernière intervention > Lucasine 146 Messages postés mercredi 9 mars 2016Date d'inscription 1 janvier 2018 Dernière intervention - 23 sept. 2017 à 19:27
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".
Commenter la réponse de yg_be