Somme "tant que" le seuil n'est pas dépassé

Bonsoir,

je commence le vba , et du coup je try des trucs par exemple je cherche a faire une somme tant que mon seuil n'est pas dépassé.

J'aurait besoins d'aide et surtout d'explications pour ce petit code, comment mettre la boucle en place car dés que j'incrémente de 1 je passe sur une cellule vide mais je sait pas comment faire le test avant.

Merci d'avance et bonne soirée.

Chiffres a sommer

Somme

Seuil

4 : A1

B1 : Somme de Dollar"A1"Dollar:A1

D1 : 6
2 : A2B2 :Somme de Dollar"A1"Dollar:A2

Donc ici on stoppe

D2 :

6 : A3

B3 :Somme de Dollar"A1"Dollar:A3D3 :
Sub Somme()

Dim I As Byte

I = 1
Const Col1 As Byte = 1
Const Col2 As Byte = 2
Const Col4 As Byte = 4

If Cells(I, Col1) <> "" Then

Do Until Cells(I, Col2) <= Cells(1,Col4)
Cells(I, Col2).FormulaR1C1 = "=SUM(R1C1:RC[-1])"

I = I + 1
Loop Until Cells(I, Col2) <= Cells(1, Col4)
End If
End Sub

Bonjour,

il faut utiliser cet outil pour déposer un fichier :

image

eric

Je vous le joins mais il n'y a rien de plus dedans que ce que j'ai mis dans le message.

Bonjour,

oui, mais ça évite qu'on ait à refaire (mal ?) ce que tu as, et surtout ça permet de voir s'il y a des particularités que tu n'aurais pas signalées.

Une simple formule ne te suffit pas ? En B1 : =SI(SOMME($A$1:A1)>$D$1;"";SOMME($A$1:A1))
à tirer vers le bas

Sinon :

Private Sub CommandButton1_Click()
    Dim datas, seuil As Double, i As Long, s As Double
    datas = [A1].Resize(Cells(Rows.Count, 1).End(xlUp).Row + 1).Value
    seuil = [D1].Value
    For i = 1 To UBound(datas) - 1
        s = s + datas(i, 1)
        If s + datas(i + 1, 1) > seuil Then Exit For
    Next i
    [B1].Resize(i).FormulaR1C1 = "=SUM(R1C1:RC[-1])"
End Sub

écrire des données en ligne 1 est une mauvaise habitude.
Toujours mettre une ligne de titre, et si possible utiliser les Tableaux (Insertion / Tableau)
https://support.microsoft.com/fr-fr/office/pr%C3%A9sentation-des-tableaux-excel-7ab0bb7d-3a9e-4b56-a...

eric

Re,

Pour la formule j'ai déjà mais je me retrouve limité c'est pour sa que j'apprend le vba, ce que j'aurait voulut c'est que vous m'indiquiez ce qui est a changer dans mon code, ou a la rigueur comment le retravailler complètement car je comprend pas comment je peut mettre 2 conditions.

Je ne cherche pas un code qui fonctionne mais des indications afin que je puisse retravailler le mien pour qu'il fonctionne.

Merci quand même pour l'aide.

Rechercher des sujets similaires à "somme tant que seuil pas depasse"