Déclaration et appel de fonction

Déclaration et appel de fonction - VB/VBA/VBS - Programmation

Marsh Posté le 31-07-2006 à 10:31:54    

Bonjour,
 
J'ai un gros problème qui me paraît pourtant très simple...Je déclare une fonction avec 2 arguments et j'ai un bug qd je l'appelle à partir d'un userform. Je fais un autre appel à partir de ce userform d'une fonction à 1 argumznt et ça marche. Je ne comprends pas ce qui ne va pas!!
Je vous explique comment je fais mes appels: number_to_ignore (TextBox1.Value) cet appel marche et list_to_ignore(TextBox2.Value, TextBox3.Value) ne marche pas (msg d'erreur: Erreur de compilation, erreur de syntaxe). Il me dit ":= attendu"
Déclaration des fonctions: Function number_to_ignore(ref As Integer) As String
                                et Function list_to_ignore(ref1 As Integer, ref2 As Integer) As String
Si vous comprenez le problème merci de me le dire!!


Message édité par acorsa le 31-07-2006 à 10:32:38
Reply

Marsh Posté le 31-07-2006 à 10:31:54   

Reply

Marsh Posté le 31-07-2006 à 10:38:59    

peut êter est-ce ton retour de fonction qui est attendu, fais tu un blabla = list_to_ignore(...) ?  

Reply

Marsh Posté le 31-07-2006 à 10:46:21    

Non??? Mais je viens d'essayer et ça ne marche pas. J'ai déclaré Public list As String et je fais list = list_to_ignore(TextBox2.Value, TextBox3.Value) après à partir de mon module je fais MsgBox UserForm.list et c vide...
De toute façon je ne fais pas ça pour la fonction à un argument et ça pourtant ça marche alors je comprends pas...

Reply

Marsh Posté le 31-07-2006 à 10:48:12    

tu peux m'envoyer ton code pour que je vois ce qui merdoit ?

Reply

Marsh Posté le 31-07-2006 à 10:51:39    

Ds Module:
Dim nti As String
Dim lti As String
 
Function number_to_ignore(ref As Integer) As String
If nti = "" Then
    nti = ref
Else
    nti = nti & "," & ref
End If
End Function
 
Function list_to_ignore(ref1 As Integer, ref2 As Integer) As String
    lti = lti & "," & ref1 & " to " & ref2
End Function
 
Ds mon Userform:
Private Sub CommandButton1_Click()
Unload UserForm4
If TextBox1.Value <> "" Then
    number_to_ignore (TextBox1.Value)
Else
    MsgBox list_to_ignore(TextBox2.Value, TextBox3.Value)
End If
End Sub
 
Merci d'avance.

Reply

Marsh Posté le 31-07-2006 à 11:13:07    


Et si, à la place de  
    MsgBox list_to_ignore(TextBox2.Value, TextBox3.Value)
tu faisais:
list_to_ignore(TextBox2.Value, TextBox3.Value)
MsgBox lti
 
??

Reply

Marsh Posté le 31-07-2006 à 11:28:08    

Function number_to_ignore(ref As Integer) As String
    If nti = "" Then
        nti = ref
    Else
        nti = nti & "," & ref
    End If
    number_to_ignore = CStr(nti)
End Function
 
Function list_to_ignore(ref1 As Integer, ref2 As Integer) As String
    lti = lti & "," & ref1 & " to " & ref2
    list_to_ignore = CStr(lti)
End Function

Reply

Marsh Posté le 31-07-2006 à 11:41:55    

Merci à vous 2 mais ça ne résoud pas le problème alors j'ai tout simplement changé ma fonction en procédure et ça marche!
Merci pour votre aide.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed