Bonjour,
je me permets de reposer ma question dans cette nouvelle discussion : j'ai créé une fonction sous vba par clic droit sur le projet/insertion/Module (la fonction se contente de trouver une valeur dans un tableau) :
Je l'appelle ensuite dans une procédure qui appartient au même projet VBA :
Lorsque j'exécute le test(), j'obtiens ce message d'erreur :
Certes, j'ai créé un module pour écrire ma fonction, mais cette dernière est bien une procédure ?
J'ai également essayé dans le test d'écrire simplement "result = rechercheValeur("2011"), sans plus de succès.
Avez-vous une idée ?
Je vous remercie d'avance.
je me permets de reposer ma question dans cette nouvelle discussion : j'ai créé une fonction sous vba par clic droit sur le projet/insertion/Module (la fonction se contente de trouver une valeur dans un tableau) :
Code:
Function rechercheValeur(valeur As String) As String
'renvoi de la dernière position de la valeur dans le sens : gauche/droit puis haut/bas
Dim nbLignes, nbColonnes, abscisse, ordonnee As Integer
nbLignes = ActiveSheet.Rows.Count
nbColonnes = ActiveSheet.Columns.Count
abscisse = 0
ordonnee = 0
For i = 1 To nbLignes
For j = 1 To nbColonnes
If Cells(i, j) = valeur Then
abscisse = i
ordonnee = j
End If
Next
Next
rechercheValeur = CStr(abscisse) & " " & CStr(ordonnee)
End Function
Je l'appelle ensuite dans une procédure qui appartient au même projet VBA :
Code:
Sub test()
ActiveSheet.Select
result = Run(rechercheValeur, "2011")
MsgBox result
End Sub
Lorsque j'exécute le test(), j'obtiens ce message d'erreur :
Erreur de compilation: Variable ou procédure attendue, et non un module
Certes, j'ai créé un module pour écrire ma fonction, mais cette dernière est bien une procédure ?
J'ai également essayé dans le test d'écrire simplement "result = rechercheValeur("2011"), sans plus de succès.
Avez-vous une idée ?
Je vous remercie d'avance.