fabientoupeti Posté(e) le 17 avril 2007 Posté(e) le 17 avril 2007 bonjour,comme le dit le sujet j'ai un problème avec le e de exposant et un fichier texte.j'utilise VB en macro avec CATIA donc je ne peux et je ne veux pas utiliser excel. Pour cerner le sujet:j'ai un fichier texte comportant 20000 env. avec en 1º colonne des valeurs allant de 0 à 100 aléatoire sauf 5, 10,15...je lis ce fichier ligne à ligne dès que je repère un 5 je stocke le resultat d'une operation sur les colonnes 4 et 5 dans un nouveau fichier txt, on va l'appeler sum5.txt.ensuite dans sum5.txt qui comporte une colonne avec sur chaque ligne une valeur differente, je repere la valeur maximale de sum5.txt et je la stocke dans la variable max5 mais voilà il y a un truc que je ne comprends pas.quand je fais mes operations sur mes colonnes 4 et 5 tant que le resultat est 0,** la valeur dans mon fichier texte (sum5.txt) s'ecrit comme cela (0,**)par contre quand mon resultat est 0,0** la valeur de mon fichier texte (sum5.txt) s'écrit *,**E-2 et part la suite j'ai un probleme pour trouver la valeur maximale ( le E n'est pas considéré comme exposant). Comment puis je faire pour régler ce problème?est ce que ça peut venir du fait que je n'ai pas préciser le type de ma variable d'operations?Si c'est ça quels types dois-je préciser Merci d'avance fabientoupeti
sechanbask Posté(e) le 20 mai 2007 Posté(e) le 20 mai 2007 Bonjour,Il faut que tu forces le résultat de ton calcul avec la methode format: Sub help() Dim Puissance_dbl As Double Dim Puissance1_dbl As Double Dim Puissance_str As String Dim Puissance1_str As String Puissance_dbl = 16546549875.2565 Puissance1_dbl = 16545.25 'j'initialise la variable Puissance_str = VBA.Format(Puissance_dbl, "##,##0.0000") Puissance1_str = VBA.Format(Puissance1_dbl, "##,##0.0000") 'Attention: 'Le . est mon séparateur décimal dans mes options régionales et linguistiques 'Le nombre de zéro après le point indique le nombre de décimale que tu souhaites 'voir apparaitre, si la variable Puissance_dbl n'en contient pas autant, des zéro indiquent la précision souhaitée voir Puissance1_str 'Les # permettent de faire des paquets de chiffres, ici 3 car ##0 MsgBox Puissance_str & " et " & Puissance1_str End Sub Si tu veux pas de problème rends ton résultat en single ou double avec Puissance_dbl = Csng(Puissance_str) Puissance1_dbl = Cdbl(Puissance1_str) [Edité le 20/5/2007 par sechanbask] ATEGIE - Bureau d'Études Fluideshttp://www.ategie.fr/uploads/ategie/ategie-at%C3%A9gie-bureau-%C3%A9tudes-etudes-fluides-logo-100x56.pngExécution, Synthèse, Conception, Maîtrise d'Oeuvre, Audit, Chiffragewww.ategie.fr
sechanbask Posté(e) le 2 juin 2007 Posté(e) le 2 juin 2007 j'ai également trouvé ça dans l'aide VBA RealToString(Value, Unit, Precision) ATEGIE - Bureau d'Études Fluideshttp://www.ategie.fr/uploads/ategie/ategie-at%C3%A9gie-bureau-%C3%A9tudes-etudes-fluides-logo-100x56.pngExécution, Synthèse, Conception, Maîtrise d'Oeuvre, Audit, Chiffragewww.ategie.fr
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant