CONVERSION NOMBRELETTRE

Lily2Rose Messages postés 10 Date d'inscription mardi 24 novembre 2009 Statut Membre Dernière intervention 31 mars 2010 - 22 mars 2010 à 15:10
mimiZanzan Messages postés 301 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 17 décembre 2017 - 25 mars 2010 à 23:03
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/51486-conversion-nombrelettre

mimiZanzan Messages postés 301 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 17 décembre 2017
25 mars 2010 à 23:03
Ce qui est encore + bizarre, c'est que la source dont parle SECHAUD est d'un certain LEMLEM qui l'a publiée le 06/02/2007, mais que la même source (identique au copie-coller) est aussi visible sur le site suivant
http://pagesperso-orange.fr/gerard.g/logexl_05.htm...
On dirait que pas mal veulent se l'approprier, et on ne sait plus qui l'a réellement créée! En tout cas, ce n'est pas GAROUI1, et elle n'a donc pas sa place ici.
En ce qui me concerne, je l'utilise dans quelques-uns de mes programmes depuis + de 2 ans, car elle fonctionne très bien. J'ai d'ailleurs déposé un code sur VB France qui s'en sert (FACTURATION ET GESTION DE VENTES ARTICLES), mais j'ai eu la correction au début du module correspondant (que j'ai appelé "Convertisseur") de mentionner qu'il n'était pas de moi.
Un administrateur VB peut-il donner son avis sur ce sujet?
Merci d'avance.
Sechaud Messages postés 288 Date d'inscription jeudi 28 octobre 2004 Statut Membre Dernière intervention 3 janvier 2017
25 mars 2010 à 20:23
Sechaud Messages postés 288 Date d'inscription jeudi 28 octobre 2004 Statut Membre Dernière intervention 3 janvier 2017
25 mars 2010 à 20:20
Effectivement, on trouve le même code très facilement
et ici http://files.codes-sources.com/fichier.aspx?id=425
on a le zip avec un Form avec toutes les options qui marchent.
mimiZanzan Messages postés 301 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 17 décembre 2017
25 mars 2010 à 18:10
GAROUI1,

C'est bizarre, on trouve sur le web une fonction Excel "NbLettre.xla", simplement en
tapant sur Google "ConvNumberLetter".
C'est exactement le même code que celui que tu proposes ici...
N'est-ce-pas s'approprier un code déjà développé par qq d'autre?
En plus, je pense que tu es un peu prétentieux de le mettre en catégorie "Expert"!
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
24 mars 2010 à 16:50
Très bon code garoui1,
la régle des 31 ,41 etc est respectée.Pour ceux qui voudrait l'utiliser dans Excel. Ajouté comme l'a dit SECHAUD: Text2.Text = ConvNumberLetter à la fin de la fonction: Public Function ConvNumberLetter.
Par contre ConvNumberLetter (Val(Text1.Text)) ne marche pas sous Excel. Vous pouvez mettre pour avoir une traduction simultanée :
Private Sub TextBox1_Change()
ConvNumberLetter (TextBox1.Text)
End Sub
Mettre tout cela dans un UserForm.
@+ Le Pivert
Sechaud Messages postés 288 Date d'inscription jeudi 28 octobre 2004 Statut Membre Dernière intervention 3 janvier 2017
24 mars 2010 à 08:52
YOHAN49 il me semble que tu considères que c'est moi l'auteur du programme. Ce n'est pas le cas.
Tu dis "la c sur tes fonction sont dans une forme , fais un module plutot,
dans les parametre des fonction de ton module"
L'auteur c'est garoui1....
Moi je suis simplement intervenu car VICOSTA disait que le programme ne marchait pas en VB6.
J'ai simplement indiqué une façon de vérifier le fonctionnement correct en VB6, pour la conversion d'entiers.
Je ne me suis pas occupé des options Devise et langue et je n'ai pas cherché à traiter le problème des
nombres décimaux.
C'est le programme de garoui, c'est lui qui voit s'il ajoute un Zip ou pas.

