Bonjour Gaetan et bienvenu, bonjour le forum,
Mettre une formule implique que tu n'aurais que des charges fixes. En effet si pour une date donnée tu as un débit autre qu'une charge fixe, tu vas taper sa valeur dans la colonne D et la formule va disparaître. Si tu t'es trompé ou tu recopies l'onglet pour une autre année il te faudra penser à rétablir les formules manquantes...
Aussi je te propose une solution VBA qui n'aura pas cet inconvénient. D'abord, pour éviter les fautes de frappe, une liste de validation de donnée dans la colonne C de toutes les charges fixes. J'ai utilisé le Gestionnaire de noms avec la formule Decaler qui rendra l'ajout/suppression/modification d'une charge fixe automatique dans la Validation de Donnée. Ensuite le l'événementielle Change ci-dessous appliquée à l'onglet Annee 2021:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim R As Range 'déclare la variable R (Recherche)
If Application.Intersect(Target, Range("C3:C501")) Is Nothing Then Exit Sub 'si le changement a lieu ailleurs que dans la plage C3:C501, sort de la procédure
If Target.Value = "" Then Target.Offset(0, 1).ClearContents: Exit Sub 'si la cellule est effacée, efface la celule en colonne D
Set R = Worksheets("charges fixes ").Range("Charges_Fixes").Find(Target.Value, , xlValues, xlWhole) 'définit la recherche R (recherche la valeur de la cellule modifiée dans la colonne 1 de l'onglet "charges fixes "
's'il existe au moins une occurrence trouvée, renvoie la valeur dde l'occurrence trouvée décalée d'une colonne à droite dans la cellule modifiée décalée d'une colonne à droite
If Not R Is Nothing Then Target.Offset(0, 1).Value = R.Offset(0, 1).Value
End Sub
Le fichier :
[Édition]
Ce qu'il y a de vraiment pénible avec les formulistes c'est qu'il sont trop forts ! Chapeau Zebulon2 !...