Select case sans ordre alphabetique

Bonjour,

J'aimerais savoir si il est possible d'utiliser un select case et de contourner l'ordre alphabétique ? j'aimerai par exemple sélectionner une rues dans un combobox et que ça affiche son quartier dans un text box. Je vous joins mon fichier si besoin de plus d'explications je suis la.

merci de votre temps

Bonjour pagesalex, bonjour le forum,

De quoi parle-t-on ? Où ? Qu'est-ce que ? Bref un fichier qui ne plante pas dès qu'on lance l'userForm, des explications claires et précises si tu veux de l'aide...

Merci de votre réponse, un peu brute, mais finalement j'ai utilisé un select case avec tout les nom de quartier.

Bonjour,

Faisant pleinement confiance à ThauThème, je n'ouvre pas ton fichier !

Ceci étant, je ne vois de toute façon pas de relation directe entre Select Case et un ordre alphabétique ! Select Case est une instruction conditionnelle, et ne sert nullement à opérer un tri.

Cordialement.

un exemple :

select case a

case arbre to chemin

cells(1,1) = lettre a

end select

On es d'accord que pour tout les mots compris entre arbre et chemin la cellule A1 sera "a" ?

Or je voudrai "créer" des plage de cellule differente de celle qui se créée automatiquement avec select case

Je vous joins tout mon fichier celui ci fonctionne

13outil-bd-ok.xlsm (218.33 Ko)

On es d'accord que pour tout les mots compris entre arbre et chemin la cellule A1 sera "a" ?

Avec le code indiqué, sûrement pas !

Select Case CBrue.Value

        Case "Avenue Alain Gerbault" to " Avenue Larmartine"
             irisq = "IRIS 3301 - Arènes"
             end select
             

Avec ce code mon explication est plus claire, dans ce cas pour toute les valeur entre les deux rues afficherons ce quartier

Relis ce que tu as écrit !

Teste-le si besoin... !

le second code est bon maintenant j'aimerai créer une liste de valeur pour chaque case

C'est que tu ne l'as pas relu !

Pensez vous qu'il existe une solution a mon problème ? mon code fonctionne avec tout les noms des rues mais je voudrais créer une plage de cellule a integrer a mon select case

Bonjour,

c'est bien compliqué comme méthode.

Puisque les rues et "Irisq" sont dans une feuille excel.

il suffit de nommer la sélection (plage contenant les rues) : Baserues

nommer la sélection ( plage contenant les "Irisq") : Baseirisq

Ensuite dans la propriété de tes combobox RowSource de CBrue Basesrues et RowSource de irisq Baseirisq

Pour finir dans l'évènement Cbrue change()

irisq.listindex=Cbrue.listindex

La liste des Irisq renverra alors le même numéro de ligne que celui des rues.

Cela me mets acces refusé erreur 70

Normal si tu utilises ma méthode avec des "Rowsources" pour tes combobox …

Tu ne dois plus utiliser tes anciennes listes à l'ouverture du userform.

La combox box ne comprend pas deux listes en même temps.

L'exemple modifié avec des rowsources. par contre je ne connais pas les conséquences d'avoir suspendu l'initialisation des tes listes

à l'ouverture. ( liste rue et liste irisq )

@+

Merci beaucoup c'est exactement ce qu'il me fallait ! Heureusement que vous êtes arrivé car certains ici préfère prendre des airs supérieurs au lieu d’essayer d'aider. Encore merci

Merci beaucoup c'est exactement ce qu'il me fallait ! Heureusement que vous êtes arrivé car certains ici préfère prendre des airs supérieurs au lieu d’essayer d'aider. Encore merci

Etant visé, je vais donc te faire remarquer quelques petites choses à partir de ton dernier code cité :

Select Case CBrue.Value

        Case "Avenue Alain Gerbault" to " Avenue Larmartine"
             irisq = "IRIS 3301 - Arènes"
             end select
             

Bien que sous balises Code (contrairement au premier cité), il est au moins en partie reproduit, c'est à dire ne provient pas d'une copie dans un module, et on n'y trouve pas en plusieurs points la mise en forme opérée automatiquement par VBA (ce qui demeure un élément important lors de l'analyse d'un code) et est indenté de façon plutôt fantaisiste. Mais passons sur tout ceci, vu le volume réduit, cela n'est pas excessivement gênant... Ce que j'ai essayé de te faire comprendre c'est le libellé du Case visant à cerner le cas où une expression se situe entre deux autres (incluses). L'inclusion se définit dans l'intervalle alphabétique délimité par les deux expressions bornes, qui doivent donc elles-même se succéder dans ledit ordre alphabétique...

Je ne suis pas persuadé qu'une telle utilisation de Select Case puisse être très performante, je n'en ai pas rencontré d'usage jusqu'ici, mais elle est possible et je demeure ouvert à l'examen d'utilisation atypique qui pourraient éventuellement s'avérer intéressantes.

Mais au cas particulier, ta première expression commence au caractère 65 (A majuscule) alors que la seconde débute par le caractère 32 (espace), ce qui définit un intervalle négatif dans lequel tu ne vas pas pouvoir trouver grand chose !

C'est comme si tu initiais une boucle de 2 à 0 sans préciser un pas négatif. Tu n'aurais pas d'erreur, mais tu n'entrerais jamais dans la boucle !

Si tu n'es pas en mesure de prendre le temps d'observer le code que tu viens de citer pour débusquer une telle erreur, je suis désolé de te dire que je ne vais pas plus loin tant que tu n'apportes pas un peu plus de soin à tes demandes...

Cordialement.

Re,

Aïe ! On a morflé MFerrand... Tu crois qu'on va s'en remettre ?

Salut ThauThème !

"Mes" chats s'impatientent leur service restauration a du retard !

Rechercher des sujets similaires à "select case ordre alphabetique"