ERREUR 1004 VBA

Fermé
hiera - 21 juin 2011 à 10:19
melanie1324 Messages postés 1505 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 - 21 juin 2011 à 10:51
Bonjour,

je rencontre une erreur 1004 dont j'ignore l'origine dans mon code. Merci de votre aide car je coince depuis 3 jours et je suis entrain de prendre un gros retard. voici mon code:

Sub Calcul_MinNbkm()
'
' Calcul_MinNbkm Macro
' Macro enregistrée le 20/06/2011 par Administrateur
'

Dim wsCount As Integer
Dim nbFournisseurs As Integer
nbFournisseurs = Worksheets.Count - 2
wsCount = ThisWorkbook.Worksheets.Count
Dim wsResult As Excel.Worksheet, wsParam As Excel.Worksheet

Set wsResult = Application.ThisWorkbook.Worksheets("Résultat")
Set wsParam = Application.ThisWorkbook.Worksheets("Paramètres")

For i = 13 To 129 Step 1

'On parcourt les feuilles Transporteurs pour récupérer le nombre de km

For j = 1 To wsCount Step 1
If (Worksheets(j).Name <> "Résultat" And Worksheets(j).Name <> "Paramètres") Then

wsParam.Range(wsParam.Cells(i, j + 1)).Value = Worksheets(Worksheets(j).Name).Range("P" & i).Value

End If
wsResult.Range(wsResult.Cells(i, 10)).Value = WorksheetFunction.Min(wsParam.Range(wsParam.Cells(i, 4), wsParam.Cells(i, nbFournisseurs)))

Next

Next



Set wshResult = Nothing
Set wshParam = Nothing


End Sub




2 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 302
21 juin 2011 à 10:47
Bonjour

sur quelle ligne se produit l'erreur?

ici?
Set wsResult = Application.ThisWorkbook.Worksheets("Résultat") 
0
melanie1324 Messages postés 1505 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 154
21 juin 2011 à 10:51
bonjour,

En fait, il faut que tu modifies ton code comme suit :




Sub Calcul_MinNbkm()
'
' Calcul_MinNbkm Macro
' Macro enregistrée le 20/06/2011 par Administrateur
'

Dim wsCount As Integer
Dim nbFournisseurs As Integer
nbFournisseurs = Worksheets.Count - 2
wsCount = ThisWorkbook.Worksheets.Count
Dim wsResult As Excel.Worksheet, wsParam As Excel.Worksheet

Set wsResult = Application.ThisWorkbook.Worksheets("Résultat")
Set wsParam = Application.ThisWorkbook.Worksheets("Paramètres")

For i = 13 To 129 Step 1

'On parcourt les feuilles Transporteurs pour récupérer le nombre de km

For j = 1 To wsCount Step 1
If (Worksheets(j).Name <> "Résultat" And Worksheets(j).Name <> "Paramètres") Then

wsParam.select
Cells(i, j + 1).Value = Worksheets(Worksheets(j).Name).Range("P" & i).Value

End If

wsResult.select
Cells(i, 10).Value = WorksheetFunction.Min(wsParam.Range(wsParam.Cells(i, 4), wsParam.Cells(i, nbFournisseurs)))

Next

Next



Set wshResult = Nothing
Set wshParam = Nothing


End Sub

Pour info : quand tu as un souci, appuies sur F8, ca défilera ton code ligne par ligne et tu sauras laquelle pose pb.
0