Mémoriser le contenu d'une cellule

  • Initiateur de la discussion Initiateur de la discussion Sally09
  • 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 !

S

Sally09

Guest
Bonjour, j'ai un problème que je n'arrive pas à résoudre.
J'ai une feuille où ma cellule C1=30-B1, B1 varie mais je voudrai que quand B1 varie, C1 soit égale à "l'ancienne valeur de C1"-B1. Je voudrai que la cellule ne prenne pas toujours 30 mais garde son ancienne valeur à laquelle elle soustrait la nouvelle valeur de B1. Un peu comme une suite en math.
Est-ce que c'ets possible de faire cela?
(j'ai essayé de copier-coller la valeur de C1 dans une autre feuille et de recupérer pour lui soustraire B1 mais ca me met #REF qd je fais le copier coller.)
Merci bcp !
 
Re : Mémoriser le contenu d'une cellule

Bonjour Sally09,

Cette macro évèneùmentielle à coller dans le module de la feuille, devrait résoudre ton problème.
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$1" Then
    [C1] = [C1] - [B1]
End If
End Sub

Vois le fichier exemple joint.
 

Pièces jointes

Re : Mémoriser le contenu d'une cellule

Ok, merci bcp !
Excuse moi d'abuser encore, mais si je veux étendre ca à plusieurs lignes cmt est-ce que je dois faire? J'ai essayé d'écrire plusieurs fois cette macro en changeant les numéros des cellules, mais ca veut pas, ca m'affiche le débloguage...
Merci bcp
 
Re : Mémoriser le contenu d'une cellule

Ah n on c'est bon, pardonne moi, j'avais fait une erreur, j'avais réécrit une macro entièrement, mais finalement j'ai juste complétée celle que tu m'as envoyée et ca marche très bien !
merci encore !
 
Re : Mémoriser le contenu d'une cellule

Re,

Si tu veux que ça s'applique à toute la colonne C, je te propose ceci à tester :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Left$(Target.Address,3) = "$B$" Then  Range("C" &Target.row) = Range("C" &Target.row) - Range("B" & Target.row)
End Sub
 
- 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

Réponses
5
Affichages
665
Retour