Qui devrait me permettre de trouver le no,bre d'arguments qui sont passés à une fonction ou a une procedure.
Le problême; c'est que je n'arrive pas à appeler cette fonction.
Je fais de la maniere suivante :
Ecrit.nbAttributs test()
ou
Ecrit.nbAttributs test("arg1","arg2",false)
et je recois ce message d'erreur :
compile error: argument not optionnal avec test surligné. Quelqu'un pourrait il me débloquer?
Merci d avance!
(Si la réponse vous convient, appuyez sur réponse acceptée...).
jrivet
Messages postés7393Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 16 nov. 2006 à 08:53
Salut [auteurdetail.aspx?ID= 505618 tof008] , [auteurdetail.aspx?ID=401740 PCPT]
Alors tu en est où [auteurdetail.aspx?ID=505618 tof008] est ce que les liens proposés + l'aide M$ t'ont permis d'avancer? Donnes signe de vie, savoir si on se prends la tête pour quelque chose (déjà que c'est du bénévola pour nous )
[auteurdetail.aspx?ID =401740 PCPT]Si tu passes la main alors je vais essayer (mais c'est pas gagner)
@+: Ju£i?n Pensez: Réponse acceptée
tof008
Messages postés695Date d'inscriptionjeudi 5 mai 2005StatutMembreDernière intervention 5 janvier 201033 20 nov. 2006 à 09:54
Bonjour à vous!
Désolé pour le retard de réponse... J'ai testé les liens que vous m'avez donné et il s'avére que le TyPLib Information aurait pu m'$etre trés utile... Aprés quelques temps pour tout comprendre, je me suis rendu compte que ce n'était pas ca que je cherchais lol! C'est pas grave ca pourra toujours me servir.
Quand à ton code PCPT; ce n'est pas du tout de ca que j'ai besoin, mais c"est trés interressant aussi!
Je pense que je me suis mal exprimé en expliquant ce que je devait faire; en fait ce que je eux faire c'est ca :
je veux créer une fonction qui lorsque je lui donne en parametre une fonction et ces attributs (ex : addCustomer(nom,prenom)) je veux qu'elle me compte le nombre de parametre de cette fonction, (dans ce cas précis 2) et qu'elle me les donne. Donc dans ce cas, je veux que ma fonction me retourne 2 et nom et prénom.
je veux créer une fonction qui lorsque je lui donne en parametre une fonction et ces attributs (ex : addCustomer(nom,prenom)) je veux qu'elle me compte le nombre de parametre de cette fonction, (dans ce cas précis 2) et qu'elle me les donne. Donc dans ce cas, je veux que ma fonction me retourne 2 et nom et prénom.
Rien de plus! Mais je vous remercie de votre aide et de m avoir fait découvrir quelque chose que je ne connaissais pas....
Je met le réponse accepté, car je pense que ce topic pourra aider d'autres personnes!!!
(Si la réponse vous convient, appuyez sur réponse acceptée...).
PCPT
Messages postés13280Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201848 21 nov. 2006 à 23:58
salut
bon, dernier essai mais à tous les coups c'est pas non plus çà
pas grave, on tente :
Option Explicit
Private Sub Form_Load()
MsgBox LastChance("MaFonction(Param1,
Param2)")
MsgBox LastChance("MyLeft(sVariable, ""("", True)")
Unload Me
End Sub
'
'
Function LastChance(ByVal sFunction As String) As String
'je veux créer une
fonction qui lorsque je lui donne en parametre une fonction et _
ces attributs (ex :
addCustomer(nom,prenom)) je veux qu'elle me compte le nombre _
de parametre de cette fonction,
(dans ce cas précis 2) et qu'elle me les donne. _
Donc dans ce cas, je veux que ma
fonction me retourne 2 et nom et prénom.
' on enlève
le dernier ")"
sFunction = LeftB$(sFunction, LenB(sFunction) - 2)
' on découpe les params
aParams = Split(sFunction, ",")
' on ajoute les params aux
résultats
For i = 0 To UBound(aParams)
LastChance = LastChance & "PARAM
" & i + 1 & " : " & Trim$(aParams(i)) & vbCrLf
Next i
' on enlève le dernier retour chariot en
trop
LastChance = LeftB$(LastChance, LenB(LastChance) - 4)
Erase aParams
End Function 'LastChance
'
'
Private Function MyLeft(ByRef sStr As String, sSepar As String, Optional sDelete As Boolean = False)
As String
Dim lPos As Long
lPos = InStr(1, sStr, sSepar)
If lPos = 0 Then
MyLeft = vbNullString
Else
MyLeft = LeftB$(sStr, (lPos * 2) - 2)
If sDelete Then sStr = RightB$(sStr, LenB(sStr) - LenB(MyLeft) - LenB(sSepar))
End If
End Function