VBA : Next sans For

Pino12

XLDnaute Junior
Bonjour,

Lors de l’exécution d'une macro Excel me renvoie le message d'erreur "Next sans For"

Pourtant voici le code et il y a bien autant de Next que de for:

'Sub Ventes et stocks test

Dim f$, h&, c As Range, fichb$, ficha$, n As Long

f = "Ventes et Stocks Magasins"
h = Application.Match("TOTAL", [C:C], 0) - 9

Application.ScreenUpdating = False
Application.DisplayAlerts = False

For Each c In Range("E8", Cells(8, Columns.Count).End(xlToLeft))
If c = "Vtes" Then

fichb = "H:\DC_01\Data Sharing\Semaines étudiées\[Litté S" & Val(Replace(c(0, 0), "Semaine", "")) & ".xlsx]"
ficha = "H:\DC_01\Data Sharing\Semaines étudiées\[Litté S" & Val(Replace(c(0, 0), "Semaine", "") + n) & ".xlsx]"

c(2).Resize(h) = "=IFERROR(VLOOKUP(RC1,'" & fichb & f & "'!R4C1:R20000C22,21,0),0)"


For n = 0 To -10

c(2, 2).Resize(h) = "=IFERROR(VLOOKUP(RC1,'" & ficha & f & "'!R4C1:R20000C22,22,0),0)"

If Val(c(2, 2).Resize(h)) <> 0 Then

Exit For

Next

End If

Next

End Sub

Etant débutant en VB et Vba, je n'ai pas de solution: Pouvez-vous m'aider?
Merci d'avance
 

camarchepas

XLDnaute Barbatruc
Re : VBA : Next sans For

Bonjour ,

@ Bonjour Juls (Et oui tout à fait raison)

Comme cela , ça devrait aller mieux

Code:
Sub Ventes et stocks test
 Dim f$, h&, c As Range, fichb$, ficha$, n As Long
  
 f = "Ventes et Stocks Magasins"
 h = Application.Match("TOTAL", [C:C], 0) - 9 
 Application.ScreenUpdating = False
 Application.DisplayAlerts = False
 
  For Each c In Range("E8", Cells(8, Columns.Count).End(xlToLeft))
    If c = "Vtes" Then
       fichb = "H:\DC_01\Data Sharing\Semaines étudiées\[Litté S" & Val(Replace(c(0, 0), "Semaine", "")) & ".xlsx]"
       ficha = "H:\DC_01\Data Sharing\Semaines étudiées\[Litté S" & Val(Replace(c(0, 0), "Semaine", "") + n) & ".xlsx]"

       c(2).Resize(h) = "=IFERROR(VLOOKUP(RC1,'" & fichb & f & "'!R4C1:R20000C22,21,0),0)"

       For n = 0 To -10
         c(2, 2).Resize(h) = "=IFERROR(VLOOKUP(RC1,'" & ficha & f & "'!R4C1:R20000C22,22,0),0)"
         If Val(c(2, 2).Resize(h)) <> 0 Then Exit For
       Next 
    End If
  Next
 
End Sub
 

Pierrot93

XLDnaute Barbatruc
Re : VBA : Next sans For

Bonjour,

ton "end if" devrait être avant le "next", précise également le compteur concerné par les "next" :
Code:
Next c

bonne journée
@+

Edition : bonjour camarchepas... aarf pas vu le premier "if", moi
 
Dernière édition:

Discussions similaires

Réponses
1
Affichages
168

Statistiques des forums

Discussions
312 286
Messages
2 086 791
Membres
103 392
dernier inscrit
doc_banane