total cumulatif dans excel 2003

  • Initiateur de la discussion Initiateur de la discussion melania
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

M

melania

Guest
Bonjour et merci de votre aide,

Dans MS excel 2003 je doit faire des cumulatifs pour des paies.A partir d'une cellule (B2 par exemple) j'entre un montant et j'aimerais que ce montant s'inscrive dans une autre cellule (D10 par exemple) et faire en sorte que lorsque je vais écrire un nouveau montant dans "B2" non seulement j'aimerais que celui de "D10" demeure mais qu'il s'additionne l'un a l'autre.

Donc si j'inscris le nombre 5 dans "B2", la premiere fois je vais retrouver dans "D10" la valeur 5 mais, lorsque je vais écrire un nouveau chiffre dans "B2" soit 3 alors la fois suivante je devrai retrouver 8 comme valeur dans "D10"

Est-ce possible dans excel ?

J'ai trouvé en anglais ce qui me semble une possibilité de réponse mais c'est en anglais et j'y comprend rien !!!
How To Create Cumulative Totals - FREE Microsoft Excel Spreadsheet Tips and Tutorials

Voici un fichier exemple de ce que j'essaie de faire.
Regarde la pièce jointe total cumulatif.xls

Mille Merci Mélania😀
 
Dernière modification par un modérateur:
Re : total cumulatif dans excel 2003

Bonsoir melania, Bienvenue sur le forum,

Une solution, mais très mauvaise :

En F5 tu mets =F5+B5 et dans le menu Outils/Options onglet Calcul tu coches Itérations et tu mets le nombre maximal à 1.

Chaque saisie en B5 sera ainsi additionnée, mais les erreurs de saisie aussi.

Si le total mensuel est intéressant, je pense que l'historique, ou si tu veux le détail, l'est encore plus.

Je favoriserai plutôt 5 cellules avec 1ère semaine du mois (complète ou non), 2ème, 3ème, etc... Ainsi pas de risque d'erreur et une possibilité de contrôle.

A toi de voir.

Bonne soirée.

Jean-Pierre
 
Re : total cumulatif dans excel 2003

Bonsoir et bienvenu,
Ton lien décrit simplement le moyen de faire une somme sur une plage et rien de plus
Le plus simple reste la macro événementielle
Dans le module de la feuille
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$2" Then
    If Not IsNumeric(Target) Then 'vérifie que la donnée saisie est valide
        MsgBox "Données non numérique"
        Range("B2") = ""
        Exit Sub
    End If
Range("D10") = Range("D10") + Range("B2")
End If

End Sub
A+
kjin
 

Pièces jointes

Re : total cumulatif dans excel 2003

je suis tres impressionné...il n'y a qu'un chose, dans l'exemple que vous avez transmis les sommes ne s'additionne pas si j'ajoute plusieur autre chiffre dans B5...et pardonnez mon ignorance mais le modul de la feuille1 c'est quoi?

Merci infiniment de votre aide.
Mélania
 
Re : total cumulatif dans excel 2003

Re,

Bonsoir Roger,

La solution macro présente le même inconvéniant que l'itération.

Chaque saisie érronée est prise en compte.

Bonne soirée.

Jean-Pierre

Edit : Bonsoir Kjin. Et moi, je ne t'avais pas vu.
 
Dernière édition:
Re : total cumulatif dans excel 2003

