sumif entre cellules aléatoires

Epsilon 17

XLDnaute Occasionnel
Bonjour à toutes et à tous, le Forum

Voilà un petit soucis qui me tracasse depuis plusieurs jours et dont je n'ai pas trouvé solution dans la recherche :

colonne A, les chiffres de 1 à 100 (de A1 à A100). Colonne B, des valeurs du style 248,35, positives ou négatives (de B1 à B100).

Je saisis dans une textbox une valeur comprise entre 1 et 100 avec la commande :
'For Each cell In Range(Cells(1, 1), Cells(100, 1).End(xlUp))
If (cell) = Val(TB1) Then
cell.Activate'

Je désire faire la somme des valeurs positives en B, de 'B1' à la cellule 'B(TB1)' puis de la cellule 'B(TB1 +1)' à 'B100'

J'utilise la fonction : application.sumif, car je n'arrive pas à faire fonctionner la fonction : x = x + cell.value

En espérant avoir été clair, merci d'avance.
PS : j'ai appris le VBA en utilisant les 'cells' (1,1) plutôt que les 'Range' ('A1'), donc je maîtrise un tout petit plus les commandes rédigées de la sorte.

Bye, bye
 

CBernardT

XLDnaute Barbatruc
Bonsoir Epsilon 17 et le forum,

Je te propose cette macro :

Sub SommePlages()
Dim Plage As Range, Cell As Range, Lig As Byte

Set Plage = Sheets('Feuil1').Range('A1:A100')
With Sheets('Feuil1')
For Each Cell In Plage
If Cell.Value = .Range('TB1').Value Then
Lig = Cell.Row
Range('C1') = Application.SumIf(.Range('B1:B' & Lig), '>0', .Range('B1:B' & Lig))
Range('C2') = Application.SumIf(.Range('B100:B' & Lig + 1), '>0', .Range('B100:B' & Lig + 1))
Exit Sub
End If
Next Cell
End With
End Sub

Cordialement

Bernard
 

Epsilon 17

XLDnaute Occasionnel
Bonjour Bernard, le Forum

Je craque totalement. Bernard, j'ai recopié ta commande mais je n'arrive pas à la faire fonctionner.

Je joins donc le fichier si quelqu'un peut m'expliquer ce que je fais de mal, cela m'arrangerait.
PS : la commande devrait afficher des valeurs dans la frame 'SOLDE' (textbox 'intérêts payés' et 'intérêts gagnés'), après avoir saisi un chiffre dans la textbox 'au' .... 'mois' puis clique sur 'OK'

Tellement préssé que j'en oublie les usages

MERCI À TOUTES ET À TOUS POUR VOTRE AIDE PRÉCIEUSE

Bye, bye


[file name=pret2_20060429084733.zip size=47426]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/pret2_20060429084733.zip[/file]

Message édité par: epsilon 17, à: 29/04/2006 08:49
 

Pièces jointes

  • pret2_20060429084733.zip
    46.3 KB · Affichages: 2

CBernardT

XLDnaute Barbatruc
Bonjour Epsilon 17,

J'ai apporté quelques modifs à ton fichier pour remplir les TB9 et TB11.

A toi de continuer sur les autres texbox.

Cordialement

Bernard [file name=pret2V1.zip size=43983]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/pret2V1.zip[/file]
 

Pièces jointes

  • pret2V1.zip
    43 KB · Affichages: 14

Epsilon 17

XLDnaute Occasionnel
Bonsoir Bernard, le Forum

Bernard, je suis vraiment désolé mais je ne comprends rien. J'ai essayé ton fichier, mais les TB9 et TB11 se remplissent par le 'private sub CB3 click' et pas par le 'private sub Somme Plage'. J'ai occulté le CB3 click et rien ne s'est passé. J'ai essayé au pas à pas mais dans le Somme Plages cela fait toujours if, end if, next, quelle que soit la valeur de la TB8.À aucun moment le programme ne calcule quoi que ce soit.

Je sais que je suis relativement mauvais en VBA mais je me rend compte ici que c'est pire que ça.

Vraiment sincèrement désolé mais je suis totalement dépourvu. Encore pardon et merci de tout

Bye, bye
 

Discussions similaires

Réponses
0
Affichages
196

Membres actuellement en ligne

Statistiques des forums

Discussions
312 765
Messages
2 091 892
Membres
105 086
dernier inscrit
hyacinthe