Ré-bonjour,
Merci pour votre rapidité @whismeril et @cgandco.
voici les regles corrigées:
S1: le signe sera affiché
S0: le signe ne sera pas affiché
Tc: mettre un separateur des milliers
T0: pas de séparateur des milliers
D0:correspond le nombre de 0 devant le nombre
Cx: x est le nombre de chiffre après la virgule.
Voici mon code:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.IO;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using Word = Microsoft.Office.Interop.Word;
namespace formatage
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void CreateWordDocument(object fileName,
object saveAs)
{
//Set Missing Value parameter - used to represent
// a missing value when calling methods through
// interop.
object missing = System.Reflection.Missing.Value;
//Setup the Word.Application class.
Word.Application wordApp =
new Word.Application();
//Setup our Word.Document class we'll use.
Word.Document aDoc = null;
// Check to see that file exists
if (File.Exists((string)fileName))
{
DateTime today = DateTime.Now;
object readOnly = false;
object isVisible = false;
//Set Word to be not visible.
wordApp.Visible = false;
//Open the word document
aDoc = wordApp.Documents.Open(ref fileName, ref missing,
ref readOnly, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing,
ref missing, ref isVisible, ref missing, ref missing,
ref missing, ref missing);
// Activate the document
aDoc.Activate();
double amount = 1256898.1625;
//formatage de "amount"
}
else
{
MessageBox.Show("File dose not exist.");
return;
}
//Save the document as the correct file name.
aDoc.SaveAs(ref saveAs, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing);
//Close the document - you have to do this.
aDoc.Close(ref missing, ref missing, ref missing);
MessageBox.Show("File created.");
}
//Ensuite, j'appelle la méthode comme suit:
private void button1_Click(object sender, EventArgs e)
{
CreateWordDocument(@"C:\temp\AvantFormatage.doc",
@"C:\temp\ResultatFormatage.doc");
}
}
}
14 juil. 2015 à 12:18
ça m'a permit de récuper la règle en question.
pour le reste je vous attendrai impatiemment
Merci encore
14 juil. 2015 à 12:25
la règle a t'elle une longueur fixe ou pas ?
c à d est-ce que S T D et C existent toujours ?
14 juil. 2015 à 14:34
Sx: dont S1 signifie SIGNED (le signe sera affiché) et S0 (le signe ne sera pas affiché)
Tc: dont c correspond au caractère séparateur des milliers (T0 signifie pas de séparateur).
Dx: pour remplir x 0 (zéros) non significatif devant le nombre
Cx: dont x est le nombre de chiffre après la virgule
Par exemple:
<AMOUNT><FORMAT_S1TcD0C2> +1 256 898.16
Concernant la règle, l'utilisateur peut predefinir par exemple:
S0T0D1C6, S1T0D3C4....etc.
Donc, si je repond à votre question. S, T, D et C existent bien toujours.
Merci pour le temps que vous me consacrez !
15 juil. 2015 à 14:05
voila ce que j'ai codé (il y a surement moyen de refactoriser et de placer des traitements d'erreur, mais bon):
il te faut aussi
Bonne journée
15 juil. 2015 à 15:23
Je suis sous le choc ! Vous avez fait un travail formidable. Honnetement, je ne pensais pas qu'il y'avait des gens qui peuvent donner autant leur temps précieux. Je suis étonné mais je vous remercie énormement @cgandco. :)