Signaler

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

Posez votre question Lucasine 139Messages postés mercredi 9 mars 2016Date d'inscription 11 novembre 2017 Dernière intervention - Dernière réponse le 23 sept. 2017 à 19:27 par yg_be
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
Utile
+0
plus moins
Écris le début de la formule =SOMME(
Ensuite sélectionne les cellules que tu veux calculer.
Enter.

C’est ce que tu voulais ?
Donnez votre avis
Utile
+0
plus moins
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 139Messages postés mercredi 9 mars 2016Date d'inscription 11 novembre 2017 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 ?
Répondre
yg_be 3757Messages postés lundi 9 juin 2008Date d'inscription ContributeurStatut 12 novembre 2017 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?
Répondre
Lucasine 139Messages postés mercredi 9 mars 2016Date d'inscription 11 novembre 2017 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)
Répondre
castours- 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
Répondre
yg_be 3757Messages postés lundi 9 juin 2008Date d'inscription ContributeurStatut 12 novembre 2017 Dernière intervention Lucasine - 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".
Répondre
Donnez votre avis

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !