Forum Clubic

Probleme de boucle

Bonjour, je n arrive pas a sortir de la boucle suivante, je reste bloque sur le next; une idee?

Merci.

Sub ASW()
Dim c As Variant
Dim l As Variant

For Each l In Worksheets(“Sheet2”).Range(“D8:D50”)
If l <> “” Then

m = Worksheets(“Sheet2”).Range(l, l).Value
b = Worksheets(“Sheet2”).Range(l.Offset(0, 2), l.Offset(0, 2)).Value

With Worksheets(“Sheet1”).Range(“a:z”)
Set c = .Find(m, LookIn:=xlValues)

g = Run([UIA_LOOKUP], b, Range(“DADA”), Range(c.Offset(1, 0), c.Offset(6, 0)), 4)
Range(l.Offset(0, 8), l.Offset(0, 8)).Value = g

End With
End If
Next l

End Sub

Tu aurais dû mettre ton code entre balises pour qu’il soit un peu plus lisible

Quand tu dis je reste bloqué sur le Next, ca veut dire quoi ?
Tu as un message d’erreur, la valeur de I reste constante ?

Es-tu sûr que c ne retourne pas “nothing” ?

[strike]en fait en VBA, la syntaxe For each est :

For Each PLOP in XYZ
...
Next

et non pas

For Each PLOP in XYZ
...
Next [b]PLOP[/b]

Mets le language/logiciel utilisé dans le titre du topic ;)[/strike]

edit > bêtise, veuillez m’excuser :jap:
Edité le 10/10/2007 à 22:53

:non:
La syntaxe de la boucle For est bien

For Each element In group
    [statements]
    [Exit For]
    [statements]
Next [element]

C’est vrai que l’argument est optionnel après le Next, mais le préciser explicitement n’empêche bien entendu pas le programme de fonctionner correctement.

effectivement, désolé du conseil :jap: