Probleme d'exécution d'un bouton

darkspoilt Messages postés 254 Date d'inscription jeudi 13 janvier 2005 Statut Membre Dernière intervention 10 octobre 2013 - 28 mai 2007 à 17:04
cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 - 28 mai 2007 à 18:13
Bonjour,
j'ai créer un code provisoire afin de tester ma fonction sur click lors d'un formulaire


et il  a une erreur lorsque je click sur le bouton il m'écrit


"L"expression sur clic entrée comme paramètre de la propriété de type évènement est a l'origine d'une erreur Type défini par l'utilisateur non défini.
Le résultat de l'expression n'est pas le nom d'une macro, le nom d'une fonction définie par l'utilisateur ou [Event procédure]


Une erreur a peut être été commise lors de l'évalutation d'une fonction , d'un évène ment ou d'une macro"


mon bouton est configuré sur procédure évènementiel
Si quelqu'un voit l'erreur je le remercie d'avance


    Sub Commande0_Click()
    Dim l As Integer
    l = Ligne()
    DoCmd.TransferSpreadsheet acImport, , CA, "D:\Test\Essai.xls", 0, "K" & i
 
End Sub


Public Function Ligne() As interger




Public AppExcel             As Excel.Application
Private wbFile               As Excel.Workbook
Public i As Integer


Set AppExcel = CreateObject("Excel.Application")  ' Ouverture d'excel
If Not AppExcel Is Nothing Then
        Set wbFile = AppExcel.Workbooks.Open("D:\Test\Essai.xls", False, True) 'Ouverture du classeur
        If Not wbFile Is Nothing Then
           
            Do While Cells(i, 1).Text <> "TOTAL"
            i = i + 1
            Loop
           
             wbFile.Close
             AppExcel.Application.Quit
             Set AppExcel = Nothing
        End If
End If
End Function

1 réponse

cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 78
28 mai 2007 à 18:13
Salut
Au 1er coup d'oeil, je vois que normalement ta fonction Ligne devrait renvoyer une valeur.
Or, dans la fonction, je ne vois nulle part de :
Ligne = maValeur (syntaxe en VB6. Il me semble que c'est Return maValeur sous VB.Net)
Donc, dans Commande0_Click, I sera toujours à 0
Est-ce que la fonction DoCmd qui suit accepte une valeur nulle "K0" ? je ne pense pas.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Champion du monde de boule de cristal - 2005
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0