Run-time error Subscript out of range

tiesto

XLDnaute Nouveau
Bonjour je suis débutant en vba et je ne trouve pas de solution à l'erreur suivante :
Run time Error 9 subscript out of range
Celle-ci apparait sur la ligne de code ("i=..."). Le but est de détecter une date dans une liste et un produit (ligne k) pour ensuite automatiser un copier/coller chaque jour dans la cellule appropriée.

Voici mon code :
Private Sub CommandButton1_Click()

Dim i, k, r As Integer
Dim produit As String
Dim j As Date
Dim today As Date


For r = 3 To 51

produit = Sheets("Historique Base").Cells(1, r)
j = Sheets("Spread et Mid").Cells(2, 27)
i = Sheets("Historique Base").Range("B:B").Find(what:=j, LookIn:=Values).Row
k = Sheets("Spread et Mid").Range("P:p").Find(what:=produit, LookIn:=Values).Row

If produit <> "" Then
Sheets("Spread et Mid").Cells(k, 29).Value = Sheets("Historique Base").Cells(i, r).Value

Else
End If
Next r



End Sub

Merci par avance.
 

Pierrot93

XLDnaute Barbatruc
Re : Run-time error Subscript out of range

Bonjour,

petite info au passage, il est toujours préférable de tester si la valeur recherchée a été trouvée, un exemple à adapter ci-dessous :
Code:
Dim x As Range, y As Long
Set x = Sheets("Historique Base").Range("B:B").Find(j, , xlValues, xlWhole, , , False)
If Not x Is Nothing Then y = x.Row

consulte également l'aide vba sur la méthode "find", le paragraphe lié aux arguments qu'il est utile de renseigner...

bonne soirée
@+
 

Discussions similaires

Statistiques des forums

Discussions
312 345
Messages
2 087 466
Membres
103 550
dernier inscrit
ALHAERi