Erreur 13 le retour

Résolu/Fermé
BDLGRENOBLE - 15 juil. 2013 à 17:41
 BDLGRENOBLE - 16 juil. 2013 à 11:44
Bonjour,

Le code suivant me donne une erreur 13 sur la ligne en gras, plus particulièrement sur Cells(t,14)<>0. Quelqu'un peut-il éclairer ma lanterne, SVP? D'avance merci.

Sub Macro_12()


'
' Sheets(1).Select
For y = 2 To Sheets.Count - 4

Sheets(y).Select

Range(Cells(3, 1), Cells(1000, 4)).Copy
Sheets(1).Select
u = [a3].End(xlDown).Row + 1
Cells(u, 1).Select
ActiveSheet.Paste
Next y

Sheets("Derniers BL par référence").Select
Range("A2", Cells([A1].End(xlDown).Row, 4)).Name = "DBL"
Sheets(1).Select
'Fait la différence entre le n° de BL et les derniers BL reçus de la référence
Range("K3", Cells([a3].End(xlDown).Row, 11)).FormulaR1C1 = "=RC[-8]-VLOOKUP(RC[-10],DBL,2,FALSE)"
Range("L3", Cells([a3].End(xlDown).Row, 12)).FormulaR1C1 = "=RC[-9]-VLOOKUP(RC[-11],DBL,3,FALSE)"
Range("M3", Cells([a3].End(xlDown).Row, 13)).FormulaR1C1 = "=RC[-10]-VLOOKUP(RC[-12],DBL,4,FALSE)"
Range("N3", Cells([a3].End(xlDown).Row, 14)).FormulaR1C1 = "=RC[-1]*RC[-2]*RC[-3]"
Columns("K:N").Select
Range("K67").Activate
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False

For t = [a3].End(xlDown).Row To 3 Step -1

If IsNumeric(Cells(t, 11)) = False Or Cells(t, 14) <> 0 Then
Range(Cells(t, 1), Cells(t, 4)).Copy
Sheets("Qtés non prises en compte").Select
u = [A1].End(xlDown).Row + 1
Cells(u, 1).Select
ActiveSheet.Paste
Sheets(1).Select
End If
Next t

End Sub

2 réponses

f894009 Messages postés 17192 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 16 juin 2024 1 708
15 juil. 2013 à 18:08
Bonjour,

Quand vous avez l'erreur, clic sur debugage, mettez le curseur souris sur Cells(t, 14) pour voir la valeur de cette cellule et de t.

A suivre
0
Cells(t,14) ---> Erreur 2042
t=106 ou 101 (si je supprimais la ligne 106)

Les lignes 101 et 106 avaient #N/A comme résultat. C'était donc, je suppose, un problème de type de variable.

La solution a été d'utiliser If et ElseIF plutôt que If et Or.

Merci bcp, sans ton astuce sur le curseur pour voir, je n'aurai pas compris mon erreur.
0