Bien sûr on pourrait faire un module, mais un module n'est valable que si le programme comporte plusieurs Forms et que dans ces Forms on fait appel aux mêmes fonctions. Ici ce n'est pas le cas et il n'y avait pas lieu d'en faire un, mais ton idée est bonne si on veut rendre le code plus universel.
yohan49 Messages postés 380 Date d'inscription samedi 22 janvier 2005 Statut Membre Dernière intervention 13 août 2011 7
23 mars 2010 à 22:30
tu n'a pas compris , la c sur tes fonction sont dans une forme , fais un module plutot,
dans les parametre des fonction de ton module , ne met que des generic int , string ...
et surtout pas de controles
ce que tu a fais c tres bien , je dis pas le contraire :)

ps : pourkoi ne pas en faire une DLL , si ce genre de fonction peut etre amené a etre reutilisé autre par :)
vicosta Messages postés 178 Date d'inscription lundi 5 juin 2006 Statut Membre Dernière intervention 30 novembre 2011
23 mars 2010 à 20:08
Voila je sais maintenant pourkoi ça me donnais un erreur: le code n'accepte pas chiffres avec des decimales.
Sechaud Messages postés 288 Date d'inscription jeudi 28 octobre 2004 Statut Membre Dernière intervention 3 janvier 2017
23 mars 2010 à 19:54
Yohan49, as-tu essayé le code?.
On peut le réutiliser à volonté.
Il suffit d'écrire un nombre dans Text1 et dès que l'on presse Command1
on a la conversion dans Text2.
Evidemment je n'ai pas utilisé l'option langue mais chacun peut la gérer selon son pays.
Entre parenthèses, j'ai remarqué que les règles d'orthographe pour vingt et cent sont
parfaitement appliquées. Un nouveau bon point pour garoui1.
yohan49 Messages postés 380 Date d'inscription samedi 22 janvier 2005 Statut Membre Dernière intervention 13 août 2011 7
23 mars 2010 à 16:12
Sechaud , il vaut mieu ne pas faire ce que tu a fais , mais plutot revoyer un String sur la fonction , comme ca le code peut etre reutilisé
Sechaud Messages postés 288 Date d'inscription jeudi 28 octobre 2004 Statut Membre Dernière intervention 3 janvier 2017
23 mars 2010 à 13:31
VICOSTA, chez moi en VB6, ça marche très bien.
Mets deux TextBox et un Bouton

A la fin de la Fonction =>
Public Function ConvNumberLetter(Nombre As Double,.....
If Left(ConvNumberLetter, 1) " " Then ConvNumberLetter _
Right(ConvNumberLetter, Len(ConvNumberLetter) - 1) If Right(ConvNumberLetter, 1) " " Then ConvNumberLetter _
Left(ConvNumberLetter, Len(ConvNumberLetter) - 1)

J'ai ajouté =>
Text2.Text = ConvNumberLetter
End Function

PUIS j'ai mis ça dans le Bouton
Private Sub Command1_Click()
ConvNumberLetter (Val(Text1.Text))
End Sub

Comme tu dis et comme je l'ai dit aussi, garoui1 devrait mettre un Zip.
vicosta Messages postés 178 Date d'inscription lundi 5 juin 2006 Statut Membre Dernière intervention 30 novembre 2011
23 mars 2010 à 12:51
Bravo pour le travail, c'est dômage que sur vb6 ça ne fonctionne pas :(
Un Zip du project serait donc le bienvenu
Sechaud Messages postés 288 Date d'inscription jeudi 28 octobre 2004 Statut Membre Dernière intervention 3 janvier 2017
23 mars 2010 à 07:42
Félicitations pour ton code.
Tu aurais du mettre un zip.
Lily2Rose Messages postés 10 Date d'inscription mardi 24 novembre 2009 Statut Membre Dernière intervention 31 mars 2010
22 mars 2010 à 15:10
Bravo! :)