Résolu Trouver la somme de feuil1 vers feuil2

  • Auteur de la discussion dianbobo
  • Date de début

dianbobo

Expert
bonjour tout le monde
bonjour Zed ,
je suis sur un code que je croix avoir presque terminé mais je bute sur un point

voici mon code:

[cpp]Sub spreadDeCredit()
Dim k As Long
Dim spot_1 As Double
Dim spot_2 As Double
Dim somme As Single
Dim diff As Double
k = Worksheets("Feuil1").Cells(Rows.Count, 1).End(xlUp).Row

For i = 0 To k
If Worksheets("Feuil1").Cells(i, 16).Value Like "*AAA*" Then
spot_1 = Worksheets("Feuil1").Cells(i, 10).Value
spot_2 = Worksheets("Feuil1").Cells(i, 11).Value
diff = Abs(spot_1 - spot_2)
somme = 0
somme = somme + diff
End If
Cells(6, 8).Value = somme
End Sub[/cpp]


dans ce code je cherche a parcourir "Feuil1" avec la condition que j'ai imposé et mettre le resultat dans feuil2
ma boucle parcours la feuille ("feuil1") daja a ce nivo j'aimerai savoir ci c'est correct mon ecriture :??:
ensuite je voudrais faire la somme de toutes les differences Abs(spot_1 - spot_2) ...
est ce correct la aussi [cpp]somme = somme + diff[/cpp]:??:
enfin mon soucis majeur est que ma cellule H6 DOIT CONTENIR : H6=somme/(nombre de fois qu'on a rencontré le caractere AAA dans feuil1) en d'autres termes c'est le nombre de fois qu'on a fait la difference entre spot_1 et spot_2

sof que j'ignore comment le definir dans mon code

merci de votre aide :)
 

dianbobo

Expert
bonjour Zed ,bonjour tout le monde

voici apres mes recherches d'hiers ma solution :bounce:

[cpp]Sub spreadDeCredit22()

Dim k, j As Long
Dim spot_1 As Double
Dim spot_2 As Double
Dim somme As Single
Dim diff As Double
Dim i As Integer
k = Worksheets("Feuil1").Cells(Rows.Count, 1).End(xlUp).Row
somme = 0
For i = 0 To k
If Worksheets("Feuil1").Cells(i + 6, 16).Value Like "*AAA*" Then
spot_1 = Worksheets("Feuil1").Cells(i + 6, 10).Value
spot_2 = Worksheets("Feuil1").Cells(i + 6, 11).Value
diff = Abs(spot_1 - spot_2) / 100
somme = somme + diff
j = j + 1
End If
Next i
Cells(6, 8).Value = somme / j
End Sub[/cpp]

c'est genial ça :sol:

merci a vous tous
 

zeb

Modérateur
Meilleure réponse
dianbobo, tu m'appelles encore une fois Zed, je te marave la gueule façon Marsellus Wallace !
[:zeb:4]

Je rappelle que Zed's dead baby, Zed's dead x_x

------------------------------

Eh, pas mal. Il manque juste deux toutes petites, mais vraiment petites choses :
Initialise j à 0, comme tu le fais pour somme.
Déclare k comme Long.

Le code suivant déclare un Variant (type par défaut) puis un Long :
Code:
Dim k, j As Long
Oui, je sais, la syntaxe du VB est vraiment à chier.

Allez, encore un mot. Ligne 20, tu utilises Cells sans préciser la feuille en cours. Mais c'est pour pinailler.

;)
 

dianbobo

Expert
voila si j'ai bien suivi les instructions: :sol:

[cpp]Sub spreadDeCredit22()
.
.Dim k as long
dim j As Long
Dim spot_1 As Double
Dim spot_2 As Double
Dim somme As Single
Dim diff As Double
.Dim i As Integer
k = Worksheets("Feuil1" ).Cells(Rows.Count, 1).End(xlUp).Row
somme = 0
j=0
For i = 0 To k
If Worksheets("Feuil1" ).Cells(i + 6, 16).Value Like "*AAA*" Then
spot_1 = Worksheets("Feuil1" ).Cells(i + 6, 10).Value
spot_2 = Worksheets("Feuil1" ).Cells(i + 6, 11).Value. diff = Abs(spot_1 - spot_2) / 100
somme = somme + diff
j = j + 1
End If
Next i
worksheets("risk").cellls(6, 8).Value = somme / j
End Sub[/cpp]

merci bien
 

zeb

Modérateur
Oki.
Passe le topic en résolu. (en choisissant une bonne réponse).
 

dianbobo

Expert
bonjour tout le monde de façon bien ecrite :
la solution du probleme
:sol:
[cpp]Sub spreadDeCredit22()
.
.Dim k as long
dim j As Long
Dim spot_1 As Double
Dim spot_2 As Double
Dim somme As Single
Dim diff As Double
.Dim i As Integer
k = Worksheets("Feuil1" ).Cells(Rows.Count, 1).End(xlUp).Row
somme = 0
j=0
For i = 0 To k
If Worksheets("Feuil1" ).Cells(i + 6, 16).Value Like "*AAA*" Then
spot_1 = Worksheets("Feuil1" ).Cells(i + 6, 10).Value
spot_2 = Worksheets("Feuil1" ).Cells(i + 6, 11).Value
diff = Abs(spot_1 - spot_2) / 100
somme = somme + diff
j = j + 1
End If
Next i
worksheets("risk" ).cellls(6, 8).Value = somme / j
End Sub[/cpp]
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 131
Messages
6 717 985
Membres
1 586 385
Dernier membre
beep84
Partager cette page
Haut