bonjour,
je me suis développé des outils personnels en VBA dans un fichier .xla.
Evolution oblige, j'aimerai pouvoir faire une fonction que l'on appellerait dans ma feuille de calcul excel par exemple =Toto(argument), et que la fonction Toto puisse aller chercher les informations dans un autre fichier excel.
La fonction focntion quand je fais des tests (du genre faire une sub qui l'appelle pour me mettre la valeur dans une msgbox), mais quand je fais le test sur la feuille avec =toto(), il me met l'erreur :"#valeur".
je ne comprends pas pourquoi.

voici le code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
Function Qx(iAge As Integer, stTable As String) As Double
Dim stFichier As String
 
 
stCheminTables = "c:\"
stFichier = "TV8890.xls"
url = stCheminTables & "\" & stFichier
 
    Workbooks.Open url
Qx = Workbooks(stFichier).Sheets(stTable).Cells(iAge + 3, 2)
    Workbooks(stFichier).Close
 
End Function
j'avoue ne pas comprendre pourquoi il refuse.

J'ai aussi une question subsidiaire : comment faire pour que mes fonctions se mettent en gras... comme les fonctions d'excel.