FONCTION SOUNDEX EN VISUAL BASIC 6

zavier666 Messages postés 266 Date d'inscription mardi 7 septembre 2004 Statut Membre Dernière intervention 30 avril 2009 - 21 janv. 2007 à 20:35
capricorne83 Messages postés 48 Date d'inscription mercredi 25 mai 2005 Statut Membre Dernière intervention 15 novembre 2013 - 3 avril 2007 à 11:57
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/41190-fonction-soundex-en-visual-basic-6

capricorne83 Messages postés 48 Date d'inscription mercredi 25 mai 2005 Statut Membre Dernière intervention 15 novembre 2013
3 avril 2007 à 11:57
@Thom

Merci de ton commentaire, j'y apporterai les précisions suivantes ainsi que je l'ai expliqué plus haut cette version est la version anglophone. Les accents ne sont donc pas gérés. De même que je passe systématiquement le nom à tester en majuscules je ne me préoccupes pas des caractères accentués. Pour ce qui est du cas des deux lettres consécutives, je le gére a partir de la ligne 48.
thomthom63 Messages postés 2 Date d'inscription lundi 9 mai 2005 Statut Membre Dernière intervention 3 avril 2007
3 avril 2007 à 10:27
Salut!
Ton code est pas mal du tout, mais je vois au moins deux points sur lesquels tu peux apporter une amélioration:
_ Ne pas prendre en compte les caractères accentués, car ton algo fait la distinction entre "é", "è" et "e"
_ Ne pas tenir compte des lettre consécutives identiques, pour ceux qui ne savent pas que "Pomme" prend deux "M" par exemple.

Sinon, c'est du bon boulot!

Thom
capricorne83 Messages postés 48 Date d'inscription mercredi 25 mai 2005 Statut Membre Dernière intervention 15 novembre 2013
24 janv. 2007 à 02:28
Bin...... dans une videotheque y a pas forcement que du blanche neige et les sept nains ;)
Nix Messages postés 831 Date d'inscription samedi 15 mai 1999 Statut Membre Dernière intervention 18 juillet 2009
23 janv. 2007 à 22:44
Ligne 7 : 'NomActeur = UCase("ZARA WHITE")

... Je me demande bien pour quel usage était prévu ce code initialement :-D
thierrydelepine Messages postés 521 Date d'inscription mardi 24 décembre 2002 Statut Membre Dernière intervention 11 septembre 2008 6
22 janv. 2007 à 22:24
code tres interressant, c'est vraiment une fonction qui peut servir.
zavier666 Messages postés 266 Date d'inscription mardi 7 septembre 2004 Statut Membre Dernière intervention 30 avril 2009 1
22 janv. 2007 à 16:37
Ok merci pour ces explications, tout marche comme il faut


slts!
___________________________________________________
Toujours + de VB et d'APi => API @ la Loupe
http://xav.prog.power.free.fr
capricorne83 Messages postés 48 Date d'inscription mercredi 25 mai 2005 Statut Membre Dernière intervention 15 novembre 2013
22 janv. 2007 à 14:13
Mayzz
Merci de ce compliment
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
22 janv. 2007 à 14:09
Très beau code, très instructif, bravo!
capricorne83 Messages postés 48 Date d'inscription mercredi 25 mai 2005 Statut Membre Dernière intervention 15 novembre 2013
22 janv. 2007 à 11:22
Zavier666 Salut
Le principe de ces fonctions (j'en ai fait deux en fait..... la premiere version etait buggee et pas vraiment optimisee) c'est de coder selon la méthode SOUNDEX un mot (exemple Belmondo va devenir quelque chose comme B642 ensuite il suffira de comparer chaque occurence de nom pour obtenir les homonymes). Dans mon code j'appelle la fonction par le biais de cette instruction : Analyse_Homonyme (acteur) ou acteur est le nom de l'acteur (en majuscule) la fonction renvoie ValeurCaractere qui corespond au nom codé. La seconde fonction Fonction Paire sert à eliminer les eventuels doublons dans le calcul du codage du nom. Puisque dans un premier temps les lettres sont traduites en chiffres ce qui va donner par exemple Belmondo =14532673 on peut trouver des cas ou cela va donner 1244. Dans ce dernier cas on ne gardera que 124.
Voila pour les explications. Pour ce qui est du fait que tu n'as pas de retour de valeur, as tu déclaré correctement ces variables la dans la partie "Général" de la feuille ?
Public ValeurCaractere As String
Public Resultat_Paire As String
Public PositionPaire As Integer
Public Mot_Code As String

A plus.
zavier666 Messages postés 266 Date d'inscription mardi 7 septembre 2004 Statut Membre Dernière intervention 30 avril 2009 1
21 janv. 2007 à 20:35
Ca à l'air super interessant, le code est très bien écrit, en revanche lorsque je teste ton exemple, je n'ai rien du tout comme résultat, tu peux meiux expliquer ou donner un exemple à télécharger?

slts!
___________________________________________________
Toujours + de VB et d'APi => API @ la Loupe
http://xav.prog.power.free.fr
Rejoignez-nous