Ecriture d'une fonction dans une cellule via VBA
Bonjour,
Je souhaiterais écrire cette ligne dans une cellule:
= SI(fichierexiste("C:\Fichier1.xlsx");"OK";"File not found")
Pour cela j'ai écrit le code suivant:
Code:
CompleteRAWDataSheet.Cells(Ligne, 241) = "= SI(FichierExiste(" & Chr(34) & Liste_fichiers_forcheck(Numero_fichier) & Chr(34) & ");" & Chr(34) & "OK" & Chr(34) & ";" & Chr(34) & "File not found" & Chr(34) & ")"
Où:
1- CompleteRAWDataSheet est déclaré comme suit:
Code:
Set CompleteRAWDataSheet = Application.ActiveWorkbook.Worksheets("Dynamic RAW Data")
2- FichierExiste est la fonction Excel personnalisée codée comme suit:
Code:
1 2 3
| Function FichierExiste(nomfich As String) As Boolean
FichierExiste = Dir(nomfich) <> ""
End Function |
3- Liste_fichiers_forcheck(Numero_fichier) est le contenu de la case du tableau Liste_fichiers_forcheck qui est rempli grâce au code suivant:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| With Recherche
.FolderPath = Path
.SubFolders = False
.SortBy = sort_Name
.Execute
Nombre_fichiers = .FoundFilesCount
ReDim Liste_fichiers(Nombre_fichiers)
ReDim Liste_fichiers_forcheck(Nombre_fichiers)
'Détermine le chemin complet du fichier
For i = 1 To .FoundFilesCount
'File_Path = .Files(i).strPathName & "\[" & .Files(i).strFileName & "]"
File_Path_forcheck = .Files(i).strPathName & "\" & .Files(i).strFileName
'Liste_fichiers(Numero_fichier) = File_Path
Liste_fichiers_forcheck(Numero_fichier) = File_Path_forcheck
Numero_fichier = Numero_fichier + 1
Next
End With |
Mon soucis est qu'arriver sur cette ligne:
Code:
CompleteRAWDataSheet.Cells(Ligne, 241) = "= SI(FichierExiste(" & Chr(34) & Liste_fichiers_forcheck(Numero_fichier) & Chr(34) & ");" & Chr(34) & "OK" & Chr(34) & ";" & Chr(34) & "File not found" & Chr(34) & ")"
Excel me signale une erreur 1044: Erreur definie par l'action ou par l'objet
Et cela ne m'aide pas beaucoup...