Trying to create a daily incrementing database using PI DataLink. I can’t seem to call the PIAdvCalcVal function in my VBA code, can you help me?

Sub MAJ_BDD_IM()

    ' Étape 1 : Retrouver le Tableau "BDD_IM"

    Dim ws As Worksheet
    Dim tbl As ListObject
    Dim tableauTrouve As Boolean
    
    tableauTrouve = False
    
    ' Parcourir toutes les feuilles du classeur

    For Each ws In ThisWorkbook.Worksheets
        ' Parcourir tous les objets de liste (tables) dans chaque feuille
        For Each tbl In ws.ListObjects
            If tbl.Name = "BDD_IM" Then
                tableauTrouve = True
                Exit For
            End If
        Next tbl
        If tableauTrouve Then Exit For
    Next ws
    
    ' Vérifier si le tableau a été trouvé
    If tableauTrouve Then
        MsgBox "Tableau trouvé"
        
        ' Étape 2 : Chercher la cellule "Date de début" dans tout le tableau
        Dim celluleDateDebut As Range
        Dim colonneDateDebutIndex As Integer
        Dim derniereValeurDateDebut As Variant
        Dim cell As Range
        
        Set celluleDateDebut = Nothing
        
        ' Rechercher la cellule "Date de début" dans tout le tableau
        On Error Resume Next
        For Each cell In tbl.Range
            If cell.Value = "Date de début" Then
                Set celluleDateDebut = cell
                Exit For
            End If
        Next cell
        On Error GoTo 0
        
        ' Vérifier si la cellule a été trouvée
        If Not celluleDateDebut Is Nothing Then
            colonneDateDebutIndex = celluleDateDebut.Column - tbl.Range.Cells(1, 1).Column + 1
            MsgBox "Cellule 'Date de début' trouvée dans la colonne " & colonneDateDebutIndex
            
            ' Trouver la dernière valeur non vide de cette colonne
            Dim colRange As Range
            Dim i As Long
            
            Set colRange = tbl.ListColumns(colonneDateDebutIndex).DataBodyRange
            For i = colRange.Rows.Count To 1 Step -1
                If Not IsEmpty(colRange.Cells(i, 1).Value) Then
                    derniereValeurDateDebut = colRange.Cells(i, 1).Value
                    Exit For
                End If
            Next i
            
            ' Vérifier si la dernière valeur correspond à la date d'hier
            Dim dateHier As Date
            dateHier = Date - 1
            
            ' Remplir les dates manquantes jusqu'à la date d'hier
            Do While derniereValeurDateDebut < dateHier
                i = i + 1
                colRange.Cells(i, 1).Value = DateAdd("d", 1, derniereValeurDateDebut)
                derniereValeurDateDebut = colRange.Cells(i, 1).Value
            Loop
            
            MsgBox "La dernière valeur ajustée à la date d'hier est : " & derniereValeurDateDebut
            
            ' Déterminer la dernière ligne non vide dans la colonne "Date de début"
            Dim derniereLigne As Long
            derniereLigne = colRange.Cells(i, 1).Row
            
            ' Récupérer la ligne de la cellule "Tag PI"
            Dim ligneTagPI As Long
            Dim celluleTagPI As Range
            Set celluleTagPI = Nothing
            On Error Resume Next
            For Each cell In tbl.Range
                If cell.Value = "Tag PI" Then
                    Set celluleTagPI = cell
                    Exit For
                End If
            Next cell
            On Error GoTo 0
            
            If Not celluleTagPI Is Nothing Then
                ligneTagPI = celluleTagPI.Row - tbl.Range.Cells(1, 1).Row + 1
                MsgBox "Cellule 'Tag PI' trouvée à la ligne " & ligneTagPI
            Else
                MsgBox "Cellule 'Tag PI' non trouvée"
                Exit Sub
            End If
            
            ' Étape 3 : Récupérer la ligne de la cellule "Type de calcul"
            Dim ligneTypeCalcul As Long
            Dim celluleTypeCalcul As Range
            Set celluleTypeCalcul = Nothing
            On Error Resume Next
            For Each cell In tbl.Range
                If cell.Value = "Type de calcul" Then
                    Set celluleTypeCalcul = cell
                    Exit For
                End If
            Next cell
            On Error GoTo 0
            
            If Not celluleTypeCalcul Is Nothing Then
                ligneTypeCalcul = celluleTypeCalcul.Row - tbl.Range.Cells(1, 1).Row + 1
                MsgBox "Cellule 'Type de calcul' trouvée à la ligne " & ligneTypeCalcul
            Else
                MsgBox "Cellule 'Type de calcul' non trouvée"
                Exit Sub
            End If
            
            ' Configuration de l'add-in PI DataLink
            Dim addIn As COMAddIn
            Dim automationObject As Object
            
            On Error Resume Next
            Set addIn = Application.COMAddIns("PI DataLink")
            On Error GoTo 0
            
            If Not addIn Is Nothing Then
                Set automationObject = addIn.Object
                MsgBox "PI DataLink add-in trouvé"
            Else
                MsgBox "PI DataLink add-in non trouvé"
                Exit Sub
            End If
            
            ' Étape 4 : Parcourir chaque cellule vide du tableau et la remplacer par "Vide"
            Dim r As Range
            Dim premiereCelluleVideTrouvee As Boolean
            premiereCelluleVideTrouvee = False
            
            For Each r In tbl.DataBodyRange
                If IsEmpty(r.Value) Then
                    ' Récupérer les valeurs des arguments
                    Dim arg1 As String, arg2 As String, arg3 As String
                    Dim arg4 As String, arg5 As String, arg6 As Variant
                    Dim arg7 As Variant, arg8 As Variant, arg9 As String
                    
                    ' Construire les références des arguments
                    arg1 = tbl.DataBodyRange.Cells(ligneTagPI, r.Column).Address(RowAbsolute:=True, ColumnAbsolute:=True)
                    arg2 = tbl.DataBodyRange.Cells(r.Row, 1).Address(RowAbsolute:=True, ColumnAbsolute:=True)
                    arg3 = tbl.DataBodyRange.Cells(r.Row, 2).Address(RowAbsolute:=True, ColumnAbsolute:=True)
                    
                    ' Déterminer la valeur de l'argument 4
                    Dim typeCalcul As String
                    typeCalcul = tbl.DataBodyRange.Cells(ligneTypeCalcul, r.Column).Value
                    
                    If typeCalcul = "total" Then
                        arg4 = "total"
                    ElseIf typeCalcul = "moyenne" Then
                        arg4 = "average (time-weighted)"
                    Else
                        arg4 = "" ' Mettre une valeur par défaut ou ignorer cette cellule
                    End If
                    
                    ' Définir les autres arguments
                    arg5 = "time-weighted"
                    arg6 = 0
                    arg7 = 1
                    arg8 = 0
                    arg9 = "" ' Argument vide
                    
                    If arg1 <> "" And arg2 <> "" And arg3 <> "" And arg4 <> "" Then
                        ' Afficher les arguments pour la première cellule vide trouvée
                        If Not premiereCelluleVideTrouvee Then
                            MsgBox "Arguments pour la première cellule vide trouvée:" & vbCrLf & _
                                   "arg1: " & arg1 & vbCrLf & _
                                   "arg2: " & arg2 & vbCrLf & _
                                   "arg3: " & arg3 & vbCrLf & _
                                   "arg4: " & arg4 & vbCrLf & _
                                   "arg5: " & arg5 & vbCrLf & _
                                   "arg6: " & arg6 & vbCrLf & _
                                   "arg7: " & arg7 & vbCrLf & _
                                   "arg8: " & arg8 & vbCrLf & _
                                   "arg9: " & arg9
                            premiereCelluleVideTrouvee = True
                        End If
                        
                        ' Construire la formule
                        Dim formule As String
                        formule = "=PIAdvCalcVal(" & _
                            arg1 & "; " & _
                            arg2 & "; " & _
                            arg3 & "; " & _
                            """" & arg4 & """; " & _
                            """" & arg5 & """; " & _
                            arg6 & "; " & _
                            arg7 & "; " & _
                            arg8 & "; " & _
                            """" & arg9 & """)"
                        
                        ' Écrire la formule dans la cellule
                        r.Formula = formule
                    Else
                        r.Value = "Vide"
                    End If
                End If
            Next r
            
        Else
            MsgBox "Cellule 'Date de début' non trouvée"
        End If
    Else
        MsgBox "Pas de tableau"
    End If
End Sub