[résolu] Problème boucle Vba

zephis

XLDnaute Nouveau
Bonjour,

J'ai un problème ^^.

Voici une macro que je viens de créer :

Private Sub ok_Click()

Application.ScreenUpdating = False

nbligne = Sheets("Data").ListObjects(1).ListRows.Count + 1

countmod1open = 0

For i = 1 To numsemaine.Value

Sheets("Data").Select

For j = 2 To nbligne

If Cells(j, 6).Value = "SOA - Module 1" And Cells(j, 20).Value = "No" And Cells(j, 64).Value = 2012 And Cells(j, 65).Value = i Then

countmod1open = countmod1open + 1

End If

j = j + 1

Next

Sheets("Nb RNC par semaine").Select

Cells(2, i + 2).Value = countmod1open

i = i + 1

countmod1open = 0

Next

num_semaine.Hide

Application.ScreenUpdating = True

End Sub

J'explique vite fait à quoi elle sert. En fait, elle compte le nombre de lignes dans ma feuille "Data" qui remplissent certaines condition grâce à un compteur. Jusque là tout va bien, Mais c'est la seconde partie qui me pose problème. Elle est censée renvoyer la valeur de mon compteur dans la cellule : Cells(2, i + 2).Value = countmod1open. Et en fait, à chaque fois, ça saute une colonne (en gros, j'ai une colonne remplie, une colonne vide, etc.), alors que je voudrais que ça renvoie la valeur pour chaque colonne. Et je ne me suis pas trompée dans ma boucle, je comprends pas. :confused:
 
Dernière édition:

Grand Chaman Excel

XLDnaute Impliqué
Re : Problème boucle Vba

Bonjour zephis,

Le problème est que tu fais i = i +1 et j = j +1 dans ta boucle.
Par défaut, dans une boucle, ça s'incrémente de 1 à chaque fois.

Exemple, simplement :

Code:
For i = 1 to numsemaine.value

 ton code

next i   ' i s'incrémente de 1 automatiquement
A réviser...
 

Discussions similaires

Réponses
11
Affichages
361

Statistiques des forums

Discussions
312 582
Messages
2 089 951
Membres
104 314
dernier inscrit
Tuubibumi