La méthode range de l'objet '_worksheet' a échoué
Bonjour,
Depuis ce matin je sèche sur une nouvelle difficultée concernant le code suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| Private Sub Supplier_Loading()
Dim ManufacturingPartRow As Integer, NumberPartRow As Integer, LastPartRow As Integer
Dim ManufacturingPartCode As String, NextManufacturingPartCode As String, ManufacturingPartSupplier As String, NextProjectCode As String
Dim Supplier As Variant
ManufacturingPartRow = FirstManufacturingPartRow 'Initialisation première ligne Tableau PièceAFabriquer
Do While Worksheets("PièceAFabriquer").Range(ManufacturingPartOrigineColumn & ManufacturingPartRow) = "A.P." 'Tant que la cellule B n'est pas vide
ManufacturingPartCode = Worksheets("PièceAFabriquer").Range(ManufacturingPartCodeColumn & ManufacturingPartRow).Value 'Récupération du Code Article ligne en cours
Call Search_Project_Code(ManufacturingPartCode) 'Récupération du Code Projet
ListingPartCodePath = ProjectPath & ListingPartCodeNameFile & "\Code_Article_" & ProjectCode & ".xlsx" 'Reconstitution du chemin du fichier Code Article
Set ListingPartCode = GetObject(ListingPartCodePath) 'Chargement du code article
NumberPartRow = ListingPartCode.Sheets("Code_Article").ListObjects("T_Codes_Articles").ListRows.Count 'Récupère le nombre de ligne dans le tableau
LastPartRow = FirstPartRow + NumberPartRow 'Calcul de la dernière ligne
With ListingPartCode.Worksheets("Code_Article").Range(PartCodeColumn & FirstPartRow & ":" & PartCodeColumn & LastPartRow) 'Définition de la plage de recherches
Set Supplier = .Find(ManufacturingPartCode, LookIn:=xlValues, LookAt:=xlWhole) 'Recherche la ligne du Code Article dans le tableau
ManufacturingPartSupplier = ListingPartCode.Worksheets("Code_Article").Range(PartSupplierColumn & Supplier.Row) 'Récupèration du fournisseur dans le tableau
End With
Worksheets("PièceAFabriquer").Range(ManufacturingPartSupplierColumn & ManufacturingPartRow).Value = ManufacturingPartSupplier 'Enregistrement du fournisseur
'
'ORIGINE ARTICLE SUIVANT
'
If Worksheets("PièceAFabriquer").Range(ManufacturingPartOrigineColumn & ManufacturingPartRow + 1) = "A.P." Then 'Si article suivant est de type A.P.
NextManufacturingPartCode = Worksheets("PièceAFabriquer").Range(ManufacturingPartCodeColumn & ManufacturingPartRow + 1).Value 'Récupération du Code Article ligne suivante
NextProjectCode = Left(NextManufacturingPartCode, 4) 'Récupération Code Projet
'
'CODE PROJET ARTICLE SUIVANT
'
If NextProjectCode <> ProjectCode Then 'Si code projet suivant est différent
ListingPartCode.Close True 'Fermeture Code Article
End If
ElseIf Worksheets("PièceAFabriquer").Range(ManufacturingPartOrigineColumn & ManufacturingPartRow + 1) = "A.M." Then 'Si article suivant est de type A.M.
ListingPartCode.Close True 'Fermeture Code Article
End If
ManufacturingPartRow = ManufacturingPartRow + 1 'Passage à la ligne suivante
Loop
End Sub |
Celui-ci fonctionne très bien en mode pas à pas et dès que je suis en mode automation le message d'erreur :
"La méthode range de l'objet '_worksheet' a échoué" s'affiche sur la ligne de code :
Code:
Worksheets("PièceAFabriquer").Range(ManufacturingPartSupplierColumn & ManufacturingPartRow).Value = ManufacturingPartSupplier 'Enregistrement du fournisseur
Auriez-vous une suggestion à me proposer ? :roll: