Boucle dans boucle
Résolu/Fermé
calypsane
Messages postés
3
Date d'inscription
mercredi 1 avril 2015
Statut
Membre
Dernière intervention
1 avril 2015
-
1 avril 2015 à 15:48
calypsane Messages postés 3 Date d'inscription mercredi 1 avril 2015 Statut Membre Dernière intervention 1 avril 2015 - 1 avril 2015 à 17:12
calypsane Messages postés 3 Date d'inscription mercredi 1 avril 2015 Statut Membre Dernière intervention 1 avril 2015 - 1 avril 2015 à 17:12
3 réponses
Bonjour,
la boucle For i = -1000 To 0 Step 20 fait 50 itérations
la boucle For k = 0 To 69 fait 70 itérations
il y a discordance, on ne peut pas incrémenter i et k simultanément:
si on prend i comme variable de contrôle, on incrémente k de 1 a chaque tour, la valeur maxi de k sera 49.
ou alors je n'ai pas compris la question?
A+
la boucle For i = -1000 To 0 Step 20 fait 50 itérations
la boucle For k = 0 To 69 fait 70 itérations
il y a discordance, on ne peut pas incrémenter i et k simultanément:
si on prend i comme variable de contrôle, on incrémente k de 1 a chaque tour, la valeur maxi de k sera 49.
ou alors je n'ai pas compris la question?
A+
calypsane
Messages postés
3
Date d'inscription
mercredi 1 avril 2015
Statut
Membre
Dernière intervention
1 avril 2015
1 avril 2015 à 16:25
1 avril 2015 à 16:25
Bonjour,
Et à quel niveau dois-je écrire cette ligne?
Et à quel niveau dois-je écrire cette ligne?
Voilà comme j'ai compris le problème
Sub MAR()
Dim i, n, j, k
Dim general(69)
Sheets("M").Select
k=0 'initialisation de k
For i = -1000 To 0 Step 20
'incrémentation de k à chaque tour de la boucle i
'k varie de 0 à 49
k=k+1
For n = 3 To 170
If Range("A" & n) >= i And Range("A" & n) < i + 20 Then
general(k) = general(k) + Range("B" & n)
End If
Next n
Next i
Sheets("Global").Select
For j = 0 To 69
Range("B" & j + 4) = general(j)
Next j
End Sub
calypsane
Messages postés
3
Date d'inscription
mercredi 1 avril 2015
Statut
Membre
Dernière intervention
1 avril 2015
1 avril 2015 à 17:12
1 avril 2015 à 17:12
Cela fonctionne.
Merci pour votre aide!
Merci pour votre aide!