Erreur d'execution 13

Résolu
ordner Messages postés 6 Statut Membre -  
ordner Messages postés 6 Statut Membre -
Bonjour,

J'ai une erreur d'execution '13': type incompatible. J'ai retourné le web et rien n'en est tombé. Pouvez-vous m'aider?

Function Edition(j As Integer)
Dim i As Integer, k As Integer
k = 1
Range("Résultats!E2") = Nomzone
If DLD = True Then
Range("Résultats!G2") = "Sur un an"
For i = 1 To 3600
If Worksheets("Saisie").Range("A1").Offset(i, j) = 1 Or Worksheets("Saisie").Range("A1").Offset(i, j) = 2 And Worksheets("Saisie").Range("A1").Offset(i, 3) = Nomzone Then
Worksheets("Résultats").Range("A4").Offset(k) = Worksheets("Saisie").Range("A1").Offset(i, 0)
Worksheets("Résultats").Range("B4").Offset(k) = Worksheets("Saisie").Range("A1").Offset(i, 1)
Worksheets("Résultats").Range("C4").Offset(k) = Worksheets("Saisie").Range("A1").Offset(i, j)
k = k + 1
End If
Next i
Else: For i = 1 To 3600
...
End If
Unload Filtre1
End Function

Je vous remercie d'avance
A voir également:

2 réponses

lermite222 Messages postés 9042 Statut Contributeur 1 191
 
Bonjour,
Offset c'est Row:Colonne mais tu met l'inverse
If Worksheets("Saisie").Range("A1").Offset(i, j) ... si c'est avec excel 2003 tu ne peu aller que jusque 256
et de plus, si j'ai bien compris ce que tu veux faire le Offset n'est pas l'idéal...
With Worksheets("Saisie")
    For i = 1 To 3600
        If .Cells(i, j) = 1 Or .Cells(i, j) = 2 Then
        
        End If
End With

Et je ne comprend pas non plus ce que tu veux faire avec NomZone ?
A+

0
ordner Messages postés 6 Statut Membre
 
Merci lermite222,
J'ai trouvé la solution, en fait je travaillais sous excel97 mais sous 2003 ça marche et c'est tout ce qu'il me faut.
Bonne journée
0