Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2021 Modification d'une cellule calculée

clausen

XLDnaute Occasionnel
Dans le fichier joint, j'aimerais :

Quand je type dans la cellule I, j'ai automatiquement le résultat selon labelle dans la colonne J

J'aimerais que si je transforme le résultat en remplissant par-dessus la cellule de la colonne J que le résultat que j'ai typé apparaisse en rouge gras.

Et cela pour toutes les colonnes "J L N" et toutes les feuilles

Merci d’avance pour votre réponse et bonne journée
 

Pièces jointes

  • Glycemie vide.xlsm
    132.2 KB · Affichages: 13

Dranreb

XLDnaute Barbatruc
Bonsoir.
Ajoutez cette procédure dans le module ThisWorkbook :
Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
   If Target.CountLarge > 1 Or Target.Row < 4 Then Exit Sub
   Select Case Target.Column
      Case 10, 12, 14
         Application.EnableEvents = False
         If IsEmpty(Target.Value) Then
            Target.FormulaR1C1 = "=IFERROR(LOOKUP(RC[-1],R38C9:R43C" & 10 + (Target.Column - 10) / 2 & "),"""")"
            Target.Font.Color = 0: Target.Font.Bold = False
         Else
            Target.Font.Color = &HFF: Target.Font.Bold = True
            End If
         Application.EnableEvents = True
      End Select
   End Sub
Remarque: je ne sais pas si c'était judicieux mais j'ai veillé à ce qu si vous effacez la cellule il remette la formule.
 

clausen

XLDnaute Occasionnel
Merci mais je connais rien est ce que vous pouvez m'insérer ce code dans mon fichier merci d'avance et bonne journée
 

Dranreb

XLDnaute Barbatruc
Faites Alt+F11 pour ouvrir VBE, double-cliquez sur le nom ThisWorkbook dans l'explorateur de projets et, dans la fenêtre de code, collez le code où vous voulez en dehors d'une procédure existante.
 

job75

XLDnaute Barbatruc
Bonjour clausen, Bernard, le forum,

Je ne vois pas l'intérêt de cette gymnastique avec la couleur rouge.

Il paraît plus logique d'empêcher la modification des formules en colonnes J L N P :
VB:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    Application.EnableEvents = False
    Sh.[J4:J34] = "=IFERROR(LOOKUP(I4,I$38:J$43),"""")"
    Sh.[L4:L34] = "=IFERROR(LOOKUP(K4,I$38:K$43),"""")"
    Sh.[N4:N34] = "=IFERROR(LOOKUP(M4,I$38:L$43),"""")"
    Sh.[P4:P34] = "=SUM(J4,L4,N4,O4)"
    Application.EnableEvents = True
End Sub
A+
 

Pièces jointes

  • Glycemie vide.xlsm
    132.3 KB · Affichages: 3

Dranreb

XLDnaute Barbatruc
@job75, bonjour.
Le demandeur pose dans l'énoncé du problème qu'il modifie parfois une cellule contenant la formule, alors je pense qu'il ne faut pas le lui interdire. Par contre un moyen simple de la remettre me paraît intéressant.
 

Modeste geedee

XLDnaute Barbatruc
Bonsour®,
c'est a-dire si la formule est "écrasée" ou supprimée par mise à blanc ou saisie manuelle ???


se posera alors la mémorisation de la formule !!!!
je suggère une mise place dans le commentaire
soit manuelle
soit par VBA
 

clausen

XLDnaute Occasionnel
Je comprends rien

Si je type 9 dans la cellule de janvier M15 dans la cellule N il y a le résultat calculé automatiquement.

Si ça me convient pas j'aimerais écraser le résultat en en typant un autre. Et que celui-ci écrase la formule de cette cellule et affiche ce que j'ai typé en rouge Gras.
 

Modeste geedee

XLDnaute Barbatruc
Bonsour®
avez vous au moins testé la MFC proposée concernant uniquement le changement de contenu(formule ou saisie) de la plage J4:J34
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…