Me.vaSpread1.GetText 2, vaSpread1.ActiveRow, zVal
nVal = zVal
'Colonne 2 - somme des cellules de la ligne avant cellule active
For i = 3 To vaSpread1.ActiveCol - 1
Me.vaSpread1.GetText i, Me.vaSpread1.ActiveRow, zVal
nVal = nVal - zVal
Next i
Me.Label1.Caption = nVal
'Somme des cellules - somme des cellules de la ligne avant cellule active
Me.vaSpread2.GetText 3, Row, zVal1
nVal1 = zVal1
For k = 4 To Col
Me.vaSpread2.GetText k, Row, zVal1
nVal1 = nVal1 + zVal1
Next k
Me.Label2.Caption = (nVal1 - zVal)
Mon
probléme c'est au niveau du résultat que j'affiche dans le label2. J'ai
pas le bon résultat car je voudrai qu'il m'affiche le résultat de
nVal1( dans la première boucle)-zVal1(dans la deuxième boucle). Faut-il
imbriqué les boucles? Pouvez-vous m'aider?
ta première boucle tourne avec Me.vaSpread1.ActiveRow
la seconde avec Row (déclaré où ? donc surment 0, tu as pas du mettre d'Option Explicit ni de compilation systématique)
en nettoyant un peu, on pourrais faire ce genre de code (a adapter a ce que tu souhaite faire)
Dim i As Long
Dim nSum As Double
Dim nCol2 As Double
Dim zVal As Variant
'Somme des cellules - somme des cellules de la ligne avant cellule active
For i = 3 To vaSpread1.ActiveCol - 1
vaSpread2.GetText i, vaSpread1.ActiveRow, zVal
nSum = nSum + zVal
Next i
C'est plus propre mais le résultat dans le label2 est la somme des cellules du vaSpread2 alors que je souhaite avoir cette somme - la somme des valeurs des cellules dans le vaspread1 jusqu'à ActiveRow - 1.
J'espére que je suis clair. Tu me comprends?
j'avais pas vu que tu jouais avec deux spreads.
je trouve que tu bidouille plus que tu ne programme... tu as toutes les billes, souvent et ne sais qu'en faire. va falloir se remonter un peu les manches si tu veux en faire ton boulot.
refais simplement une boucle, sur ton autre spread.
mais tu as fait ta soustraction finale avec zVal, qui est en fait, la valeur de la cellule se trouvant un cran (colonne) a gauche de la colonne active...
C'est bien la soustraction "Me.Label2.Caption = (nVal1 - zVal)" que je veux mais les valeurs que j'obtiennes sont fausses c'est pour ça que je postule pour savoir ce qui cloche dans mon code.
encore faudrait il savoir ce que tu souhaites obtenir d'autre...
tu dis que c'est ce que tu veux faire, mais les valeurs obtenues sont fausses... que pouvons nous savoir de la validité de ton code, si syntaxiquement, rien ne nous choque...
on n'a pas de visuel de ce que tu as, de ce que tu veux, de ce que tu souhaites...
difficile effort d'imagination, non ?
imbriquer les boucles, peut être, mais comme je ne suis pas sur d'avoir saisi ta volonté...
Peut etre que c'est un probléme de format parceque quant je mets un point d'arret pour voir les valeurs: les valeurs de zval sont mis entre guillemets comme un string et les valeurs de nval ne sont pas en guillemets.
Devrai-je convertir?
non, zVal est un Variant, GetText renvoie surement le texte, sans se poser de questions.
quand tu fais nVal = zVal, VB fais un cast et cherche a interpreter zVal comme un Double