retour de deux valeurs par une Fonction????

ChTi160

XLDnaute Barbatruc
Bonjour le Forum

la question est dans le Titre
j'aimerai savoir si celà est possible et dans un deuxième temps comment faire

pour que ma function Couleur me renvoie deux Arguments
Function couleur(Phase As String )
Dim Ncouleur As Byte
Dim Vpat as byte
Select Case Phase
Case 'A'
Ncouleur = 46 '.ColorIndex
VPat = xlGray8 ' .Pattern
Case 'B'
Ncouleur = 44
Vpat=XlDown
End Select
c'est là que ça se corse (comme aurait dit Napoléon)
pour retourner
couleur = Ncouleur et Vpat

End Function
et comment dans ma procèdure récupérer si celà est possible le deuxieme argument

Phase = Right(.Range('B' & ii), 1)
ValCouleur = couleur(Phase)
ValPattern = couleur(VPat) '????????????????


Merci d'avance
Amicalement
Jean Marie

Message édité par: ChTi160, à: 11/04/2005 15:45
 

myDearFriend!

XLDnaute Barbatruc
Bonsoir Jean-Marie,

Dans ta procédure, une solution consiste à créer un tableau variant intermédiaire (ci-dessous par exemple DetCoul) :

Dim Phase As String, ValCouleur As Variant, ValPattern As Variant
Dim
DetCoul As Variant
      '
      Phase = Right(.Range('B' & ii), 1)
      'Appeler la fonction et stocker le résultat dans le tableau variant DetCoul
      DetCoul = Couleur(Phase)
      '
      ValCouleur = DetCoul(0)   'Elément 0 du tableau variant
      ValPattern = DetCoul(1)   'Elément 1 du tableau variant
Et dans ce cas, ta fonction s'écrit comme ça :
Public Function Couleur(Phase As String) As Variant
Dim
Ncouleur As Byte, Vpat As Byte
      Select Case Phase
      Case 'A'
            Ncouleur = 46 '.ColorIndex
            Vpat = xlGray8 ' .Pattern
      Case 'B'
            Ncouleur = 44
            Vpat = xlDown
      End Select
      Couleur = Array(Ncouleur, Vpat)       'Retour des valeurs dans un tableau variant
End Function
Cordialement.
 

ChTi160

XLDnaute Barbatruc
Salut Didier
un moment que je ne t'ai croisé
tu avoir du taf
Arf comment n'y ai je pas pensé
tu m'as tant appris sur les tableaux que je m'en veux de ne pas y avoir pensé
moi je bidouille pas mal en ce moment car je vais être hospitalisé le 15 pour que l'on m'enlève un morceau d'os (un éclat) dans la cheville c'est pas marrant
merci encore Didier
Amicalement
Jean Marie

REEDITION

Merci Didier ça marche
bonne soirée

Message édité par: ChTi160, à: 11/04/2005 21:44
 

Discussions similaires

Réponses
19
Affichages
2 K

Statistiques des forums

Discussions
313 031
Messages
2 094 573
Membres
106 054
dernier inscrit
Mohajer