![]() |
| Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé. | |||||||
|
|||||||
![]() |
|
|
Outils de la discussion |
|
|
#7 (permalink) |
|
Inscrit(e)
Date d'inscription: juillet 2007
Localisation: au pays de la liberté d'esprit
Messages: 3 109
|
Bonjour,
Si ton séparateur est bien le point et que ce que tu récupères est bien de type numérique (et pas string) : Code :
Dim toto As Single, resul As Single toto = 4025.83 'Il est iumportant de passer par resul déclaré en single (sinon ===>> 82.999999....) resul = (toto - Int(toto)) * 100 MsgBox resul Code :
resul = (toto * 100 Mod Int(toto))
__________________
Deux points essentiels à mes yeux : 1) Je ne regarde ni n'analyse aucun fichier joint, mais uniquement les portions de code incluses et donc affichées et commentées dans une discussion. 2) j'abandonne carrément (et sans appel) ma participation à une discussion dès lors qu'est posée une seconde question différente de la première (et ce, même si, dans l'esprit du demandeur, la 2ème est "complémentaire" de la 1ère). 3) ATTENTION : si je reçois un MP relatif à une question technique sans mon consentement ou mon invite à le faire ===>> a) je n'y réponds pas et b) je fais en sorte que l'expéditeur ne puisse plus m'adresser de MP |
|
|
|
|
|
#9 (permalink) |
![]() |
Bonjour
C'est avant tout un problème de math (voire un problème d'arithmétique) Il faut vraiment y mettre du tien si tu ne veux pas décourager les contributeurs de ce forum... Code :
Sub Test() Dim toto Dim nombre toto = 45.0056788 nombre = 4 toto = Int((toto - Int(toto)) * 10 ^ nombre) toto = Format(toto, String(nombre, "0")) End Sub Si tu veux 5 décimales, tu adaptes en modifiant la valeur de Nombre... Forme condensée Code :
toto = 45.0056788 nombre = 4 toto = Format(Int((toto - Int(toto)) * 10 ^ nombre), String(nombre, "0")) Ceci n'est jamais que le regroupement de tes nombreuses questions qui tirent tous azimuts. Tu dois, si tu veux progresser, comprendre ce que tu fais et empiler tes briques de connaissances...
__________________
Pierre Fauconnier -------------------- "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire) Pensez au tag ![]() Mon blog sur DVP - Mes petits papiers sur DVP Je ne peux en aucun cas être tenu pour responsable des conséquences de l'utilisation des codes que je fournis dans le cadre des réponses apportées sur les forums, même s'il s'avérait que ces codes sont erronés ou amènent à des dysfonctionnements, de manière manifeste ou non. Dernière modification par Pierre Fauconnier ; 09/10/2008 à 18h26 |
|
|
|
|
|
#10 (permalink) | |||
|
Membre Expert
![]() Date d'inscription: janvier 2006
Localisation: St Cyr s/mer (83)
Âge: 64
Messages: 1 264
|
Bonjour,
Helios77 : Citation:
Citation:
Citation:
Heureusement qu'il y a des répondeurs persévérants.
__________________
N'oubliez pas de cliquer sur quand vous avez obtenu la réponse à votre question.
|
|||
|
|
|
|
|
#11 (permalink) |
|
Débutant(e)
Date d'inscription: septembre 2005
Messages: 122
|
merci.
je comprenais le truc avant mais là c'est quand meme different je trouve.... je ne poserai pas des questions sans avoir cherché au prealable qd meme...! desole. Jacques jean-->je ne travaille pas que sur une seul probleme..et oui il n'y avait que 2 decimales dans ce que je voulais au debut mais dans la suite et dans un autre fichier que je devais traité, les 4 chiffres apres la virgules sont apparus pour 4.... je dois retravailler apres le chiffre en plus donc ca perturbe aussi pas mal...bref merci! Dernière modification par Pierre Fauconnier ; 09/10/2008 à 19h33 Motif: Merci d'éditer le message pour le modifier ou le compléter |
|
|
|
|
|
#12 (permalink) | |
|
Inscrit(e)
Date d'inscription: juillet 2007
Localisation: au pays de la liberté d'esprit
Messages: 3 109
|
Citation:
Des méthodes différentes, tu en trouveras autant que tes neurones les chercheront... En voilà une autre : Code :
Dim toto As Double, totostr As String toto = 45.0056788 totostr = Trim(Str(toto)) MsgBox Mid(totostr, InStr(totostr, ".") + 1) Celle-là aura pour seul mérite celui de te forcer à étudier, dans ton aide en ligne, Mid, Trim, Str et Instr ... Que celà te perturbe "pas mal" est normal... comme est normal que le développement n'est pas une partie de marelle... Pour l'instant, nous sommes ceux qui sommes perturbés... par ton flot de questions "pas à pas" qui donne l'impression que ton développement n'est précédé d'aucune analyse... comme si tu avançais sans même savoir où tu veux aller exactement... C'est plutôt gênant.
__________________
Deux points essentiels à mes yeux : 1) Je ne regarde ni n'analyse aucun fichier joint, mais uniquement les portions de code incluses et donc affichées et commentées dans une discussion. 2) j'abandonne carrément (et sans appel) ma participation à une discussion dès lors qu'est posée une seconde question différente de la première (et ce, même si, dans l'esprit du demandeur, la 2ème est "complémentaire" de la 1ère). 3) ATTENTION : si je reçois un MP relatif à une question technique sans mon consentement ou mon invite à le faire ===>> a) je n'y réponds pas et b) je fais en sorte que l'expéditeur ne puisse plus m'adresser de MP |
|
|
|
|
|
|
#13 (permalink) |
|
Membre habitué
![]() Date d'inscription: février 2008
Localisation: Loire Atlantique
Messages: 164
|
Bonsoir,
Une autre piste (pas une soluce) qui se moque du nombre de décimale, pour peu qu'il y en ait Code :
Sub gg() Dim toto As Variant toto = CStr(Cells(8, 2)) toto = Mid(toto, InStr(toto, ".") + 1) toto = Val(toto) MsgBox toto End Sub cordialement, Didier
__________________
Didier Gonard N'oubliez pas de mettre : ..quand c'est le cas !
Dernière modification par Caro-Line ; 09/10/2008 à 18h38 Motif: Et les balises code alors ? |
|
|
|
|
![]() |
![]() |
||
Problème format de variable
|
||
Offres d'
emploi informatique
sur Lesjeudis.com
|
| Outils de la discussion | |
|
|