Transfert de valeurs des cellules d'une colone a une autre

bonjour

voila mon soucis, je cherche a ajouter les valeurs des cellules des colonnes B et C aux cellules de la colonne F..

j'y arrive très bien individuellement en langage VBA avec cette macro:

Sub ajout_de_valeur()

Range("F2").Value = Range("F2").Value + Range("B2").Value + Range("C2").Value

End Sub

le soucis est que j'aimerais l'appliquer a la totalité des cellules des colonnes, et là, je ne suis pas assez calé en la matière

je vous joins mon fichier afin de mieux se rendre compte.

je vous remercie d'avance si quelqu’un peut m'aider

Bonjour,

Essaie en mettant ce code dans le code de l'onglet :

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Count > 1 Or Target.Row = 1 Then Exit Sub

If Not IsNumeric(Target) Then

MsgBox "Entrée numérique uniquement"

Application.EnableEvents = False

Target.ClearContents

Application.EnableEvents = True

End If

If Not Intersect(Target, Columns("B:C")) Is Nothing Then

Cells(Target.Row, "F") = Cells(Target.Row, "F") + IIf(Target.Column = 2, Target, -Target)

End If

End Sub

Pour ce faire, tu fais un clic droit sur le nom de l'onglet, "Visualiser le code", et tu colles ce code.

Bon courage

Bonjour

Pour moi, le stock restant est l'entrée moins la sortie

J'aurais mis

Sub Action()
Dim Cel As Range
For Each Cel In Range("B2", Range("B2").End(xlDown))
If Cel <>""Then
Cel.Offset(0,4).Value = Cel.Value-Cel.Offset(0,1).Value
End If
Next MaCellule
End Sub

Comme sur le fichier joint

Cordialement

re- bonjour

cousinhub, dessolé, je n'ai pas essayé ta méthode, j'ai une fâcheuse tendance a fonctionner de bas en haut et j'ai tenté avec la formule d'Amadeus

Amadeus, merci beaucoup, a partir de ton code (que j'ai un tout petit peu modifié une fois compris, mais presque rien) j'ai pu arriver a mes fins, ajouter ou deduire d'un stock total a partir de sa valeur de base, je te joins le fichier.

Sub transfert_de_donnees()
Dim Cel As Range
For Each Cel In Range("B2", Range("B2").End(xlDown))

If Cel <> "" Then

Cel.Offset(0, 4).Value = Cel.Offset(0, 4).Value + Cel.Value

End If

If Cel.Offset(0, 1) <> "" Then

Cel.Offset(0, 4).Value = Cel.Offset(0, 4).Value - Cel.Offset(0, 1).Value

End If

Next Cel

End Sub

et entre parenthèse, je tiens a remercier tout particulièrement ce site et ce forum, je me suis mis sérieusement a Excel il y a très peu de temps, et je trouve ici la totalité des réponse a mes questions, ce qui me permet d'avancer rapidement!

Rechercher des sujets similaires à "transfert valeurs colone"