Re, bonsoir à tous,
Je n'avais pas vu le lien vers le fichier, donc pour ma part j'en étais resté aux cellules B2 et D5 (alt+F11, pour aller dans l'éditeur VBE)
Je suis néanmoins absolument d'accord avec les propos de jeanpierre.
A+
kjin
 
Re : total cumulatif dans excel 2003

Merci infiniment de votre aide, je n'ai aucune notion en macro alors les solution macro étaient plus difficile a comprendre pour moi mais j'ai essayer la solution de Jean-Pierre et ca fonctionne parfaitement.

Mille fois merci de votre aide précieuse...j'apprécie beaucoup

Mélania
xxx😀
 
Re : total cumulatif dans excel 2003

Re...
je suis tres impressionné...il n'y a qu'un chose, dans l'exemple que vous avez transmis les sommes ne s'additionne pas si j'ajoute plusieur autre chiffre dans B5...et pardonnez mon ignorance mais le modul de la feuille1 c'est quoi?

Merci infiniment de votre aide.
Mélania
Dans le classeur que j'ai joint, effacez d'abord le contenu de B5 et F5.
Ensuite mettez 2 en B5. Validez. 2 est reporté en F5.
Mettez 3 en B5. Validez. 3 est ajouté au contenu de F5. On a alors 5 en F5.
Mettez 1 en B5. Validez. 1 est ajouté au contenu de F5. On a alors 6 en F5.
Et ainsi de suite.
N'est-ce pas ce que vous souhaitiez ?​
ROGER2327
#1906
 
Re : total cumulatif dans excel 2003

Re...
Merci beaucoup Roger,

je suis tres impressionné...je crois qu'il est temps que j'apprenne le fonctionnement des macros et ce immédiatement 🙂

Merci de votre aide a tous

Mélania
Ne soyez pas impressionnée. Il n'y a pas de tour de passe-passe, aucune magie là-dedans. Essayons d'expliquer.
Le code
Code:
[COLOR="DarkSlateGray"]Private Sub Worksheet_Change(ByVal Target As Range)
   If Target.Address = "$B$5" Then [F5] = [F5] + [B5]
End Sub[/COLOR]
est le code d'une procédure évènementielle. Cela signifie qu'il s'exécute automatiquement lorsqu'un évènement particulier survient. Un évènement est une modification dans la feuille de calcul, modification provoquée par l'utilisateur ou par une procédure.
Ici, le code commence par Private Sub Worksheet_Change(ByVal Target As Range).
C'est le texte écrit en rouge qui indique l'évènement déclencheur : Worksheet_Change veut dire que le code sera exécuté lors d'un changement du contenu de la feuille. Par exemple lorsque vous validez un changement de valeur dans une cellule.
_
Supposons d'abord que vous mettez 35 (ou n'importe quelle autre valeur) en A1 et que vous validez. Vous provoquez ainsi une modification de contenu et le déclenchement de la procédure. Alors la ligne
Code:
[COLOR="DarkSlateGray"]   [COLOR="Red"]If[/COLOR] Target.Address = "$B$5" [COLOR="Red"]Then[/COLOR] [F5] = [F5] + [B5][/COLOR]
est exécutée. C'est une instruction conditionnelle reconnaissable à la présence de If ... Then ...
Elle signifie Si (If) ce qui suit est VRAI Alors (Then) faire ce qui est écrit à la suite...
Voyons la première partie : If Target.Address = "$B$5" Then ...
Vous trouvez ici Target qui est un nom de variable. On a déjà vu ce nom dans la ligne précédente :
Code:
[COLOR="DarkSlateGray"]Private Sub Worksheet_Change(ByVal [COLOR="Red"]Target[/COLOR] As Range)[/COLOR]
L'explication de cette écriture est simple : lorsque la procédure est déclenchée, elle désigne par Target l'objet qui l'a déclenchée. Dans notre exemple, la cellule A1 qu'on vient de valider. En jargon, on dit que la procédure a pris un argument.
Laissons de côté pour l'instant la signification de ByVal et de As Range et retenons seulement que dans la suite, Target désigne la cellule A1.
On comprend maintenant que Target.Address, qui signifie "adresse de Target" est "$A$1". On peut maintenant traduire If Target.Address = "$B$5" : Si "$A$1" est identique à "$B$5". Comme c'est FAUX la suite de la ligne n'est pas exécutée et l'exécution continue à la ligne suivante :
Code:
[COLOR="DarkSlateGray"]End Sub[/COLOR]
dont le sens est assez évident : fin de la procédure.
En résumé, en validant 35 dans la cellule A1, il ne se passe rien parce que la procédure ne traite que les modifications de la cellule B5.
_
Imaginons maintenant que vous validez 40 dans la cellule B5. Vous provoquez le déclenchement de la procédure. Cette fois, Target désigne la cellule B5 et If Target.Address = "$B$5" s'interprète Si "$B$5" est identique à "$B$5" ce qui est VRAI. Alors la fin de la ligne est éxécutée : Then [F5] = [F5] + [B5], autrement dit, Alors la somme des valeurs des cellules F5 et B5 est placée dans la cellule F5. Puis la procédure se termine à la ligne suivante *.
En résumé, la valeur placée en B5 est ajoutée à la valeur de F5.
Voilà...
En espérant que ces quelques lignes vous seront utiles, bon courage !​
ROGER2327
#1911

_
* Note pour les "spécialistes" :
Je sais que, dans le deuxième cas (validation d'une valeur nouvelle en B5), la procédure est exécutée deux fois puisqu'elle est déclenchée lors de la modification de F5. Mais s'agissant d'une première approche, je ne veux pas assommer définitivement melania en l'embrouillant d'entrée de jeux avec la récursivité des procédures évènementielles et la gestion de l'autorisation des événements. Les histoires de EnableEvents viendront plus tard...
(«Il faut apprendre à marcher avant de courir» disait avec bon sens un de mes regrettés maîtres...)
ROGER2327
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

S
Réponses
8
Affichages
8 K
sakalyn
S
Retour