Soustraction cumulé colonnes VBA

Résolu/Fermé
Dillon13 Messages postés 2 Date d'inscription mardi 1 septembre 2015 Statut Membre Dernière intervention 1 septembre 2015 - 1 sept. 2015 à 11:44
Dillon13 Messages postés 2 Date d'inscription mardi 1 septembre 2015 Statut Membre Dernière intervention 1 septembre 2015 - 1 sept. 2015 à 13:09
Bonjour,

J'ai besoin d'un petit coup de pouce :
Alors voilà j'ai deux colonnes dans un tableau
B : Solde
C : Dépenses
Je voudrais avoir une fonction qui dès que je remplies une cellule dans la colonne C, prenne la valeur antérieure de la colonne B et lui soustrait le montant de la valeur de la colonne C.

Exemple :
B : Solde
1: 1 000
2: = 1000 - 150 (=850)
3: = 850 - 34

C : Dépenses
1:
2: 150
3: 34



J'ai essayé avec ce code là
Sub Soustraction()
Dim i As Integer
Dim j As Integer

ActiveSheet.UsedRange.Select

For i = 2 To Range("B1000").End(xlUp).Row
For j = i + 1 To Range("C1000").End(xlUp).Row
If Not IsEmpty(Range("Cj")) Then
Cells(i + 1, 2) = Cells(i, 2) - Cells(j, 3)
End If
Next j
Next i

End Sub

Mais j'ai l'erreur 1004 qui affiche : Erreur définition par l'application ou l'objet.

Merci d'avance pour votre aide



1 réponse

via55 Messages postés 14501 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 28 novembre 2024 2 735
1 sept. 2015 à 12:30
Bonjour

1° erreur dans la ligne If Not IsEmpty(Range("Cj")) Then , il faut écrire :
If Not IsEmpty(Range("C & j")) Then

2° Mais pourquoi passer par une macro alors qu'un simple formule suffit ? Avec 150 en C3, formule en B3 :
=SI(C3<>"";B2-C3), à étirer ensuite vers le bas

Cdlmnt
Via
0
Dillon13 Messages postés 2 Date d'inscription mardi 1 septembre 2015 Statut Membre Dernière intervention 1 septembre 2015
1 sept. 2015 à 13:09
Merci ça marche très bien avec la condition SI.

J'ai toujours tendance à vouloir passer par VBA en oubliant les choses simples.

Merci encore
0