Cellule cumulée (cumulative)

Table des matières

Assez souvent, une situation se présente lorsque nous devons résumer (accumuler) plusieurs valeurs saisies séquentiellement dans une cellule:

Ceux. si, par exemple, vous entrez le chiffre 1 dans la cellule A5, alors le chiffre 1 doit apparaître dans B15. Si vous entrez ensuite le chiffre 1 dans A7, alors 1 devrait apparaître dans la cellule B22, et ainsi de suite. En général, ce que les comptables (et pas seulement eux) appellent un total cumulé.

Vous pouvez implémenter un tel accumulateur de cellules de stockage à l'aide d'une simple macro. Faites un clic droit sur l'onglet de la feuille où se trouvent les cellules A1 et B1 et sélectionnez dans le menu contextuel Texte source (Code source). Dans la fenêtre de l'éditeur Visual Basic qui s'ouvre, copiez et collez le code de macro simple :

Private Sub Worksheet_Change(ByVal Target As Excel.Range) With Target If .Address(False, False) = "A1" Then If IsNumeric(.Value) Then Application.EnableEvents = False Range("A2").Value = Range(" A2").Valeur + .Valeur Application.EnableEvents = Vrai End If End If End With End Sub  

Les adresses des cellules A1 et A2, bien sûr, peuvent être remplacées par les vôtres.

Si vous avez besoin de suivre la saisie de données et de résumer non pas des cellules individuelles, mais des plages entières, la macro devra être légèrement modifiée :

Private Sub Worksheet_Change(ByVal Target As Excel.Range) If Not Intersect(Target, Range("A1:A10")) Is Nothing Then If IsNumeric(Target.Value) Then Application.EnableEvents = False Target.Offset(0, 1) .Value = Target.Offset(0, 1).Value + Target.Value Application.EnableEvents = True End If End If End Sub  

On suppose que les données sont saisies dans les cellules de la plage A1: A10 et que les nombres saisis sont résumés dans la colonne adjacente à droite. Si dans votre cas, il n'est pas adjacent, augmentez le décalage vers la droite dans l'opérateur Décalage - remplacez 1 par un nombre plus grand.

  • Que sont les macros, où insérer le code macro dans VBA, comment les utiliser ?

Soyez sympa! Laissez un commentaire