Bonjour,

Depuis ce matin je sèche sur une nouvelle difficultée concernant le code suivant :

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
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 : Sélectionner tout - Visualiser dans une fenêtre à part
Worksheets("PièceAFabriquer").Range(ManufacturingPartSupplierColumn & ManufacturingPartRow).Value = ManufacturingPartSupplier         'Enregistrement du fournisseur
Auriez-vous une suggestion à me proposer ?