OVH Cloud OVH Cloud

Créer une fonction qui renvoye une liste de valeur

18 réponses
Avatar
[___FreGoLi___]
Bonjour,

Je désire ecrire une fonction qui renvoie la liste des valeurs différentes
d'une plage de cellules. (fonction complémentaire à nb.diff)

Pour le contenu de la fonction, je n'ai pas trop de problème d'algo, mais je
n'arrive pas à renvoyer une série de valeur, et que celle ci remplisse les
cellules.
Exemple de fonction:


Public Function Liste01() As Variant()

Dim Res() As Variant

ReDim Res(1)
Res(0) = "BC01"
ReDim Preserve Res(2)
Res(1) = "BC32"
ListeDiff = Res

End Function

Donc ici, je voudrai qu'elle fonctionne de manière analogue à DROITEREG qui
affecte une matrice en sortie.
Cette fonction "marche" (il n'y a pas de message d'erreur), mais quand je
l'affecte à une cellule, celle ci n'affiche que la première valeur (ici
BC01), et je n'arrive à rien en sélectionnant une place ou avec CTRL + MAJUS
+ ENTREE.

Est-ce possible à faire, et comment si c'est le cas.

Merci

8 réponses

1 2
Avatar
[___FreGoLi___]
Un bête copié collé dans les cellules B2 à B10 avec SHIFT + CTRL + ENTRE
après avoir renseigné la colonne A.
De toute façon ce n'est pas ce que je veux, car je désire obtenir une liste
contenant l'ensemble des valeurs différentes d'une sélection de cellules qui
peut être extrèmement variable en nombre, et obtenir également à la demande
le nombre de valeurs différentes, en ne comptant pas les cellules vides.
Je ne pense pas que ta formule puisse me convenir.

merci quand même
Avatar
AV
le nombre de valeurs différentes, en ne comptant pas les cellules vides.


Matricielle :
=SOMME(SI(ESTVIDE(plage);"";1/NB.SI(plage;plage)-ESTERREUR(plage)))

C'est fou ce qu'on peut faire avec les fonctions natives d'XL !
;-)
AV

Avatar
[___FreGoLi___]
et la liste des valeurs différentes ????



le nombre de valeurs différentes, en ne comptant pas les cellules vides.


Matricielle :
=SOMME(SI(ESTVIDE(plage);"";1/NB.SI(plage;plage)-ESTERREUR(plage)))

C'est fou ce qu'on peut faire avec les fonctions natives d'XL !
;-)
AV






Avatar
[___FreGoLi___]
car ta formule pour la liste ne fonctionne pas, désolé. Elle n'affiche rien
du tout



le nombre de valeurs différentes, en ne comptant pas les cellules vides.


Matricielle :
=SOMME(SI(ESTVIDE(plage);"";1/NB.SI(plage;plage)-ESTERREUR(plage)))

C'est fou ce qu'on peut faire avec les fonctions natives d'XL !
;-)
AV






Avatar
AV
et la liste des valeurs différentes ????


Voir 1° réponse
(ou le filtre élaboré avec extraction sans doublon qui fait ça aussi très bien
et très vite)
Mais bon... chacun fait comme il veut...

AV

Avatar
[___FreGoLi___]
Ta formule ne semble pas non plus marcher.
NB: on peux avoir n'importe quoi comme valeurs, y compris du texte ou des
dates ...


le nombre de valeurs différentes, en ne comptant pas les cellules vides.


Matricielle :
=SOMME(SI(ESTVIDE(plage);"";1/NB.SI(plage;plage)-ESTERREUR(plage)))

C'est fou ce qu'on peut faire avec les fonctions natives d'XL !
;-)
AV






Avatar
AV
Ta formule ne semble pas non plus marcher.
NB: on peux avoir n'importe quoi comme valeurs, y compris du texte ou des
dates ...


http://cjoint.com/?hzsQZTayQx

AV

Avatar
AV
car ta formule pour la liste ne fonctionne pas, désolé. Elle n'affiche rien
du tout


http://cjoint.com/?hzsVYEkt22

AV

1 2