Faire la différence entre deux cellules de différentes colonnes

Bonjour,

Je voudrais afficher le résultat de la différence entre deux colonnes différentes dans une nouvelle colonne.

Voici la macro VBA que j'ai écrite :

Sub diffdata()
Dim x As Long
Dim y As Long
Dim lastR As Long
Dim lastC As Long
Dim lastT As Long
Dim Valeur As Long
Dim i As Long
Valeur = Worksheets("exempl").Range("A" & Rows.Count).End(xlUp).Row

For i = 2 To Valeur

lastR = Worksheets("exempl").Range("A" & i)
x = lastR
lastC = Worksheets("exempl").Range("B" & i)
y = lastC
lastT = x - y
lastT = Worksheets("exempl").Range("C" & i)

Next i
End Sub

Bonjour dm2405,

à tester,

Sub test()

Dim cell   As Range
Dim Valeur As Long

Valeur = Worksheets("exempl").Range("A" & Rows.Count).End(xlUp).Row

Application.ScreenUpdating = False

For Each cell In Range("C2:C" & Valeur)

        cell.Value = cell.Offset(0, -2).Value - cell.Offset(0, -1).Value

    Next cell

Application.ScreenUpdating = True

End Sub

Cordialement

Super ! Merci et pour faire une division , un rapport svp ?

Bonjour dm2405,

merci pour ton retour

pour la soustraction, l'opérateur est le signe - , il suffit de changer avec / pour la division ou avec * pour la multiplication

cell.Value = cell.Offset(0, -2).Value * cell.Offset(0, -1).Value

ou

cell.Value = cell.Offset(0, -2).Value / cell.Offset(0, -1).Value

J'ajoute une autre solution plus rapide, si les lignes sont nombreuses il est préférable d'éviter la boucle

Sub test2()
Dim i As Long

Application.ScreenUpdating = False

i = Worksheets("exempl").Range("A" & Rows.Count).End(xlUp).Row

With Range("C2:C" & i)
    .Cells(1, 1).Formula = "=(A2-B2)"
    .FillDown
    .Value = .Value
End With

Application.ScreenUpdating = True

End Sub

Merci ! J'ai aussi un autre sujet pour la recherche valeur.

Rechercher des sujets similaires à "difference entre deux differentes colonnes"