Utiliser une variable apres une boucle

Fermé
aode Messages postés 1 Date d'inscription lundi 19 août 2013 Statut Membre Dernière intervention 19 août 2013 - 19 août 2013 à 10:20
tobas Messages postés 210 Date d'inscription jeudi 23 novembre 2000 Statut Membre Dernière intervention 8 septembre 2014 - 19 août 2013 à 10:44
Bonjour,

J'ecris un programme ou une variable m'est donnee grace a un compteur dans une boucle Do While (qui est elle meme dans une boucle For Each) et je souhaiterai qu'apres la boucle Do While la variable en question garde sa valeur finale, que l'on passe au prochain Each et que cette variable continue a la prochaine boucle Do While avec la derniere valeur qu'elle avait trouve...

Si vous ne me suivez pas voici mon programme.
C'est le nl qui pose probleme.
Ce programme marche une fois mais lorsque la boucle For Each se repete ca ne marche plus car le Do While ne s'execute pas correctement a cause de ce nl.
Je ne sais pas comment faire pour que la valeur de ce nl continue d'augmenter avec l'enchainement du programme.
Merci beaucoup

Sub margin_per_client()

ThisWorkbook.Worksheets("Sales Expected Margin").Activate
nl = 2
group_number = 0

For Each cellule In Range(Cells(2, 7), Cells(2, 7).End(xlDown)).Cells
nl_bis = 1 + nl_bis
margin = 0
group_number = 1 + group_number
counter = 0


Do While Cells(nl, 7).Value = Cells(nl + 1, 7).Value
counter = counter + 1
nl = nl + 1
Loop

group_name = cellule.Value

For i = nl_bis + 1 To counter
margin = margin + Cells(i, 23)
Next i

ThisWorkbook.Worksheets("Margin Per Client").Activate
Cells(2, group_number).Value = margin / counter
Cells(1, group_number).Value = group_name
ThisWorkbook.Worksheets("Sales Expected Margin").Activate
Next cellule

End Sub



A voir également:

1 réponse

tobas Messages postés 210 Date d'inscription jeudi 23 novembre 2000 Statut Membre Dernière intervention 8 septembre 2014 24
19 août 2013 à 10:44
bonjour,
As tu fait un débogage du programme afin d'avoir les valeurs de nl au fil de la macro?
sinon je passerai par une valeur intermédiaire que j'utiliserai dans la boucle au lieu de nl
0