Error 9 - Subcript out of Range

Bericher

XLDnaute Nouveau
Bonjour a tous,
Apres de nombreuses annees a visiter le forum en profitant des reponses/questions des autres je cree ma propre discusion.
J'ai cree un code qui me permet pour chaque transaction (sur WSlist) de realiser un calcul sur un autre classeur (WScalc).
Trois etapes se succedent :
- Choisir un ligne de la liste et transferer les valeurs dans les cellules du deuxieme classeur
- Calcul (autamatique car ceux sont des formules dans les cellules)
-Copie du resultat sur la ligne correspondante sur le premier classeur

Mais le code ne veux pas se lancer a cause d'une erreur 9, je pensais comprendre sa signification mais je ne comprends pourquoi cela s'applique a mon cas, j'aurais donc besoin de vos lumieres s'il vous plait.
Code:
Sub Recherche_cost()

Dim PartQty, BoxQty As Integer
Dim Service As String
Dim Rust As Boolean
Dim Rework As Boolean
Dim i As Integer
Dim R As Integer
Dim WSlist As Worksheet
Dim WScalc As Worksheet
Dim Labour As Long

Set WSlist = Workbooks("Simu last yeart macro.xlsm").Sheets("Summary")
Set WScalc = Workbooks("CostSA.xlsm").Sheets("Control")

For i = 2 To 10

WSlist.Activate


PartQty = WSlist.Cells(i, 7).Value
BoxQty = WSlist.Cells(i, 2).Value
Service = WSlist.Cells(i, 9).Value
Labour = WSlist.Cells(i, 11).Value

If WSlist.Cells(i, 22).Value = "Yes" Then
Rust = True
Else
Rust = False
End If

If WSlist.Cells(i, 23).Value = "Yes" Then
Rework = True
Else
Rework = False
End If

WScalc.Activate

WScalc.Cells(3, 3) = PartQty
WScalc.Cells(4, 3) = BoxQty
WScalc.Cells(7, 2) = Service
WScalc.Cells(11, 3) = PartQty
WScalc.Cells(13, 3) = Labour
WScalc.Cells(14, 3) = "Light"
If Rust = True Then Cells(15, 3) = "Yes" Else Cells(15, 3) = "No"

Cells(16, 3) = "No"
If Rework = True Then Cells(17, 3) = "Yes" Else Cells(17, 3) = "No"

WSlist.Activate
WSlist.Cells(i, 23).Value = WScalc.Cells(21, 13)
Next

End Sub

Je n'ai pas fait de VBA depuis 10 mois alors je suis un peu rouille,

Je vous remercie par avance,
(dsl pour les accents, je suis a l'etranger et je n'en ai pas sur mon clavier)
 
C

Compte Supprimé 979

Guest
Re : Error 9 - Subcript out of Range

Bonjour Bericher et bienvenue en tant que nouveau posteur ;)

Apres de nombreuses annees a visiter le forum en profitant des reponses/questions des autres je cree ma propre discusion.
J'ai cree un code qui me permet pour chaque transaction (sur WSlist) de realiser un calcul sur un autre classeur (WScalc).
Trois etapes se succedent :
- Choisir un ligne de la liste et transferer les valeurs dans les cellules du deuxieme classeur
- Calcul (autamatique car ceux sont des formules dans les cellules)
-Copie du resultat sur la ligne correspondante sur le premier classeur

Mais le code ne veux pas se lancer a cause d'une erreur 9, je pensais comprendre sa signification mais je ne comprends pourquoi cela s'applique a mon cas, j'aurais donc besoin de vos lumieres s'il vous plait.
Peux-tu nous dire sur qu'elle ligne ton code s'arrête ?


Je n'ai pas fait de VBA depuis 10 mois alors je suis un peu rouille
Tu sais, le VBA c'est comme le vélo... ça ne s'oublie pas :eek:

A+
 

Bericher

XLDnaute Nouveau
Re : Error 9 - Subcript out of Range

Oups apperement mon precedent message n'est pas passe je le reecrit :

Excel ne me signale aucun bug sur une ligne particuliere, le message :" Error 9 - Subcript out of Range " apparait avant le commencement de la lecture du programme. Du moins j'en ai l'impression.

Merci pour ton aide,

On est d,accord le VBA c'est comme le velo, encore faut il avoir le gidon dans le bon sens>>>
 

Paf

XLDnaute Barbatruc
Re : Error 9 - Subcript out of Range

re,

à l'affichage du message d'erreur on peut s'orienter sur Débogage qui surlignera la ligne de code en erreur.

les noms de classeurs et de feuilles sont ils bien orthographiés ?

A+
 
C

Compte Supprimé 979

Guest
Re : Error 9 - Subcript out of Range

Re,

Tu aurais bien une référence manquante :(

Dans l'éditeur VBA, menu Outils - > référence
Regarde si tu n'en as pas une marquée [MANQUANTE]
Si OUI, décoche là

A+
 

Bericher

XLDnaute Nouveau
Re : Error 9 - Subcript out of Range

Re,

Tu aurais bien une référence manquante :(

Dans l'éditeur VBA, menu Outils - > référence
Regarde si tu n'en as pas une marquée [MANQUANTE]
Si OUI, décoche là

A+

Re,
BrunoM45, je viens de faire ce que tu proposes mais apperament rien ne manque a l'appel !
Regarde la pièce jointe 943707

Paf je connais cette utilite de debogage, je l'utilise habituellement mais elle ne met pas propose ici. J'ai seulement le droit de cliquer "OK".
Regarde la pièce jointe 943708

Merci encore, merci d'avance
 

Pièces jointes

  • The Portal1.jpg
    The Portal1.jpg
    74.8 KB · Affichages: 14
  • The Portal2.jpg
    The Portal2.jpg
    68.9 KB · Affichages: 13
C

Compte Supprimé 979

Guest
Re : Error 9 - Subcript out of Range

Bericher,

Cela vient forcément du nom d'un de tes classeurs ou du nom d'une de tes feuilles :rolleyes:

Dans ta fenêtre d'exécution essaye
Code:
Workbooks("Simu last yeart macro.xlsm").Activate
Code:
Sheets("Summary").activate
Ca ne doit pas te renvoyer d'erreur

Ensuite
Code:
Workbooks("CostSA.xlsm").Activate
Code:
Sheets("Control").Activate
Même chose

A+
 
Dernière modification par un modérateur:

Bericher

XLDnaute Nouveau
Re : Error 9 - Subcript out of Range

Erreur touvee, exactement comme tu le disais c'etait bien un probleme de noms, un 'm' de trop seulement. J'ai verifiee un peu trop vite la premiere fois.
Merci pour votre aide BrunoM45 et Paf, je penserais a verifier mon interface chaise-clavier la prochaine fois :)

Merci encore,
 

Discussions similaires

Statistiques des forums

Discussions
312 389
Messages
2 087 935
Membres
103 678
dernier inscrit
bibitm