none
rechercher des textes dans un document word RRS feed

  • Question

  • je débute complètement en VBA Word, et malgré tous les sites disponibles je n'arrive pas à démarrer.

    je veux commencer par quelque chose de très simple.

    j'ai un document word dans lequel chaque haut de page commence par un texte au format :

    N.  N - texte...

    où N est un entier valant de 1 à... N.

    Je voudrai écrire un programme VBA qui m'affiche tous les textes de ces hauts de page, ou les modifie (c'est juste pour m'entraîner).

    Je sais ouvrir l'éditeur VBA, mais je n'arrive pas à l'utiliser.

    Par exemple, quand je copie ce code donné sur un site Microsoft, j'ai une erreur de compilation "erreur de syntaxe".

        Private Sub SelectionFind()
            Dim findText As String = "find me"
    
            Application.Selection.Find.ClearFormatting()
    
            If Application.Selection.Find.Execute(findText) = True Then
                MessageBox.Show("Text found.")
            Else
                MessageBox.Show("The text could not be located.")
            End If
        End Sub

    Merci par avance de votre aide

    jeudi 8 décembre 2016 19:08

Toutes les réponses

  • Bonjour

    Normal, ce n'est pas du vba.

    Prenez des exemples en vba pour word, ça ira mieux.

    jeudi 8 décembre 2016 20:56
  • J'ai pris ça sur un site microsoft :

    https://msdn.microsoft.com/en-us/library/f1f367bx.aspx?cs-save-lang=1&cs-lang=vb

    C'est indiqué VB. Je pensais que VB et VBA (Visual Basic for Applications si je ne me trompe pas), c'était la même chose.

    A priori non, cela aurait été trop simple.

    Je vais donc chercher des sites pour prendre en main VBA.

    Si vous en avez à me recommander, merci d'avance.

    jeudi 8 décembre 2016 21:06
  • Bonjour

    Je pensais que VB et VBA (Visual Basic for Applications si je ne me trompe pas), c'était la même chose.

    Ca a été presque la même chose, le vb a évolué pas le vba.

    Vous avez des exemples ici :
    http://www.faqword.com/index.php/component/tags/tag/6-vba-word
    C'est du code opérationnel, pas des exemples pour la formation à proprement parler.

    Pour apprendre ce site est très biesn :
    http://heureuxoli.developpez.com/office/word/vba-word/

    jeudi 8 décembre 2016 21:44
  • merci c'est parfait.

    j'ai commencé à coder quelques exemples et ce coup ci ça fonctionne.

    du coup j'ai d'autres questions pour la suite.

    je dois effectuer le même traitement d'extraction depuis plusieurs centaines de documents word, et les données extraites doivent être insérées dans une base MySQL et dans un site WordPress en utilisant la REST API WordPress.

    est-ce que je peux accéder à des bases de données depuis VBA ? depuis VB ? (pour VB je pense que oui).

    est-ce que je peux lancer des requêtes HTTP POST depuis VBA ? depuis VB ? (pour VB je pense que oui).

    est-ce que je peux exécuter un programme VBA sur serveur Win2012 où Office n'est pas installé ? un programme VB ?

    Encore merci.

    vendredi 9 décembre 2016 08:55
  • je dois effectuer le même traitement d'extraction depuis plusieurs centaines de documents word, et les données extraites doivent être insérées dans une base MySQL et dans un site WordPress en utilisant la REST API WordPress.

    Pas certain de pouvoir répondre à toutes vos questions, je vais essayer sur ce que je connais.
    En VB on peut faire des tas de choses, en particulier piloter Word et donc utiliser le vba word.
    Dans une situation de ce genre, je mets au point en vba, puis j'intègre ça dans du vb.

    Extraire de plusieurs document word : oui, on peut facilement, c'est peut-être plus simple de boucler sur l'ensemble des documents en vb et traiter chaque document en vba.

    est-ce que je peux accéder à des bases de données depuis VBA ? depuis VB ? (pour VB je pense que oui).

    Accès direct, je ne sais pas.
    Tout dépend de la fréquence des opérations.
    Si c'est rare, je genèrerais le Sql pour ensuite l'exécuter à la main dans mysql.
    On peut lancer une application à partir de vb ou vba, la difficulté que l'on rencontre est surtout le passage des données à faire traiter.

    est-ce que je peux lancer des requêtes HTTP POST depuis VBA ? depuis VB ? (pour VB je pense que oui).

    Je ne sais pas.
    Sans doute faudrait-il poser la question sur un forum vb.

    est-ce que je peux exécuter un programme VBA sur serveur Win2012 où Office n'est pas installé ? un programme VB ?

    Du vb : oui, on utilise l'exe. Il faut sans doute que le framework soit installé.
    Du vba : non, le langage n'est pas compilé, il faut l'application concernée, même si vous pilotez word à partir du vb.

    vendredi 9 décembre 2016 09:23
  • merci pour ces compléments d'infos.

    j'ai googlé pas mal et les accès mysql et les requêtes post c'est possible en vb ou en vba, faut juste trouver et écrire le bon code, c'est pas ça le plus dur.

    après j'ai 700 docs Word en entrée, le même traitement à faire sur chaque doc, ce traitement incluant des accès mysql et des post http sur la REST API WordPress.

    j'ai l'impression que le plus simple serait d'écrire ça en VB avec du VBA quand il faut, comme vous avez dit, et d'installer le runtime que vous mentionnez.

    Pour faire tout ça, quel IDE je dois télécharger et installer (acheter ?) sur le poste de dev (W8 ou W10) ?

    Quel runtime je dois télécharger et installer (acheter ?) sur le serveur W2012 ?

    En notant que les docs sont a priori fournis en .doc (Word 2003 je crois)

    merci d'avance 

    vendredi 9 décembre 2016 17:39
  • Bonsoir

    Vous installez le framework fourni gratuitement par MS.
    Dans w10 tout est préinstallé automatiquement, il me semble.
    Sinon vous cherchez dans les téléchargements.
    Pour word, il vous faut Office.
    Toutes les versions savent lire les doc.

    Amha vous n'avez rien à acheter.

    vendredi 9 décembre 2016 22:05
  • je dois effectuer le même traitement d'extraction depuis plusieurs centaines de documents word, et les données extraites doivent être insérées dans une base MySQL et dans un site WordPress en utilisant la REST API WordPress.

    //...

    est-ce que je peux lancer des requêtes HTTP POST depuis VBA ? depuis VB ? (pour VB je pense que oui)

    Google donne en principe des exemples pour quasi tout.

    Par exemple le premier lien pour VBA et MySQL donne :

    http://stackoverflow.com/questions/6502655/import-data-from-a-word-file-to-populate-tables-in-a-mysql-database

    ou pour des POST HTTP en VBA :

    http://stackoverflow.com/questions/158633/how-can-i-send-an-http-post-request-to-a-server-from-excel-using-vba

    ou

    https://github.com/VBA-tools/VBA-Web

    etc...

    samedi 10 décembre 2016 13:20
  • oui merci c'est tout bon, je vais pouvoir avancer maintenenant
    dimanche 11 décembre 2016 12:03