vba exceL a modifier

J

jmb

Guest
Comment mofifier la VBA suivante, de façon à ce que lorsque je saisi un nombre dans A2 B2 affiche la valeur initiale de B2+ celle saisie dans A2 (Pb de référence circulaire) et ainsi de suite si je saisie dans A3 B3 cumul B3+A3 etc...

ET pourquoi pas en plus effacer le contenu saisi dans A2 ou A3 ...

Voici la VBA que j'ai récupérer sur ce site (Merci à son auteur) mais c'est trop court pour ce que je veux faire.


Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> '$A$2' Then Exit Sub
With Range('A1')
.Value = .Value + Target.Value
End With
End Sub
 

Robert

XLDnaute Barbatruc
Bonjour Jmb, bonjour le forum,

Si j'ai bien compris ton problème, ce code devrait convenir :

Private Sub Worksheet_Change(ByVal Target As Range)
'si le changement s'effectue sur une autre colonne que la 1, sort de la procédure
If Target.Column <> 1 Then Exit Sub

'ajoute à la cellule à droite sa valeur + celle de la colonne A
Target.Offset(0, 1).Value = Target.Offset(0, 1).Value + Target.Value

Application.EnableEvents = False 'empêche le code de tourner
Target.Value = '' 'remet la colonne A à zéro (le changement ne relancera pas ce code)
Application.EnableEvents = True 'permet au code de tourner
End Sub
 

Discussions similaires

Réponses
3
Affichages
215
Réponses
2
Affichages
272

Statistiques des forums

Discussions
299 703
Messages
1 978 594
Membres
206 298
dernier inscrit
yannick451