Calcul de sommes

Bonjour à tous

j'aurais besoin d'une petite aide pour un calcul de somme sur excel (fichier ci-joint)

https://www.cjoint.com/c/ELCkvjN054f

La case verte doit être la somme des cases blanches précédentes. Au début il me suffirait de faire redescendre la formule car il n'y a qu'une case blanche mais à partir de la ligne 129 le nombre de lignes blanches change entre les lignes vertes.

Existe t'il une formule qui me permettrait automatiquement de calculer toutes les cases blanches au dessus d'une case verte quelque soit le nombre de cases blanches?

Merci par avance,

François

Bonjour François,

Une suggestion de code (j'ai mis le total calculé en B3058) :

Sub Calculer()
Dim MaLigne As Integer, MonMontant As Currency
MaLigne = 1
Do While Cells(MaLigne, 1).Value <> "Montant HT"
    If Cells(MaLigne, 1).Interior.Color = 16777215 Then
        MonMontant = MonMontant + Cells(MaLigne, 1).Value
    End If
    MaLigne = MaLigne + 1
Loop
MaLigne = MaLigne + 2
Cells(MaLigne, 2).Value = MonMontant
End Sub

Cordialement, Daniel

Bonjour Dan,

Merci pour le retour rapide,

En exécutant ce code, en B3058 est calculé le montant total si je te suis

Est il possible d'avoir une étape intermédiaire pour remplir automatiquement toutes les cases vertes

et ensuite utiliser ton code pour calculer le total de ces cases vertes

Merci pour ta réponse en tout cas

Bonjour,

Une autre proposition

11test-somme.xlsm (43.69 Ko)

A+

bonjour

un essai

sans vba

8francoislille.xlsx (45.64 Ko)

cordialement

Merci à vous deux

@Tulipe, la formule va me resservir pour un autre excel sans vba merci beaucoup.

@frangy, si je dois appliquer le code à un autre excel la seule donnée que je dois changer est :

Dim Cel As Range, C As Range

Dim Sous_Tot As Double, Tot As Double

Application.ScreenUpdating = False

With Worksheets("NOM A CHANGER")

Set C = .Columns(1).Find("Montant HT", , xlFormulas, xlWhole)

If Not C Is Nothing Then

For Each Cel In .Range("A2", C.Offset(-1))

If Cel.Interior.ColorIndex = 4 Then

Cel = Sous_Tot

Tot = Tot + Sous_Tot

Sous_Tot = 0

Else

Sous_Tot = Sous_Tot + Cel.Value

End If

Next Cel

C.Offset(1) = Tot

C.Offset(2) = Tot * 0.2

C.Offset(4) = Tot * 1.2

End If

End With

End Sub

Ou y'a t'il une autre ligne à modifier ? (les données sont les mêmes mais la colonne de mon fichier exemple appartient à un tableau à plusieurs colonnes)

Merci par avance et merci à vous tous

Je viens de trouver la réponse

Il faut également modifier le N° de colonne

Merci encore !!

Rechercher des sujets similaires à "calcul sommes"