Probleme de boucle & variable

Bonsoir,

J'ai un problème avec le code suivant : en effet, lors de la 1ere boucle de i ça fonctionne, mais lors de la 2eme

la valeur movei prend une valeur nulle au lieu de récupérer la valeur de la cellule A5! Pourrier vous m'aider?

merci

For i = 4 To 5

movei = Range("A" & i).Value

MsgBox ("nom de la demande à aller chercher" & movei)

nomfichier = "c:\REP\" & movei & ".xls"

Workbooks.Open Filename:=nomfichier

For Each sh In ActiveWorkbook.Worksheets

If Range("F4").Value <> "1000001" Then

Range("E10000").End(xlUp).Offset(1, 0).Select

J2 = ActiveCell.Row

For j = J2 To 15 Step -1

If Range("E" & j).Value <> "" Then

Rows(j).Select

Application.CutCopyMode = False

Selection.Copy

Workbooks("Cartons semaine " & semaine & ".xls").Activate

Sheets("Cartonsperm").Select

Range("C10000").End(xlUp).Offset(1, -2).Select

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

:=False, Transpose:=False

' PENSER A AJOUTER CONCATENER NOM PRENOM

Workbooks(movei & ".xls").Activate

sh.Select

End If

Next j

End If

Next sh

MsgBox ("import fini pour le classeur" & movei)

Next i

Bonjour,

A un moment donné tu sélectionne un classeur avec Workbooks(movei & ".xls").Activate

Peut-être que dans ce classeur movei & ".xls" il n'y a pas de valeur en A5 sur la feuille sh ?

Edit : Lorsque c'est comme ça essaie en mode pas à pas en affichant la fenêtre des variables locales pour voir la valeur que prend movei

Bonsoir

Bonsoir Vba-New

Sans fichier test pas évident mais essayes

  For i = 4 To 5
    movei = ThisWorkbook.Sheets("Feuil1").Range("A" & i).Value
    MsgBox ("nom de la demande à aller chercher" & movei)
    nomfichier = "c:\REP\" & movei & ".xls"

A condition que ta feuille s'appelle "Feuil1"

merci j'avais effectivement omis de reactiver en début de boucle le classeur de départ

Par contre, j'ai un problème : ma boucle fait 2 fois le copier coller des valeurs dans chaque feuille.

J'arrive pas à trouver pourquoi!!! Grrr

MsgBox ("Vous allez importer " & nbfic & " demande(s)")

Range("A10000").End(xlUp).Offset(0, 0).Select

I2 = ActiveCell.row

MsgBox ("nom du fichier actif" & ActiveWorkbook.Name)

For I = 4 To I2

Workbooks("Cartons semaine " & semaine & ".xls").Activate

Sheets("GENERAL").Select

movei = Range("A" & I).Value

MsgBox ("nom de la demande à aller chercher" & movei)

nomfichier = "c:\REP\" & movei & ".xls"

Workbooks.Open Filename:=nomfichier

For Each sh In ActiveWorkbook.Worksheets

If sh.Name <> "Onglet Exemple" Then

MsgBox ("cas onglet different de exemple")

Range("A15").Select

ActiveCell.FormulaR1C1 = "OK"

Range("A15").Select

Selection.Copy

MsgBox ("coller" & movei)

Range("A16:A35").Select

Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _

SkipBlanks:=False, Transpose:=False

Rows("15:500").Select

Application.CutCopyMode = False

Selection.Copy

Workbooks("Cartons semaine " & semaine & ".xls").Activate

Sheets("Cartonsperm").Select

Range("A10000").End(xlUp).Offset(1, 0).Select

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

:=False, Transpose:=False

' PENSER A AJOUTER CONCATENER NOM PRENOM

Workbooks(movei & ".xls").Activate

End If

Next sh

MsgBox ("import fini pour le classeur" & movei)

Application.DisplayAlerts = False

ActiveWorkbook.Close

Application.DisplayAlerts = True

Next I

Application.DisplayAlerts = True

Bonsoir

Peut-être du au fait que dans les fichiers que tu ouvres il y a 3 feuilles

Pour plus d'aide joins un fichier

Bonne soirée

Rechercher des sujets similaires à "probleme boucle variable"