Erreur 424 objet requis

Bonjour tout le monde j'espère que vous allez bien

je viens de comprendre les tableaux structurés vba , pour cela je peux pas fixer les erreurs facilement et j'arrive pas à comprendre la raison

dans mon code y'a une erreur 424 qui dit objet requis

ligne 83 , je pense c'est un erreur de syntaxe

je peux pas partager le fichier psq c'est confidentiel

merci pour votre aide

Sub Traiter_Extract_ALTIS()
     'Repère des colonnes
     Const C_A = 1, C_B = 2, C_C = 3, C_D = 4, C_E = 5, C_F = 6, C_G = 7, C_H = 8, C_I = 9, C_J = 10, C_K = 11, C_L = 12, C_M = 13, C_N = 14, C_O = 15, C_P = 16, C_Q = 17, C_R = 18, C_S = 19, C_T = 20, C_U = 21, C_V = 22, C_W = 23, C_X = 24, C_Y = 25, C_Z = 26, C_AA = 27, C_AB = 28, C_AC = 29, C_AD = 30, C_AE = 31, C_AF = 32, C_AG = 33, C_AH = 34, C_AI = 35, C_AJ = 36, C_AK = 37, C_AL = 38, C_AM = 39, C_AN = 40, C_AO = 41, C_AP = 42, C_AQ = 43, C_AR = 44, C_AS = 45, C_AT = 46, C_AU = 47, C_AV = 48, C_AW = 49, C_AX = 50, C_AY = 51, C_AZ = 52, C_BA = 53, C_BB = 54, C_BC = 55, C_BD = 56, C_BE = 57, C_BF = 58, C_BG = 59, C_BH = 60, C_BI = 61, C_BJ = 62, C_BK = 63, C_BL = 64, C_BM = 65, C_BN = 66, C_BO = 67, C_BP = 68, C_BQ = 69, C_BR = 70, C_BS = 71, C_BT = 72, C_BU = 73, C_BV = 74, C_BW = 75, C_BX = 76

     Dim Sh_ALTIS As Worksheet, Sh_Accueil As Worksheet, Sh_N As Worksheet, Sh_N_1 As Worksheet
     Dim Tout, TbRés

     With ThisWorkbook
          Set Sh_Accueil = .Worksheets("Accueil")
          Set Sh_ALTIS = .Worksheets("Vierge")
          Set Sh_N = .Worksheets("FS_semaine N")
          Set Sh_N_1 = .Worksheets("FS_semaine N-1")
     End With
     Application.ScreenUpdating = False

     FormulesAccueil = Sh_Accueil.[M4:S13].Formula
     With Sh_ALTIS
     'Pas de lignes filtrées
          If .FilterMode Then .ShowAllData
          .AutoFilterMode = False
          'Récupération des données de l'extraction (à partir de la ligne 3)
          Tout = .UsedRange.Offset(2).Resize(.UsedRange.Rows.Count - 2).Value
          Application.DisplayAlerts = False: .Delete: Application.DisplayAlerts = True
     End With
     With ThisWorkbook: .Worksheets.Add after:=.Worksheets(.Worksheets.Count): End With
     ActiveSheet.Name = "Vierge"

     'Première ligne
     Tout(1, C_X) = IIf(Tout(2, C_O) = "", Tout(1, C_X) & " " & Tout(2, C_X), Tout(1, C_X))
     'Comptage des fiches à retenir (Col O <>"" et <>0)
     nbFiches = 0
     nbFiches = nbFiches + (Abs(Tout(1, C_O) <> "") And Tout(1, C_O) <> "0" And Tout(1, C_O) <> 0)
     'Jusqu'à l'avant-dernière
     For i = 2 To UBound(Tout) - 1
          'Compléter les valeurs des cellules fusionnées utilisées
          If Tout(i, C_S) = "" Then Tout(i, C_S) = Tout(i - 1, C_S)
          If Tout(i, C_T) = "" Then Tout(i, C_T) = Tout(i - 1, C_T)
          If Tout(i, C_AA) = "" Then Tout(i, C_AA) = Tout(i - 1, C_AA)
          If Tout(i, C_AE) = "" Then Tout(i, C_AE) = Tout(i - 1, C_AE)
          If Tout(i, C_AG) = "" Then Tout(i, C_AG) = Tout(i - 1, C_AG)
          If Tout(i, C_AI) = "" Then Tout(i, C_AI) = Tout(i - 1, C_AI)
          If Tout(i, C_AK) = "" Then Tout(i, C_AK) = Tout(i - 1, C_AK)
          If Tout(i, C_AL) = "" Then Tout(i, C_AL) = Tout(i - 1, C_AL)
          Tout(i, C_X) = IIf(Tout(i + 1, C_O) = "", Tout(i, C_X) & " " & Tout(i + 1, C_X), Tout(1, C_X))
          'Comptage des fiches à retenir (Col O <>"" et <>0)
          nbFiches = nbFiches + (Abs(Tout(i, C_O) <> "") And Tout(i, C_O) <> "0" And Tout(i, C_O) <> 0)
     Next i
     'Dernière ligne
     nbFiches = nbFiches + (Abs(Tout(i, C_O) <> "") And Tout(i, C_O) <> "0" And Tout(i, C_O) <> 0)

     'Dimensionnement du tableau résultat
     ReDim TbRés(C_A To nbFiches, 1 To C_O)
     j = 0
     For i = 1 To UBound(Tout)
          If Tout(i, C_O) <> "" Then
               j = j + 1
               TbRés(j, C_A) = Tout(i, C_O)
               TbRés(j, C_B) = Tout(i, C_S)
               TbRés(j, C_C) = Tout(i, C_T)
               TbRés(j, C_D) = Tout(i, C_W)
               TbRés(j, C_E) = Evaluate("=IFERROR(VLOOKUP(" & TbRés(1, C_A) & ",Tb_SN,5,FALSE),""NEW / à éclaircir"")")
               TbRés(j, C_F) = Tout(i, C_AA)
               Select Case TbRés(j, C_F)
                    Case "INITIALIZATION": TbRés(j, C_G) = Tout(i, C_AE)
                    Case "INSTRUCTION": TbRés(j, C_G) = Tout(i, C_AG)
                    Case "DEVELOPMENT": TbRés(j, C_G) = Tout(i, C_AI)
                    Case "OFFICIALIZATION - INDUSTRIALIZATION": TbRés(j, C_G) = Tout(i, C_AK)
                    Case Else: TbRés(j, C_G) = Tout(i, C_AL)
               End Select
               TbRés(j, C_I) = Tout(i, C_X)
               TbRés(j, C_J) = Evaluate("=IFERROR(VLOOKUP(" & TbRés(1, C_A) & ",Tb_SN,9,FALSE),""NEW / à classer"")")
               TbRés(j, C_K) = Evaluate("=IFERROR(VLOOKUP(" & TbRés(1, C_A) & ",Tb_SN,10,FALSE),""NEW / à programmer"")")
               TbRés(j, C_L) = Evaluate("=IFERROR(VLOOKUP(" & TbRés(1, C_A) & ",Tb_SN,11,FALSE),"""")")
               TbRés(j, C_M) = Evaluate("=IFERROR(VLOOKUP(" & TbRés(1, C_A) & ",Tb_SN,13,FALSE),"""")")
               TbRés(j, C_N) = Evaluate("=IFERROR(VLOOKUP(" & TbRés(1, C_A) & ",Tb_SN,14,FALSE),"""")")
               TbRés(j, C_O) = Evaluate("=IFERROR(VLOOKUP(" & TbRés(1, C_A) & ",Tb_SN,15,FALSE),"""")")
          End If
     Next i

     With Sh_N
     'Lectures des données de l'ancienne semaine N
          Tout = .[Tb_Sn].Value    '********* ligne erreur
          'Remplissage semaine N avec les données de la nouvelle extraction
          .[Tb_Sn].ClearContents
          .[Tb_Sn].ListObject.Resize .[Tb_Sn].ListObject.Range.Resize(UBound(TbRés))
          .[Tb_Sn].Value = TbRés

     End With

     ' Identification dans Tout des FS de l'ancienne semaine N absentes de la nouvelle extraction
     With WorksheetFunction
     For i = 1 To UBound(Tout)
          Tout(i, C_F) = Evaluate("=IFERROR(VLOOKUP(" & Tout(i, C_A) & ",Tb_SN,6,FALSE),""soldé ou abandonné"")")
          Tout(i, C_G) = Evaluate("=IFERROR(VLOOKUP(" & Tout(i, C_A) & ",Tb_SN,7,FALSE),""soldé ou abandonné"")")
     Next
     End With

     'Transfert vers la semaine N-1
     With Sh_N_1
          'Remplissage semaine N-1 avec les données de l'ancienne semaine N
          .[Tb_Sn_1].ClearContents
          .[Tb_Sn_1].ListObject.Resize .[Tb_Sn_1].ListObject.Range.Resize(UBound(Tout))
          .[Tb_Sn_1].Value = Tout
     End With
      Application.ScreenUpdating = True
End Sub

Bonjour Plic

vous vous en doutez, il est impossible de détecter où se situe l'erreur avec votre code qui doit faire près de 100 lignes sans disposer du fichier source.
une suggestion, mais je pense que vous avez déjà regardé. Lors de l'erreur, vous devez être positionné sur la ligne de code en erreur;
Mettez un point d'arrêt juste avant.
ré exécutez le code jusqu'au point d'arrêt. Ajoutez des espions sur toutes les variables suspectes.
çà vous permettra d'éliminer certaines pistes d'erreurs.
Bonne chance

Rechercher des sujets similaires à "erreur 424 objet requis"