à l'aide : aditionner et stocker

Dytta Messages postés 17 Date d'inscription   Statut Membre Dernière intervention   -  
Dytta Messages postés 17 Date d'inscription   Statut Membre Dernière intervention   -
Salut,

j'ai une feuille d'excel " A"ou je fais mes calculs, et puis je cherche à les stocker dans une autre feuille" B " une fois stocker dans cette fois, je refais mes calculs avec d'autre chiffre dans la feuille A et je les additionne aux résultats déjà stocké ?
j'ai fait ça et le stokage doit etre que sur 20 ligne dans la feuille B mais je trouve que au délà de la 20 éme ligne il y'a des chiffres qui fausse l indicateur je cherche à tester

j'espère que j'ai pu vous expliquer ma préoccupation !!!

voilà le code :
Sub simuler()
p = 12
For i = 12 To 1371

For j = 3 To 13
Feuil3.Cells(10, j) = Feuil3.Cells(i, j)
Next j
' repmplir la feuille resultat
Feuil5.Cells(i, "C") = Feuil5.Cells(i, "C").Value + Feuil4.Cells(p, "C").Value
Feuil5.Cells(i, "D") = Feuil5.Cells(i, "D").Value + Feuil4.Cells(p, "D").Value
Feuil5.Cells(i, "E") = Feuil5.Cells(i, "E").Value + Feuil4.Cells(p, "E").Value
Feuil5.Cells(i, "F") = Feuil5.Cells(i, "F").Value + Feuil4.Cells(p, "F").Value
Feuil5.Cells(i, "G") = Feuil5.Cells(i, "G").Value + Feuil4.Cells(p, "G").Value
Feuil5.Cells(i, "H") = Feuil5.Cells(i, "H").Value + Feuil4.Cells(p, "H").Value
Feuil5.Cells(i, "I") = Feuil5.Cells(i, "I").Value + Feuil4.Cells(p, "I").Value
Feuil5.Cells(i, "J") = Feuil5.Cells(i, "J").Value + Feuil4.Cells(p, "J").Value
Feuil5.Cells(i, "K") = Feuil5.Cells(i, "K").Value + Feuil4.Cells(p, "K").Value
Feuil5.Cells(i, "L") = Feuil5.Cells(i, "L").Value + Feuil4.Cells(p, "L").Value
Feuil5.Cells(i, "M") = Feuil5.Cells(i, "M").Value + Feuil4.Cells(p, "M").Value
Feuil5.Cells(i, "N") = Feuil5.Cells(i, "N").Value + Feuil4.Cells(p, "N").Value
Feuil5.Cells(i, "O") = Feuil5.Cells(i, "O").Value + Feuil4.Cells(p, "O").Value
Feuil5.Cells(i, "P") = Feuil5.Cells(i, "O").Value + Feuil4.Cells(p, "P").Value

Next i
Feuil5.Activate
End Sub


1 réponse

Gyrus Messages postés 3334 Date d'inscription   Statut Membre Dernière intervention   526
 
Bonjour,

Dans ton programme, je ne retrouve pas les opérations décrites dans ton énoncé.

Ton code contient deux traitements distincts :

- Premièrement, tu effectues des opérations en feuille 3 avec deux boucles imbriquées (i et j). Au final, les cellules C10 à M10 seront remplies avec la valeur des cellules C1371 à M1371. Je ne vois pas l'intérêt de ce traitement puisque ces valeurs ne sont pas utilisées dans la suite du programme.

- Deuxièmement, on cumule dans les plages C12:P12 à C1371:P1371 de la feuille 5 les valeurs C12 à P12 de la feuille 4 (boucle i).

De plus, je note une erreur dans la dernière ligne du cumul
Feuil5.Cells(i, "P") = Feuil5.Cells(i, "O").Value + Feuil4.Cells(p, "P").Value

A+
0
Dytta Messages postés 17 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

Effectivement , hier j'ai remarqué k il y'a une faute pour la dernière colonne.

Pour les traitements :

le premier comme vous avez dit : il s'agit de deux boucles
le i : sert à pointer sur mon portefeuille qui commence de la ligne 12 à la ligne 1371
le j: pour pointer sur les colonnes allant de C12 à P12 ( pour i = 12)


Pour vous mettre dans le bain , une fois je pointes sur une " i " donnée ,
prenons par exemple i = 12 , la macro copie cette ligne et elle la colle dans la ligne 10 ( que j'appelle "model point" ) ensuite le " j " rempli les informations de C10 à P 10.

une fois mon model point est rempli des informations qui contient le "i" dans ce cas i =12 ,
la feuille ( feuille 4 dans notre cas ) ou il y' un tableau qui sera remplie via des formules sous excel j'aurai une plage remplie ( C12 : P32 ) .
cette plage affichera des valeurs qu'on va stocker dans la feuille 5.

une fois terminer avec " i =12" on passe à i+1 ; c'est à d que le " i = 13" , la macro va faire la meme chose en copiant les informations dans la ligne "i=13" et les coller dans la ligne 10 qu'est mon model point .
j'aurai pour une deuxième fois dans le tableau de la feuille 4, d'autres valeurs ( dans la plage C12:P32) qu'on doit stocker dans la feuille 5.


NB: chaque valeur de la plage de( C12:P32) dans la feuille 4 doit etre additionner aux valeur déja stocker dans la plage (C12:P32) de la feuille 5.

la meme chose jusqu'à la fin c'est à dire jusqu'à à 1371 ligne.

et finalement on se trouve dans la ligne de model point les informations de la derniere ligne et la plage (C12:P32) de la feuille 4 mais la plage (C12:P32) de la feuille 5 on retrouve avec un cumul de toutes lignes.

c'est à dire chaque cellule de cette plage on additionner les valeurs trouvées pour pour les i informations
0
Gyrus Messages postés 3334 Date d'inscription   Statut Membre Dernière intervention   526
 
Tu m'as bien mis dans le bain ... tu m'as même noyé.
Sans fichier exemple, je ne vois pas comment trouver l'origine du défaut de calcul.

Remarque : lorsque tu écris
For j = 3 To 13
Feuil3.Cells(10, j) = Feuil3.Cells(i, j)
Next j
tu ne balayes pas les colonnes C à P mais seulement C à M.

Pour joindre un fichier : https://www.cjoint.com/

A+
0
Dytta Messages postés 17 Date d'inscription   Statut Membre Dernière intervention  
 
hhhhhh oui tu as raison , à force d'expliquer et de rentrer dans les détails sans pour autant voir les choses au concret ce n'est évident,
Bref en fait j'ai trouvé la solution et c nikel ;D
voilà:

Sub simuler()
Dim p As Integer

For i = 12 To 912
For j = 2 To 13
Feuil3.Cells(10, j) = Feuil3.Cells(i, j)
Next j
For p = 12 To 32
' repmplir la feuille resultat
Feuil5.Cells(p, "C") = Feuil5.Cells(p, "C").Value + Feuil4.Cells(p, "C").Value
Feuil5.Cells(p, "D") = Feuil5.Cells(p, "D").Value + Feuil4.Cells(p, "D").Value
Feuil5.Cells(p, "E") = Feuil5.Cells(p, "E").Value + Feuil4.Cells(p, "E").Value
Feuil5.Cells(p, "F") = Feuil5.Cells(p, "F").Value + Feuil4.Cells(p, "F").Value
Feuil5.Cells(p, "G") = Feuil5.Cells(p, "G").Value + Feuil4.Cells(p, "G").Value
Feuil5.Cells(p, "H") = Feuil5.Cells(p, "H").Value + Feuil4.Cells(p, "H").Value
Feuil5.Cells(p, "I") = Feuil5.Cells(p, "I").Value + Feuil4.Cells(p, "I").Value
Feuil5.Cells(p, "J") = Feuil5.Cells(p, "J").Value + Feuil4.Cells(p, "J").Value
Feuil5.Cells(p, "K") = Feuil5.Cells(p, "K").Value + Feuil4.Cells(p, "K").Value
Feuil5.Cells(p, "L") = Feuil5.Cells(p, "L").Value + Feuil4.Cells(p, "L").Value
Feuil5.Cells(p, "M") = Feuil5.Cells(p, "M").Value + Feuil4.Cells(p, "M").Value
Feuil5.Cells(p, "N") = Feuil5.Cells(p, "N").Value + Feuil4.Cells(p, "N").Value
Feuil5.Cells(p, "O") = Feuil5.Cells(p, "O").Value + Feuil4.Cells(p, "O").Value
Feuil5.Cells(p, "P") = Feuil5.Cells(p, "P").Value + Feuil4.Cells(p, "P").Value
Next p
Next i

Feuil5.Activate
End Sub
0