ORDRE ALPHABÉTIQUE

Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
- - Dernière réponse : cs_goc
Messages postés
19
Date d'inscription
samedi 25 octobre 2003
Statut
Membre
Dernière intervention
21 avril 2011
- 20 déc. 2010 à 19:16
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/52520-ordre-alphabetique

cs_goc
Messages postés
19
Date d'inscription
samedi 25 octobre 2003
Statut
Membre
Dernière intervention
21 avril 2011
-
@jcbouli

ton programme ne gère pas les espaces et autres ponctuations
et puis si on veut être rigoureux, il faudrait aussi gerer les caractères nationaux (comme les caractères accentués)

sinon on peut simplement completer ma ligne de code
n=ascw(ucase(lettre))-asc("?")
cs_jcbouli
Messages postés
9
Date d'inscription
mardi 17 février 2009
Statut
Membre
Dernière intervention
28 mai 2012
-
Bonjour michael59330

Je trouve ta recherche de caractere un peu longue, les select case à répétition sont pratiques mais on peut réduire cela avec facilité voici une petite routine qui devrait marcher :
Function position_dans_alphabet(ByVal lettre As String)
Dim Caractere, Nb As Integer
Caractere = AscW(UCase(lettre))
Select Case Caractere
Case Is >= 65, Is <= 90
Nb = Caractere - 64
Case Else
Nb = 0
End Select
Return Nb
End Function
J'ai repris les même variables que toi et le résultat obtenu est identique.Si tu préfère travailler avec des minuscules Il faut changer le Ucase par Lcase puis mettre Case Is >=97, Is <=122 et changer le calcul par NB = Caractere - 96

@ GOC
ta fonction "position_dans_alpha",tu peut la remplacer par
n=asc(lettre)-asc("?")

Oui et non cela ne retourne pas exactement le même résultat qu sa routine.
cs_ghuysmans99
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
11 -
Ton programme ne fonctionne pas sous toutes les versions de VB (t'explosera à la figure en VB6) et puis OSEF de la compatibilité avec .NET 1/1.1
cs_goc
Messages postés
19
Date d'inscription
samedi 25 octobre 2003
Statut
Membre
Dernière intervention
21 avril 2011
-
"donc, GOC, dis-moi sur quelle(s) version de .NET ça ne fonctionne pas"

tu n'as rien compris

j'en ai rien a f.. que ça fonctionne sur 1.0 ou sur x.yy. moi je préfère avoir des prog qui puissent tourner sur toutes les version de Vb
et qui, ici au moins, puissent servir a tout le monde y compris (et surtout) aux debutants

surtout qu'il semblerait que vb6 pourrait passer en Open, et donc pourrait bine se refaire une jeunesse
NHenry
Messages postés
14599
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
8 décembre 2019
137 -
"donc a moins d'avoir un VS.NET 2002 (.NET 1.0)"
Je précise que n'ayant pas cette version je n'ai pas pu testé ni vérifier la présence de cela, donc, GOC, dis-moi sur quelle(s) version de .NET ça ne fonctionne pas.