Je n'arrive pas =E0 passer un array d'une proc=E9dure =E0 l'autre pourquoi =
,
et comment faire ?
Voici mon code
'<<<<<<
Function EstElementDEnsemble(varElement As Variant, ParamArray
arrEnsemble() As Variant) As Boolean
'LE PARAM=C9TRE 'varElement' APPARTIENT IL =C0 L'ENSEMBLE arrEnsemble
'RETOURNE 'VRAI' SI L'=C9L=C9MENT APPARTIENT =C0 L'ENSEMBLE, SINON RETOURNE
'FAUX'
Dim i As Integer
EstElementDEnsemble =3D False
For i =3D 0 To UBound(arrEnsemble)
If varElement =3D arrEnsemble(i) Then EstElementDEnsemble =3D True
Next i
End Function
'=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Sub EstElementDEnsemble_lancement()
'proc=E9dure d'essai de la fonction ci-dessus
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
FS
Bonjour,
Tu n'as pas besoin d'utiliser ParamArray pour passer un tableau en argument d'une fonction. Ni de passer un tableau délimité. Et également, par défaut, une fonction déclarée avec un résultat booléen renvoie False sauf si tu programmes explicitement le contraire. Essaye ces modifs de ton code :
'<<<<<< Function EstElementDEnsemble_1(varElement As Variant, arrEnsemble As Variant) As Boolean 'LE PARAMÉTRE 'varElement' APPARTIENT IL À L'ENSEMBLE arrEnsemble 'RETOURNE 'VRAI' SI L'ÉLÉMENT APPARTIENT À L'ENSEMBLE, SINON RETOURNE 'FAUX'
Dim i As Integer
'EstElementDEnsemble = False
For i = 0 To UBound(arrEnsemble) If varElement = arrEnsemble(i) Then EstElementDEnsemble_1 = True Next i
End Function
'=================================================================== Sub EstElementDEnsemble_lancement_1() 'procédure d'essai de la fonction ci-dessus
FS -- Frédéric SIGONNEAU Modules et modèles pour Excel : http://frederic.sigonneau.free.fr/
le Nordiste a écrit :
bonjour,
Je n'arrive pas à passer un array d'une procédure à l'autre pourquoi , et comment faire ?
Voici mon code
'<<<<<< Function EstElementDEnsemble(varElement As Variant, ParamArray arrEnsemble() As Variant) As Boolean 'LE PARAMÉTRE 'varElement' APPARTIENT IL À L'ENSEMBLE arrEnsemble 'RETOURNE 'VRAI' SI L'ÉLÉMENT APPARTIENT À L'ENSEMBLE, SINON RETOURNE 'FAUX'
Dim i As Integer
EstElementDEnsemble = False
For i = 0 To UBound(arrEnsemble) If varElement = arrEnsemble(i) Then EstElementDEnsemble = True Next i
End Function
'=================================================================== > Sub EstElementDEnsemble_lancement() 'procédure d'essai de la fonction ci-dessus
ensemble = Array("C", "F", "B", "a")
varElement = "a" MsgBox (" appartient à l'ensemble " & EstElementDEnsemble(varElement, ensemble))
End Sub
'>>>>>>>
Merci de votre aide,
Bonjour,
Tu n'as pas besoin d'utiliser ParamArray pour passer un tableau en
argument d'une fonction. Ni de passer un tableau délimité. Et également,
par défaut, une fonction déclarée avec un résultat booléen renvoie False
sauf si tu programmes explicitement le contraire.
Essaye ces modifs de ton code :
'<<<<<<
Function EstElementDEnsemble_1(varElement As Variant, arrEnsemble As
Variant) As Boolean
'LE PARAMÉTRE 'varElement' APPARTIENT IL À L'ENSEMBLE arrEnsemble
'RETOURNE 'VRAI' SI L'ÉLÉMENT APPARTIENT À L'ENSEMBLE, SINON RETOURNE
'FAUX'
Dim i As Integer
'EstElementDEnsemble = False
For i = 0 To UBound(arrEnsemble)
If varElement = arrEnsemble(i) Then EstElementDEnsemble_1 = True
Next i
End Function
'=================================================================== Sub EstElementDEnsemble_lancement_1()
'procédure d'essai de la fonction ci-dessus
FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/
le Nordiste a écrit :
bonjour,
Je n'arrive pas à passer un array d'une procédure à l'autre pourquoi ,
et comment faire ?
Voici mon code
'<<<<<<
Function EstElementDEnsemble(varElement As Variant, ParamArray
arrEnsemble() As Variant) As Boolean
'LE PARAMÉTRE 'varElement' APPARTIENT IL À L'ENSEMBLE arrEnsemble
'RETOURNE 'VRAI' SI L'ÉLÉMENT APPARTIENT À L'ENSEMBLE, SINON RETOURNE
'FAUX'
Dim i As Integer
EstElementDEnsemble = False
For i = 0 To UBound(arrEnsemble)
If varElement = arrEnsemble(i) Then EstElementDEnsemble = True
Next i
End Function
'=================================================================== > Sub EstElementDEnsemble_lancement()
'procédure d'essai de la fonction ci-dessus
ensemble = Array("C", "F", "B", "a")
varElement = "a"
MsgBox (" appartient à l'ensemble " & EstElementDEnsemble(varElement,
ensemble))
Tu n'as pas besoin d'utiliser ParamArray pour passer un tableau en argument d'une fonction. Ni de passer un tableau délimité. Et également, par défaut, une fonction déclarée avec un résultat booléen renvoie False sauf si tu programmes explicitement le contraire. Essaye ces modifs de ton code :
'<<<<<< Function EstElementDEnsemble_1(varElement As Variant, arrEnsemble As Variant) As Boolean 'LE PARAMÉTRE 'varElement' APPARTIENT IL À L'ENSEMBLE arrEnsemble 'RETOURNE 'VRAI' SI L'ÉLÉMENT APPARTIENT À L'ENSEMBLE, SINON RETOURNE 'FAUX'
Dim i As Integer
'EstElementDEnsemble = False
For i = 0 To UBound(arrEnsemble) If varElement = arrEnsemble(i) Then EstElementDEnsemble_1 = True Next i
End Function
'=================================================================== Sub EstElementDEnsemble_lancement_1() 'procédure d'essai de la fonction ci-dessus
FS -- Frédéric SIGONNEAU Modules et modèles pour Excel : http://frederic.sigonneau.free.fr/
le Nordiste a écrit :
bonjour,
Je n'arrive pas à passer un array d'une procédure à l'autre pourquoi , et comment faire ?
Voici mon code
'<<<<<< Function EstElementDEnsemble(varElement As Variant, ParamArray arrEnsemble() As Variant) As Boolean 'LE PARAMÉTRE 'varElement' APPARTIENT IL À L'ENSEMBLE arrEnsemble 'RETOURNE 'VRAI' SI L'ÉLÉMENT APPARTIENT À L'ENSEMBLE, SINON RETOURNE 'FAUX'
Dim i As Integer
EstElementDEnsemble = False
For i = 0 To UBound(arrEnsemble) If varElement = arrEnsemble(i) Then EstElementDEnsemble = True Next i
End Function
'=================================================================== > Sub EstElementDEnsemble_lancement() 'procédure d'essai de la fonction ci-dessus
ensemble = Array("C", "F", "B", "a")
varElement = "a" MsgBox (" appartient à l'ensemble " & EstElementDEnsemble(varElement, ensemble))
End Sub
'>>>>>>>
Merci de votre aide,
FS
Re,
Je ne sais pas, à la réflexion, si j'ai bien répondu à ta question. Si tu veux utiliser ParamArray, ce n'est pas un tableau qu'il faut passer à ta fonction mais la liste des valeurs à comparer à l'élément cherché. Ça donne ça :
'<<<<<< Function EstElementDEnsemble_2(varElement As Variant, ParamArray arrEnsemble() As Variant) As Boolean 'LE PARAMÉTRE 'varElement' APPARTIENT IL À L'ENSEMBLE arrEnsemble 'RETOURNE 'VRAI' SI L'ÉLÉMENT APPARTIENT À L'ENSEMBLE, SINON RETOURNE 'FAUX'
Dim i As Integer
'EstElementDEnsemble = False
For i = 0 To UBound(arrEnsemble) If varElement = arrEnsemble(i) Then EstElementDEnsemble_2 = True Next i
End Function
'=================================================================== Sub EstElementDEnsemble_lancement() 'procédure d'essai de la fonction ci-dessus
FS -- Frédéric SIGONNEAU Modules et modèles pour Excel : http://frederic.sigonneau.free.fr/
le Nordiste a écrit :
bonjour,
Je n'arrive pas à passer un array d'une procédure à l'autre pourquoi , et comment faire ?
Voici mon code
'<<<<<< Function EstElementDEnsemble(varElement As Variant, ParamArray arrEnsemble() As Variant) As Boolean 'LE PARAMÉTRE 'varElement' APPARTIENT IL À L'ENSEMBLE arrEnsemble 'RETOURNE 'VRAI' SI L'ÉLÉMENT APPARTIENT À L'ENSEMBLE, SINON RETOURNE 'FAUX'
Dim i As Integer
EstElementDEnsemble = False
For i = 0 To UBound(arrEnsemble) If varElement = arrEnsemble(i) Then EstElementDEnsemble = True Next i
End Function
'=================================================================== > Sub EstElementDEnsemble_lancement() 'procédure d'essai de la fonction ci-dessus
ensemble = Array("C", "F", "B", "a")
varElement = "a" MsgBox (" appartient à l'ensemble " & EstElementDEnsemble(varElement, ensemble))
End Sub
'>>>>>>>
Merci de votre aide,
Re,
Je ne sais pas, à la réflexion, si j'ai bien répondu à ta question.
Si tu veux utiliser ParamArray, ce n'est pas un tableau qu'il faut
passer à ta fonction mais la liste des valeurs à comparer à l'élément
cherché.
Ça donne ça :
'<<<<<<
Function EstElementDEnsemble_2(varElement As Variant, ParamArray
arrEnsemble() As Variant) As Boolean
'LE PARAMÉTRE 'varElement' APPARTIENT IL À L'ENSEMBLE arrEnsemble
'RETOURNE 'VRAI' SI L'ÉLÉMENT APPARTIENT À L'ENSEMBLE, SINON RETOURNE
'FAUX'
Dim i As Integer
'EstElementDEnsemble = False
For i = 0 To UBound(arrEnsemble)
If varElement = arrEnsemble(i) Then EstElementDEnsemble_2 = True
Next i
End Function
'=================================================================== Sub EstElementDEnsemble_lancement()
'procédure d'essai de la fonction ci-dessus
FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/
le Nordiste a écrit :
bonjour,
Je n'arrive pas à passer un array d'une procédure à l'autre pourquoi ,
et comment faire ?
Voici mon code
'<<<<<<
Function EstElementDEnsemble(varElement As Variant, ParamArray
arrEnsemble() As Variant) As Boolean
'LE PARAMÉTRE 'varElement' APPARTIENT IL À L'ENSEMBLE arrEnsemble
'RETOURNE 'VRAI' SI L'ÉLÉMENT APPARTIENT À L'ENSEMBLE, SINON RETOURNE
'FAUX'
Dim i As Integer
EstElementDEnsemble = False
For i = 0 To UBound(arrEnsemble)
If varElement = arrEnsemble(i) Then EstElementDEnsemble = True
Next i
End Function
'=================================================================== > Sub EstElementDEnsemble_lancement()
'procédure d'essai de la fonction ci-dessus
ensemble = Array("C", "F", "B", "a")
varElement = "a"
MsgBox (" appartient à l'ensemble " & EstElementDEnsemble(varElement,
ensemble))
Je ne sais pas, à la réflexion, si j'ai bien répondu à ta question. Si tu veux utiliser ParamArray, ce n'est pas un tableau qu'il faut passer à ta fonction mais la liste des valeurs à comparer à l'élément cherché. Ça donne ça :
'<<<<<< Function EstElementDEnsemble_2(varElement As Variant, ParamArray arrEnsemble() As Variant) As Boolean 'LE PARAMÉTRE 'varElement' APPARTIENT IL À L'ENSEMBLE arrEnsemble 'RETOURNE 'VRAI' SI L'ÉLÉMENT APPARTIENT À L'ENSEMBLE, SINON RETOURNE 'FAUX'
Dim i As Integer
'EstElementDEnsemble = False
For i = 0 To UBound(arrEnsemble) If varElement = arrEnsemble(i) Then EstElementDEnsemble_2 = True Next i
End Function
'=================================================================== Sub EstElementDEnsemble_lancement() 'procédure d'essai de la fonction ci-dessus
FS -- Frédéric SIGONNEAU Modules et modèles pour Excel : http://frederic.sigonneau.free.fr/
le Nordiste a écrit :
bonjour,
Je n'arrive pas à passer un array d'une procédure à l'autre pourquoi , et comment faire ?
Voici mon code
'<<<<<< Function EstElementDEnsemble(varElement As Variant, ParamArray arrEnsemble() As Variant) As Boolean 'LE PARAMÉTRE 'varElement' APPARTIENT IL À L'ENSEMBLE arrEnsemble 'RETOURNE 'VRAI' SI L'ÉLÉMENT APPARTIENT À L'ENSEMBLE, SINON RETOURNE 'FAUX'
Dim i As Integer
EstElementDEnsemble = False
For i = 0 To UBound(arrEnsemble) If varElement = arrEnsemble(i) Then EstElementDEnsemble = True Next i
End Function
'=================================================================== > Sub EstElementDEnsemble_lancement() 'procédure d'essai de la fonction ci-dessus
ensemble = Array("C", "F", "B", "a")
varElement = "a" MsgBox (" appartient à l'ensemble " & EstElementDEnsemble(varElement, ensemble))
End Sub
'>>>>>>>
Merci de votre aide,
michdenis
En supplément à ce que propose Frédéric,
Et tu pourrais remplacer cette boucle :
For i = 0 To UBound(arrEnsemble) If varElement = arrEnsemble(i) Then EstElementDEnsemble = True Next i
Par :
If IsNumeric(Application.Match(varElement, arrEnsemble, 0)) Then EstElementDEnsemble = True End If
"le Nordiste" a écrit dans le message de groupe de discussion : bonjour,
Je n'arrive pas à passer un array d'une procédure à l'autre pourquoi , et comment faire ?
Voici mon code
'<<<<<< Function EstElementDEnsemble(varElement As Variant, ParamArray arrEnsemble() As Variant) As Boolean 'LE PARAMÉTRE 'varElement' APPARTIENT IL À L'ENSEMBLE arrEnsemble 'RETOURNE 'VRAI' SI L'ÉLÉMENT APPARTIENT À L'ENSEMBLE, SINON RETOURNE 'FAUX'
Dim i As Integer
EstElementDEnsemble = False
For i = 0 To UBound(arrEnsemble) If varElement = arrEnsemble(i) Then EstElementDEnsemble = True Next i
End Function
'=================================================================== Sub EstElementDEnsemble_lancement() 'procédure d'essai de la fonction ci-dessus
ensemble = Array("C", "F", "B", "a")
varElement = "a" MsgBox (" appartient à l'ensemble " & EstElementDEnsemble(varElement, ensemble))
End Sub
'>>>>>>>
Merci de votre aide,
En supplément à ce que propose Frédéric,
Et tu pourrais remplacer cette boucle :
For i = 0 To UBound(arrEnsemble)
If varElement = arrEnsemble(i) Then EstElementDEnsemble = True
Next i
Par :
If IsNumeric(Application.Match(varElement, arrEnsemble, 0)) Then
EstElementDEnsemble = True
End If
"le Nordiste" <jean-paul.bataille@sfr.com> a écrit dans le message de groupe de discussion
: 1675d97d-139d-4bfb-a6de-7ccb8b40c629@e18g2000vbe.googlegroups.com...
bonjour,
Je n'arrive pas à passer un array d'une procédure à l'autre pourquoi ,
et comment faire ?
Voici mon code
'<<<<<<
Function EstElementDEnsemble(varElement As Variant, ParamArray
arrEnsemble() As Variant) As Boolean
'LE PARAMÉTRE 'varElement' APPARTIENT IL À L'ENSEMBLE arrEnsemble
'RETOURNE 'VRAI' SI L'ÉLÉMENT APPARTIENT À L'ENSEMBLE, SINON RETOURNE
'FAUX'
Dim i As Integer
EstElementDEnsemble = False
For i = 0 To UBound(arrEnsemble)
If varElement = arrEnsemble(i) Then EstElementDEnsemble = True
Next i
End Function
'=================================================================== Sub EstElementDEnsemble_lancement()
'procédure d'essai de la fonction ci-dessus
ensemble = Array("C", "F", "B", "a")
varElement = "a"
MsgBox (" appartient à l'ensemble " & EstElementDEnsemble(varElement,
ensemble))
For i = 0 To UBound(arrEnsemble) If varElement = arrEnsemble(i) Then EstElementDEnsemble = True Next i
Par :
If IsNumeric(Application.Match(varElement, arrEnsemble, 0)) Then EstElementDEnsemble = True End If
"le Nordiste" a écrit dans le message de groupe de discussion : bonjour,
Je n'arrive pas à passer un array d'une procédure à l'autre pourquoi , et comment faire ?
Voici mon code
'<<<<<< Function EstElementDEnsemble(varElement As Variant, ParamArray arrEnsemble() As Variant) As Boolean 'LE PARAMÉTRE 'varElement' APPARTIENT IL À L'ENSEMBLE arrEnsemble 'RETOURNE 'VRAI' SI L'ÉLÉMENT APPARTIENT À L'ENSEMBLE, SINON RETOURNE 'FAUX'
Dim i As Integer
EstElementDEnsemble = False
For i = 0 To UBound(arrEnsemble) If varElement = arrEnsemble(i) Then EstElementDEnsemble = True Next i
End Function
'=================================================================== Sub EstElementDEnsemble_lancement() 'procédure d'essai de la fonction ci-dessus
ensemble = Array("C", "F", "B", "a")
varElement = "a" MsgBox (" appartient à l'ensemble " & EstElementDEnsemble(varElement, ensemble))
End Sub
'>>>>>>>
Merci de votre aide,
Xavier
Je réponds pas à ta question mais on peut simplifier ton code ainsi
Sub EstElementDEnsemble_lancement() 'procédure d'essai de la fonction ci-dessus
ensemble = Array("C", "F", "B", "a") varElement = "a" If IsNumeric(Application.Match(varElement, ensemble, 0)) Then MsgBox "c'est dedans!" Else MsgBox "c'est pas dedans!" End If End Sub
Xavier
le Nordiste a écrit :
bonjour,
Je n'arrive pas à passer un array d'une procédure à l'autre pourquoi , et comment faire ?
Voici mon code
'<<<<<< Function EstElementDEnsemble(varElement As Variant, ParamArray arrEnsemble() As Variant) As Boolean 'LE PARAMÉTRE 'varElement' APPARTIENT IL À L'ENSEMBLE arrEnsemble 'RETOURNE 'VRAI' SI L'ÉLÉMENT APPARTIENT À L'ENSEMBLE, SINON RETOURNE 'FAUX'
Dim i As Integer
EstElementDEnsemble = False
For i = 0 To UBound(arrEnsemble) If varElement = arrEnsemble(i) Then EstElementDEnsemble = True Next i
End Function
'=================================================================== > Sub EstElementDEnsemble_lancement() 'procédure d'essai de la fonction ci-dessus
ensemble = Array("C", "F", "B", "a")
varElement = "a" MsgBox (" appartient à l'ensemble " & EstElementDEnsemble(varElement, ensemble))
End Sub
'>>>>>>>
Merci de votre aide,
Je réponds pas à ta question mais on peut simplifier ton code ainsi
Sub EstElementDEnsemble_lancement()
'procédure d'essai de la fonction ci-dessus
ensemble = Array("C", "F", "B", "a")
varElement = "a"
If IsNumeric(Application.Match(varElement, ensemble, 0)) Then
MsgBox "c'est dedans!"
Else
MsgBox "c'est pas dedans!"
End If
End Sub
Xavier
le Nordiste a écrit :
bonjour,
Je n'arrive pas à passer un array d'une procédure à l'autre pourquoi ,
et comment faire ?
Voici mon code
'<<<<<<
Function EstElementDEnsemble(varElement As Variant, ParamArray
arrEnsemble() As Variant) As Boolean
'LE PARAMÉTRE 'varElement' APPARTIENT IL À L'ENSEMBLE arrEnsemble
'RETOURNE 'VRAI' SI L'ÉLÉMENT APPARTIENT À L'ENSEMBLE, SINON RETOURNE
'FAUX'
Dim i As Integer
EstElementDEnsemble = False
For i = 0 To UBound(arrEnsemble)
If varElement = arrEnsemble(i) Then EstElementDEnsemble = True
Next i
End Function
'=================================================================== > Sub EstElementDEnsemble_lancement()
'procédure d'essai de la fonction ci-dessus
ensemble = Array("C", "F", "B", "a")
varElement = "a"
MsgBox (" appartient à l'ensemble " & EstElementDEnsemble(varElement,
ensemble))
Je réponds pas à ta question mais on peut simplifier ton code ainsi
Sub EstElementDEnsemble_lancement() 'procédure d'essai de la fonction ci-dessus
ensemble = Array("C", "F", "B", "a") varElement = "a" If IsNumeric(Application.Match(varElement, ensemble, 0)) Then MsgBox "c'est dedans!" Else MsgBox "c'est pas dedans!" End If End Sub
Xavier
le Nordiste a écrit :
bonjour,
Je n'arrive pas à passer un array d'une procédure à l'autre pourquoi , et comment faire ?
Voici mon code
'<<<<<< Function EstElementDEnsemble(varElement As Variant, ParamArray arrEnsemble() As Variant) As Boolean 'LE PARAMÉTRE 'varElement' APPARTIENT IL À L'ENSEMBLE arrEnsemble 'RETOURNE 'VRAI' SI L'ÉLÉMENT APPARTIENT À L'ENSEMBLE, SINON RETOURNE 'FAUX'
Dim i As Integer
EstElementDEnsemble = False
For i = 0 To UBound(arrEnsemble) If varElement = arrEnsemble(i) Then EstElementDEnsemble = True Next i
End Function
'=================================================================== > Sub EstElementDEnsemble_lancement() 'procédure d'essai de la fonction ci-dessus
ensemble = Array("C", "F", "B", "a")
varElement = "a" MsgBox (" appartient à l'ensemble " & EstElementDEnsemble(varElement, ensemble))
End Sub
'>>>>>>>
Merci de votre aide,
michdenis
Oublie ma suggestion. Match() ne fait pas de distinction entre minuscule et majuscule
"michdenis" a écrit dans le message de groupe de discussion :
En supplément à ce que propose Frédéric,
Et tu pourrais remplacer cette boucle :
For i = 0 To UBound(arrEnsemble) If varElement = arrEnsemble(i) Then EstElementDEnsemble = True Next i
Par :
If IsNumeric(Application.Match(varElement, arrEnsemble, 0)) Then EstElementDEnsemble = True End If
"le Nordiste" a écrit dans le message de groupe de discussion : bonjour,
Je n'arrive pas à passer un array d'une procédure à l'autre pourquoi , et comment faire ?
Voici mon code
'<<<<<< Function EstElementDEnsemble(varElement As Variant, ParamArray arrEnsemble() As Variant) As Boolean 'LE PARAMÉTRE 'varElement' APPARTIENT IL À L'ENSEMBLE arrEnsemble 'RETOURNE 'VRAI' SI L'ÉLÉMENT APPARTIENT À L'ENSEMBLE, SINON RETOURNE 'FAUX'
Dim i As Integer
EstElementDEnsemble = False
For i = 0 To UBound(arrEnsemble) If varElement = arrEnsemble(i) Then EstElementDEnsemble = True Next i
End Function
'=================================================================== Sub EstElementDEnsemble_lancement() 'procédure d'essai de la fonction ci-dessus
ensemble = Array("C", "F", "B", "a")
varElement = "a" MsgBox (" appartient à l'ensemble " & EstElementDEnsemble(varElement, ensemble))
End Sub
'>>>>>>>
Merci de votre aide,
Oublie ma suggestion.
Match() ne fait pas de distinction entre minuscule et majuscule
"michdenis" <michdenis@hotmail.com> a écrit dans le message de groupe de discussion :
F6C0A3AD-1034-49FE-9685-EF6B5BF358CA@microsoft.com...
En supplément à ce que propose Frédéric,
Et tu pourrais remplacer cette boucle :
For i = 0 To UBound(arrEnsemble)
If varElement = arrEnsemble(i) Then EstElementDEnsemble = True
Next i
Par :
If IsNumeric(Application.Match(varElement, arrEnsemble, 0)) Then
EstElementDEnsemble = True
End If
"le Nordiste" <jean-paul.bataille@sfr.com> a écrit dans le message de groupe de discussion
: 1675d97d-139d-4bfb-a6de-7ccb8b40c629@e18g2000vbe.googlegroups.com...
bonjour,
Je n'arrive pas à passer un array d'une procédure à l'autre pourquoi ,
et comment faire ?
Voici mon code
'<<<<<<
Function EstElementDEnsemble(varElement As Variant, ParamArray
arrEnsemble() As Variant) As Boolean
'LE PARAMÉTRE 'varElement' APPARTIENT IL À L'ENSEMBLE arrEnsemble
'RETOURNE 'VRAI' SI L'ÉLÉMENT APPARTIENT À L'ENSEMBLE, SINON RETOURNE
'FAUX'
Dim i As Integer
EstElementDEnsemble = False
For i = 0 To UBound(arrEnsemble)
If varElement = arrEnsemble(i) Then EstElementDEnsemble = True
Next i
End Function
'=================================================================== Sub EstElementDEnsemble_lancement()
'procédure d'essai de la fonction ci-dessus
ensemble = Array("C", "F", "B", "a")
varElement = "a"
MsgBox (" appartient à l'ensemble " & EstElementDEnsemble(varElement,
ensemble))
Oublie ma suggestion. Match() ne fait pas de distinction entre minuscule et majuscule
"michdenis" a écrit dans le message de groupe de discussion :
En supplément à ce que propose Frédéric,
Et tu pourrais remplacer cette boucle :
For i = 0 To UBound(arrEnsemble) If varElement = arrEnsemble(i) Then EstElementDEnsemble = True Next i
Par :
If IsNumeric(Application.Match(varElement, arrEnsemble, 0)) Then EstElementDEnsemble = True End If
"le Nordiste" a écrit dans le message de groupe de discussion : bonjour,
Je n'arrive pas à passer un array d'une procédure à l'autre pourquoi , et comment faire ?
Voici mon code
'<<<<<< Function EstElementDEnsemble(varElement As Variant, ParamArray arrEnsemble() As Variant) As Boolean 'LE PARAMÉTRE 'varElement' APPARTIENT IL À L'ENSEMBLE arrEnsemble 'RETOURNE 'VRAI' SI L'ÉLÉMENT APPARTIENT À L'ENSEMBLE, SINON RETOURNE 'FAUX'
Dim i As Integer
EstElementDEnsemble = False
For i = 0 To UBound(arrEnsemble) If varElement = arrEnsemble(i) Then EstElementDEnsemble = True Next i
End Function
'=================================================================== Sub EstElementDEnsemble_lancement() 'procédure d'essai de la fonction ci-dessus
ensemble = Array("C", "F", "B", "a")
varElement = "a" MsgBox (" appartient à l'ensemble " & EstElementDEnsemble(varElement, ensemble))