Problème avec une boucle For
Résolu
tommyls1
Messages postés
2
Statut
Membre
-
tommyls1 Messages postés 2 Statut Membre -
tommyls1 Messages postés 2 Statut Membre -
Bonjour,
Je sollicite d'urgence toute aide concernant une boucle For d'une simplicité enfantine mais qui ne veut pas s'exécuter depuis 2 jours..
Le pire c'est que je suis plutôt bon en VBA à la base mais là j'avoue que je ne comprend pas. J'ai tout essayé je crois mais rien n'y fait!
Voilà le code que j'ai. Sans les boucles, cela marche très bien pour la première case, aucun problème, mais dès que je met les boucles ça me donne 0 sur la première case et ça ne lance pas la boucle...
Public Sub Calcul_devis_suite()
Dim cellule, cellule2, cellule3 As Range
Dim i, j As Long
Set cellule = ThisWorkbook.Worksheets("Etablissement Maison").Range("C19")
Set cellule3 = ThisWorkbook.Worksheets("Devis Maison").Range("B5")
Set cellule2 = ThisWorkbook.Worksheets("Devis Maison").Range("A5")
i = 1
j = 1
cellule3(j).Value = 0
For j = j To j = 17
For i = i To i = 10
If cellule(i).Value = cellule2(j).Value Then
cellule3(j).Value = cellule3(j).Value + 1
Else: cellule3(j).Value = cellule3(j).Value
End If
Next i
Next j
End Sub
C'est fait à l'ancienne j'avoue mais normalement je vois pas d'erreurs!
HELP!! pourquoi diable les boucles ne se lancent pas???
Je sollicite d'urgence toute aide concernant une boucle For d'une simplicité enfantine mais qui ne veut pas s'exécuter depuis 2 jours..
Le pire c'est que je suis plutôt bon en VBA à la base mais là j'avoue que je ne comprend pas. J'ai tout essayé je crois mais rien n'y fait!
Voilà le code que j'ai. Sans les boucles, cela marche très bien pour la première case, aucun problème, mais dès que je met les boucles ça me donne 0 sur la première case et ça ne lance pas la boucle...
Public Sub Calcul_devis_suite()
Dim cellule, cellule2, cellule3 As Range
Dim i, j As Long
Set cellule = ThisWorkbook.Worksheets("Etablissement Maison").Range("C19")
Set cellule3 = ThisWorkbook.Worksheets("Devis Maison").Range("B5")
Set cellule2 = ThisWorkbook.Worksheets("Devis Maison").Range("A5")
i = 1
j = 1
cellule3(j).Value = 0
For j = j To j = 17
For i = i To i = 10
If cellule(i).Value = cellule2(j).Value Then
cellule3(j).Value = cellule3(j).Value + 1
Else: cellule3(j).Value = cellule3(j).Value
End If
Next i
Next j
End Sub
C'est fait à l'ancienne j'avoue mais normalement je vois pas d'erreurs!
HELP!! pourquoi diable les boucles ne se lancent pas???
2 réponses
-
bonjour,
j'ai trouvé ce qui ne va pas dans tes boucles :
au lieu d'écrire :
For j = j To j = 17
For i = i To i = 10
il faut écrire
For j = j To 17
For i = i To 10
D'ailleurs, il y a un truc que je ne comprends pas dans ton code, car pour moi,
ce que tu écris ne vas rien faire :
cellule3(j).Value = cellule3(j).Value + 1
Pour moi, cellule3(j).value ne veut rien dire.
D'ailleurs, si tu écris cellule3(j).select ==> il y aura une erreur dans vba
soit tu veux dire :
cellule3.value = cellule3.value +1
soit tu veux dire
cells(i,j).value = cells(i,j)+1
==> la cellule de la ligne i et de la colonne j = cellule de la ligne i et de la colonne j +1
A moins que je sois ignorante et que ca signifie vraiment quelque chose. -
Merci Melanie1324 c'était effectivement ça...des restes d'algorithmiques que je n'ai pas vu mais je m'en suis rendu compte en envoyant le post!
Bref tout va mieux là, pour le reste tu te trompes, mon code marche bien et le fait de mettre (j) permet une boucle et les itérations...
A plus!