Déclaration procédure Sub : variable à choix multiples

Sylvain

XLDnaute Occasionnel
Bonjour,

Dans l'éditeur vba, quand on saisit
range("a65536").end(
la liste des possibilités xlup, xldown... apparaît en colonne.
Comment faire pour avoir la même chose dans nos macros (si c'est possible) ?

Merci d'avance.
 

Sylvain

XLDnaute Occasionnel
Re : Déclaration procédure Sub : variable à choix multiples

En fait ce que je voudrais c'est pouvoir faire le même type de déclaration par exemple pour une macro Tri que j'aurais réalisée, que l'on puisse avoir la liste des possibilités pour un argument.
Par exemple si je veux l'utiliser ailleurs quand j'écris mon code
call Tri(
Je voudrais qu'il me propose les 2 propriétés pour le sens
Croissant
Décroissant
Comme quand j'appelle la fonction Msgbox il me propose Vbokcancel, Vbyesno, Vbyesnocancel...
 

job75

XLDnaute Barbatruc
Re : Déclaration procédure Sub : variable à choix multiples

Re,

Réfléchissez... Comment Excel pourrait-il savoir ce que vous voulez envoyer comme argument ??? Ce peut-être une variable, une constante nombre, texte, voire rien du tout.

De toute façon ça n'existe pas, point-barre :cool:

A+
 

Sylvain

XLDnaute Occasionnel
Re : Déclaration procédure Sub : variable à choix multiples

Ok j'ai trouvé une réponse (à destination uniquement de ceux qui ne savent pas que ça n'existe pas).

Enum Sens_tri
Tri_croissant = "croissant"
Tri_décroissant = "décroissant"
End Enum

Sub Trie_tableau(tableau, Sens As Sens_tri)


End Sub
 

job75

XLDnaute Barbatruc
Re : Déclaration procédure Sub : variable à choix multiples

Re,

OK Sylvain, et merci car je n'ai encore jamais utilisé l'instruction Enum et je n'y pensais vraiment pas.

En la circonstance, ce qui s'affiche est un guide (comme pour les fonctions intégrées) montrant les arguments à utiliser.

Ce n'est pas, comme vous en parliez avec MsgBox, une liste déroulante de choix.

Mais bravo, ce fil a toute son utilité.

A+
 

Sylvain

XLDnaute Occasionnel
Re : Déclaration procédure Sub : variable à choix multiples

Ok merci, en fait je pensais qu'il y avait une solution mais je ne trouvais pas. Du coup j'ai cherché sur internet non pas en mettant VBA mais uniquement VB.

Par contre la déclaration que j'ai faite ne marche pas, enum ne semble accepter que les entiers, il faudrait faire :

Enum Sens_tri
Tri_croissant = 1
Tri_décroissant = -1
End Enum

Sub Trie_tableau(tableau,optional Sens As Sens_tri=Tri_croissant)

End Sub
 

Discussions similaires

Réponses
2
Affichages
557

Statistiques des forums

Discussions
312 334
Messages
2 087 382
Membres
103 530
dernier inscrit
dieubrice