Bonjour,
Depuis ce matin je sèche sur une nouvelle difficultée concernant le code suivant :
Celui-ci fonctionne très bien en mode pas à pas et dès que je suis en mode automation le message d'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
"La méthode range de l'objet '_worksheet' a échoué" s'affiche sur la ligne de code :
Auriez-vous une suggestion à me proposer ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part Worksheets("PièceAFabriquer").Range(ManufacturingPartSupplierColumn & ManufacturingPartRow).Value = ManufacturingPartSupplier 'Enregistrement du fournisseur
Partager