Une boucle qui ne rend rien

Bonjour tout le monde

je travail sur une application VBA..alors que je suis débutant en programmation VBA j'ai des problèmes si vous pouvez m'aidez s'il vous plait!

j'explique le problème ..

j'ai deux classeur l'un d'eux contient des pourcentage et l'autre contient des montant.. je dois multiplier les montants par les pourcentages et coller le résultat dans une autre feuille sur le méme classeur que les montant .. voici le code pour mieu m'expliquer.

Sub PSAP_FIN()

Dim J As Long

Dim I As Long

Dim SCR As Variant

Dim Cat As Variant

Dim temp As Variant

'''''''''''''''''''''j'initialise mes deux compteur

SCR = 0

J = 2

''''''''''''''''''''''''''''''''''''''''''''''''''j'active le classeur qui contient les montant

Workbooks("PSAP 19.xlsx").Sheets("Survenance Par Année").Activate

''''''''''''''''''''''''''''''''''''''''''''''''''je lance une boucle catégorie pour claculer pour chaque catégorie à part à la fin

For Cat = 1 To 90

''''''''''''''''''''''''''''''''''''''''''''''''''je lance ma deuxième boucle pour passer de ligne en ligne

For I = 2 To Range("A65536").End(xlUp).Row

''''''''''''''''''''''''''''''''''''''''''''''''''je vérifie si la valeur de la cellule égal à la catégorie dont je suis

If cells(I, 1) = Cat Then

''''''''''''''''''''''''''''''''''''''''''''''''''je passe maintenant au deuxième classeur et je cherche les pourcentage selon la condition qui est la date dans ce cas là..

If cells(I, 6) = 2010 Then

Workbooks("Param.xlsx").Sheets("Traité 19").Activate

temp = cells(2, 1)

ElseIf cells(I, 6) >= 2008 Then

Workbooks("Param.xlsx").Sheets("Traité 19").Activate

temp = cells(3, 1)

ElseIf cells(I, 6) >= 2005 Then

Workbooks("Param.xlsx").Sheets("Traité 19").Activate

temp = cells(5, 1)

Else: Workbooks("Param.xlsx").Sheets("Traité 19").Activate

temp = cells(8, 1)

End If

''''''''''''''''''''''''''''''''''''''''''''''''''je multiplie le montant de la cellule par le pourcentage et je lui ajoute à l'ancien somme

Workbooks("PSAP 19.xlsx").Sheets("Survenance Par Année").Activate

SCR = SCR + cells(I, 10) * temp

End If

'''''''''''''''''''''''''''''''''''''''''''''''''' je passe à la ligne suivante jusqu'à 90

Next I

''''''''''''''''''''''''''''''''''''''''''''''''''j'active à nouveau mon ancien classeur et la nouvelle feuille qui contiendra ces sommes

Workbooks("PSAP 19.xlsx").Sheets("PSAP FIN").Activate

cells(J, 3) = SCR

''''''''''''''''''''''''''''''''''''''''''''''''''je passe à la ligne suivante dans le nouveau classeur

J = J + 1

''''''''''''''''''''''''''''''''''''''''''''''''''je passe à la nouvelle catégorie

Next Cat

End Sub

le problème c'est que ça donne que des zéro.???? merci d'avance

Bonjour,

Avec les fichiers joints ça serai plus facile de t'aider je pense.

Cdt.

Bonjour

Le code se trouve dans quel fichier ? Celui des pourcentages ou des montants ?

Amcialement

Le code est dans le classeur des montants.

voilà vous trouverez ci-joint les deux classeurs dont je vous ai parlé..

Le code VBA se trouve à la feuille2 du classeur ESSAIE

mERCI

22essaie.rar (17.80 Ko)

re,

Il n'y a pas de code dans la feuille2. Attention que tu es sous excel 2007 et que tu dois sauver ton fichier au format XLSM.

Ton souci vient peut être de là. si non, merci de reposter le fichier Essaie mais au format XLSM.

Autre question aussi, pourquoi fais-tu une boucle de 1 à 90 ?

D'autre part les fichiers et feuilles ne sont pas nommés. Merci de préciser.

A te relire

Rechercher des sujets similaires à "boucle qui rend rien"