Déclaration et appel de fonction - VB/VBA/VBS - Programmation
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(...) ?  
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...
Marsh Posté le 31-07-2006 à 10:48:12
tu peux m'envoyer ton code pour que je vois ce qui merdoit ?
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.
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 
 
??
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
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. 
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