Calcul cumul en VBA
Résolu
massimo888
Messages postés
203
Date d'inscription
Statut
Membre
Dernière intervention
-
massimo888 Messages postés 203 Date d'inscription Statut Membre Dernière intervention -
massimo888 Messages postés 203 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Est-ce-que quelqu'un peut me dire comment faire un calcul d'une cellule avec une autre. Je veux prendre la dernière cellule de la colonne A et faire la somme avec la cellule de la colonne B de la ligne au dessus.
Merci
Voici le code que j'ai fait mais il garde toujours en mémoire la première valeur de la colonne!!!
Me.[B] = Nz(DSum("[A]", "[F_INVOICING_STATUS]", "[ID_PROJECT]= Fgv_ID_Project()"), 0) + Me.[A]
Est-ce-que quelqu'un peut me dire comment faire un calcul d'une cellule avec une autre. Je veux prendre la dernière cellule de la colonne A et faire la somme avec la cellule de la colonne B de la ligne au dessus.
Merci
Voici le code que j'ai fait mais il garde toujours en mémoire la première valeur de la colonne!!!
Me.[B] = Nz(DSum("[A]", "[F_INVOICING_STATUS]", "[ID_PROJECT]= Fgv_ID_Project()"), 0) + Me.[A]
A voir également:
- Access requête somme cumulée
- Calcul moyenne excel - Guide
- Calcul km marche à pied gratuit - Télécharger - Sport
- Calcul charpente bois gratuit - Télécharger - Architecture & Déco
- Logiciel gratuit calcul valeur nutritionnelle - Télécharger - Santé & Bien-être
- Logiciel gratuit calcul surface m2 - Télécharger - Outils professionnels
2 réponses
Bonjour,
Il ne sert à rien d'être impatient, ici c'est un forum d'entre-aide, càd que les personnes qui peuvent te répondre ne sont que des internautes comme toi et qui répondent lorsqu'ils sont de passage par là, quand la question les inspirent et qu'ils en ont bien envie.
Pour le reste: Access n'est pas du tout adapté pour les calculs entre plusieurs niveaux; on ne peut les faire que par exception, pour un enregistrement à la fois.
=> Quand tu calcules le contrôle voulu, il faut que ta procédure VBA prévoit d'aller ouvrir l'enregistrement précédent, aller chercher la valeur du contrôle X dans cet enregistrement, mettre cette valeur dans un paramètre y, redescendre vers l'enregistrement de départ, et effectuer l'opération voulue.
=> Ou bien déterminer la valeur à rechercher avec une fonction-domaine, comme tu l'as fait.
Mais dans tous les cas, tu ne peux pas espérer pouvoir le faire pour des colonnes entières. En tout cas pas avec Access. Ou alors il faut travailler avec Excel.
Bonne suite
Il ne sert à rien d'être impatient, ici c'est un forum d'entre-aide, càd que les personnes qui peuvent te répondre ne sont que des internautes comme toi et qui répondent lorsqu'ils sont de passage par là, quand la question les inspirent et qu'ils en ont bien envie.
Pour le reste: Access n'est pas du tout adapté pour les calculs entre plusieurs niveaux; on ne peut les faire que par exception, pour un enregistrement à la fois.
=> Quand tu calcules le contrôle voulu, il faut que ta procédure VBA prévoit d'aller ouvrir l'enregistrement précédent, aller chercher la valeur du contrôle X dans cet enregistrement, mettre cette valeur dans un paramètre y, redescendre vers l'enregistrement de départ, et effectuer l'opération voulue.
=> Ou bien déterminer la valeur à rechercher avec une fonction-domaine, comme tu l'as fait.
Mais dans tous les cas, tu ne peux pas espérer pouvoir le faire pour des colonnes entières. En tout cas pas avec Access. Ou alors il faut travailler avec Excel.
Bonne suite
Par contre est-ce qu'il est possible de créer un évenement click et à chaque fois l'évennement se realise je fais une somme de la case active dans la colonne A avec la case juste au-dessus de la colonne B?
ou figer les valeurs déjà enregistrées et faire le calcul que pour les nouvelles valeurs
Merci
ou figer les valeurs déjà enregistrées et faire le calcul que pour les nouvelles valeurs
Merci
Bonjour
Voila une requete en sql qui calcule le tonnage..
SELECT T_Tonnage.N°List, T_Tonnage.DateArrivee, T_Tonnage.Tonnage, DSum("Tonnage","T_Tonnage","N°List <=" & [N°List]) AS Cumul, Format([DateArrivee],"mmmm") AS Mois
FROM T_Tonnage
GROUP BY T_Tonnage.N°List, T_Tonnage.DateArrivee, T_Tonnage.Tonnage, DSum("Tonnage","T_Tonnage","N°List <=" & [N°List]), Format([DateArrivee],"mmmm");
Pour la reconstitiuer, tu ouvres un requetes vides en creation edition sql.et colles ce texte qu tu sauves garde Tu ouvres la requetes et tu l'exemples.Requetes la formule de calcul dans le champ condiderer
Voila une requete en sql qui calcule le tonnage..
SELECT T_Tonnage.N°List, T_Tonnage.DateArrivee, T_Tonnage.Tonnage, DSum("Tonnage","T_Tonnage","N°List <=" & [N°List]) AS Cumul, Format([DateArrivee],"mmmm") AS Mois
FROM T_Tonnage
GROUP BY T_Tonnage.N°List, T_Tonnage.DateArrivee, T_Tonnage.Tonnage, DSum("Tonnage","T_Tonnage","N°List <=" & [N°List]), Format([DateArrivee],"mmmm");
Pour la reconstitiuer, tu ouvres un requetes vides en creation edition sql.et colles ce texte qu tu sauves garde Tu ouvres la requetes et tu l'exemples.Requetes la formule de calcul dans le champ condiderer