Bonsoir @christel, le forum,
Voici mon fichier Excel : Argent de poche.xlsm (23,6 Ko)
C’est une solution VBA ; la feuille est protégée avec le mot de passe « loup » ; j’ai masqué le quadrillage et les en-têtes de colonnes et de lignes.
La ligne 3 est la ligne des totaux, c’est pourquoi j’ai hachuré B3 et C3 : il n’y a pas de nom ni de prénom pour les totaux.
En D3 : =SOMME(D4:D28)
; formule étirée à droite jusqu’en M3 ➯ ça fait 10 formules en tout ; il n’y en a AUCUNE AUTRE.
J’ai figé les volets de sorte que les 3 premières lignes sont TOUJOURS visibles ; ainsi, même si on fait défiler la feuille loin vers le bas, on continuera de voir la ligne des en-têtes et la ligne des totaux.
Quand la feuille est protégée : a) les 10 formules de D3:M3 sont protégées contre toute modification par inadvertance ; b) la seule plage de cellules où c’est possible de saisir des données est B4:D28 (cellules jaunes et vertes) ; j’ai mis quelques données en B4:D16.
Le total des montants de D4:D16 apparaît en D3 : 7 923,40 (c’est bien sûr en Euros).
La cellule active est D4, avec le montant 25,50 ; comme ce montant a déjà été saisi, on va simuler sa saisie de façon très simple :
Appuie sur les touches F2 puis Entrée ➯ ça a complété à droite ce qu’il faut (ça note que les 1, pas les 0), et la cellule active devient D5.
En D5, fais pareil : F2 puis Entrée ; et ainsi de suite jusqu’au dernier montant de D16.
Si tu as bien fait comme indiqué : tu dois avoir un montant de 7 923,40 en D3 et en M3.
Juste pour info (ne le fais pas maintenant) : si tu supprimes un montant de la colonne D, ça efface les cellules qui sont à droite (sur la même ligne, colonnes E à M).
Vérifie que tous les nombres sont corrects (cellules roses et cellules bleues).
Sur la ligne des totaux, vérifie aussi E3:L3.
Comme tout est OK, tu pourras ajouter d’autres données ; mais d’abord, voici un petit bonus :
Appuie sur Ctrl F2 ➯ Aperçu avant impression ; c’est prêt à être imprimé sur une feuille.
Si besoin, tu peux demander une adaptation ou un complément d’information.
À te lire pour avoir ton avis.
Code VBA du module de Feuil1 (23 lignes) :
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
If .CountLarge > 1 Then Exit Sub
If .Column <> 4 Then Exit Sub
Dim lig&: lig = .Row: If lig < 4 Then Exit Sub
Dim v#, r#, col As Byte: v = Val(Replace$(.Value, ",", "."))
End With
Application.ScreenUpdating = 0: ActiveSheet.Unprotect "loup"
Cells(lig, 5).Resize(, 9).ClearContents: If v = 0 Then GoTo 1
For col = 5 To 12
If v > 0 Then
v = Round(v, 2): r = Int(v / Cells(2, col))
If r > 0 Then Cells(lig, col) = r: v = v - r * Cells(2, col)
End If
Next col
v = 0 'on va calculer le total de la ligne (cellule avec fond bleu)
For col = 5 To 12: v = v + Cells(lig, col) * Cells(2, col): Next col
Cells(lig, 13) = v
1 ActiveSheet.Protect "loup"
End Sub
ATTENTION ! Dans mon code VBA, le mot de passe « loup » y est 2 fois ; si tu changes le mot de passe de la feuille, il faut aussi le modifier 2 fois dans mon code VBA.
C’est pour ces 2 instructions VBA : ActiveSheet.Unprotect "loup"
ET juste avant End Sub : ActiveSheet.Protect "loup"