IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Formulaire word + export de données automatique


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2017
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2017
    Messages : 42
    Par défaut Formulaire word + export de données automatique
    Hello all,

    J'aimerai savoir si il est possible d'automatiser l'export des données issu d'un formulaire Word ?

    J'ai un formulaire word, et j'aimerai traiter ces données.

    Dans l'idéal, j'aimerai mettre tous les formulaires remplis dans un dossier et au lancement d'un bach, cela traite les données, comme du stockage en base de données.
    Est-ce possible ?

    J'ai réussi à extraire ces données en .txt et à les traiter dans une BDD Access, mais ce procédé ne me convient pas car j'aurai environ 250 fichiers par semaines.

    J'aimerai coder mon batch en C# et faire juste de la lecture de fichier à la limite dedans. Donc, il me resterai à savoir comment convertir les fichiers remplis en .docx en .txt automatiquement.

    Bref, si vous avez des suggestions, je vous en remercierai d'avance Bonne journée.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par virtazp Voir le message
    Bonjour,

    Dans les discussions similaires en bas de votre de message, avez-vous regardé si celui-ci pouvait correspondre à votre demande ? vba-e-formulaire-word-recuperer-donnees-excel

  3. #3
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Tu veux faire opérer une jambe cassée par un interne à sa première journée d'internat.

    Tu peux faire ton formulaire dans Access et alimenter directement une base Access.

    Tu peux utiliser VBA Word et ADO pour alimenter directement une base Access. Regarde le Blog de Pierre Fauconnier, il a quatre billets pour le faire avec Excel, mais cela devrait être adaptable avec Word.

    Au lieu d'un formulaire dans Word, tu peux faire un UserForm dans Word. Les ActiveX permettent une programmation plus flexible.

    Mais comme je suis déjà réfractaire à l'idée d'utiliser Excel pour gérer des données, je le suis encore plus pour Word.

    Et puis avec les autorités européennes, qui se sont mises à brasser Facebook avec la protection des données personnelles;, tu devrais commencer par te demander jusqu'à quel point ton système actuel est conforme. Parce que les normes pour Facebook seront les mêmes pour les Européens. Et tu n'as fondamentalement aucun intérêt à perpétuer quelque chose qui ne serait pas légal, même si tu devais avoir un peu de temps de grâce ou de tolérance.

  4. #4
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2017
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2017
    Messages : 42
    Par défaut
    Re

    Oui j'avais vu cette discutions, mais cela ne correspond pas vraiment à ce que je veux.

    Du coup, j'ai cherché tout le weekend et j'ai fini par trouvé : Je vais passer tout en C# avec une simple application console et l'assembly Office.interop.word. Il y a tout pour traiter les fichiers Word.

    A l'heure actuel, j'arrive à ouvrir un fichier Word, à lire tous les signets et à récupérer la valeur renseigné dedans, puis je ferme le formulaire.
    Il me reste à peaufiner cela, mais en attendant voici le code :

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    class Program
        {
            static void Main(string[] args)
            {
                GestionWord g = new GestionWord();
                g.OuvrirFichier("C:/Users/Anthonyj/Desktop/formulaire/formulaire.docx");
                g.RecupererFormulaire();
                g.Fermer();
     
            }
        }

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    class GestionWord
        {
            #region Déclarations
     
            Microsoft.Office.Interop.Word.Application _ApplicationWord;
            Microsoft.Office.Interop.Word._Document _MonDocument;
            //Microsoft.Office.Interop.Word.Selection _MaSelection;
            Microsoft.Office.Interop.Word.Range _MonRange;
            Bookmark _MonSignet;
            Bookmarks _MesSignets;
            InlineShape _MonImage;
     
            object M = System.Reflection.Missing.Value;
     
            #endregion
     
            #region Initialisation Sauvegarde
     
            /// <summary>
            /// Cette classe sert d'interface entre word et une apllication C#.
            /// Le constructeur démarre word.
            /// </summary>
            public GestionWord()
            {
                //_ApplicationWord = new ApplicationClass();
                _ApplicationWord = new Microsoft.Office.Interop.Word.Application();
                _ApplicationWord.Visible = true;
            }
     
            /// <summary>
            /// Ouvre un fichier existant.
            /// </summary>
            /// <param name="FileName">Chemin du document</param>
            public void OuvrirFichier(string FileName)
            {
                object oFileName = (object)FileName;
                object Faux = (object)false;
                object Vrai = (object)true;
     
                _MonDocument = _ApplicationWord.Documents.Add(ref oFileName, ref Faux, ref M, ref Vrai);
            }
     
            /// <summary>
            /// Enregistrer le document sous.
            /// </summary>
            /// <param name="FileName">Chemin du docmuent</param>
            public void Sauver(string FileName)
            {
                object oFileName = (object)FileName;
                object Faux = (object)false;
                object Vrai = (object)true;
     
                try
                {
                    _MonDocument.SaveAs(ref oFileName, ref M, ref M, ref M, ref M, ref M, ref M, ref M, ref M, ref M, ref M, ref M, ref M, ref M, ref M, ref M);
                }
                catch
                {
                    Console.WriteLine("Le fichier Word n'a pas pu être enregistré.", "Erreur d'enregistrement");
                }
            }
     
            /// <summary>
            /// Fermer le document et l'application word.
            /// </summary>
            public void Fermer()
            {
                _MonDocument.Close(ref M, ref M, ref M);
                _ApplicationWord.Application.Quit(ref M, ref M, ref M);
            }
     
            #endregion
     
            /// <summary>
            /// Récupérer les données du formulaire
            /// </summary>
            /// <returns></returns>
            public void RecupererFormulaire()
            {
                //récupére la liste de signets
                _MesSignets = _MonDocument.Bookmarks;
     
                foreach (Bookmark a in _MesSignets)
                {
                    string nom = a.Name;
                    _MonRange = a.Range;
                    Console.WriteLine(_MonRange.Text.ToString());
                    Console.WriteLine(nom);
                };
     
                Console.ReadLine();
            }
    }

Discussions similaires

  1. Réponses: 2
    Dernier message: 14/10/2016, 11h53
  2. [AC-2010] Source de formulaire et export de données vers Excel
    Par LIARDET dans le forum Access
    Réponses: 3
    Dernier message: 05/02/2016, 14h44
  3. Remplir un formulaire WORD avec des données Excel
    Par Giant25 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 20/02/2015, 16h31
  4. [XL-2010] Exporter des donnes automatiquement et tracer une courbe
    Par skrobar dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 14/04/2012, 16h26
  5. [VBA-E]Formulaire word, récupérer les données dans excel
    Par sablier dans le forum Macros et VBA Excel
    Réponses: 20
    Dernier message: 30/05/2006, 07h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo