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

VBA Access Discussion :

découper un texte pour en faire plusieurs enregistrements


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 26
    Par défaut découper un texte pour en faire plusieurs enregistrements
    Bonsoir,

    J'ai créé une (très modeste) G.E.D., celle-ci est fondée sur le bulletin des arrêts de la cour de cassation.

    Ma table est constituée de trois colonnes : "date + RG", "abstract", "résumé"

    Pour l'instant, je me contente de faire de longs "copier/coller" pour alimenter ma table.

    Ce bulletin reprend les différents arrêts "intéressants", chaque arrêt se trouvant dans un long fichier .doc, chaque arrêt étant sous cette forme :

    N°1933

    ARCHITECTE ENTREPRENEUR
    Article 1792 du Code civil - Construction d'ouvrage accessoire empiétant sur le fonds d'autrui - Démolition - Responsabilité de l'architecte.

    Doit être déclaré responsable et tenu à garantir le maître de l'ouvrage de toute condamnation l'architecte chargé d'une mission complète de maîtrise d'oeuvre ayant autorisé l'implantation d'un ouvrage accessoire (soutènement par clouage) empiétant sur la propriété voisine sans le consentement du propriétaire du fonds servant et conduisant à la démolition de cet élément, laquelle rend l'ouvrage principal impropre à sa destination.

    CA Saint-Denis (ch. civile), 23 mai 2008 - RG n° 07/00052

    M. Creze, Pt. - Mme Pony et M. Fievet, conseillers.

    Je vais utiliser les balises "code" pour vous préciser chaque champ :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    1933 ARCHITECTE ENTREPRENEUR
    Article 1792 du Code civil - Construction d'ouvrage accessoire empiétant sur le fonds d'autrui - Démolition - Responsabilité de l'architecte.
     
    C'est ce que je dois avoir dans le champ "abstract"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Doit être déclaré responsable et tenu à garantir le maître de l'ouvrage de toute condamnation l'architecte chargé d'une mission complète de maîtrise d'oeuvre ayant autorisé l'implantation d'un ouvrage accessoire (soutènement par clouage) empiétant sur la propriété voisine sans le consentement du propriétaire du fonds servant et conduisant à la démolition de cet élément, laquelle rend l'ouvrage principal impropre à sa destination.
     
    C'est ce que je dois avoir dans le champ "résumé"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    CA Saint-Denis (ch. civile), 23 mai 2008 - RG n° 07/00052
     
    C'est ce que je dois avoir dans le champ "DATE+RG"
    Quelqu'un aurait-il une idée pour automatiser ce que je fais en "copier/coller".

    L'idée c'est qu'à chaque fois que l'on trouve "N°" dans le texte de départ (.doc) jusqu'au prochain "N°", on découpe ce qu'il y a entre ces deux "signets" pour créer un enregistrement et remplir la table.

    Pour votre information, si cela peut aider, l'abstract et le n° sont en gras dans le texte d'origine.

    Si quelqu'un a une idée ...

  2. #2
    Membre Expert
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Par défaut
    Bonjour,

    Si les arrêtés sont toujours structurés de la même manière, tu peux peut-être t'en sortir avec les fonctions InStr(), et Mid().

    Peut-être en fonction du nombre de retour chariot ?

  3. #3
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 086
    Par défaut
    Salut,

    Aurais-tu un document complet sous la main que l'on puisse réellement se rendre compte de sa structure.
    Il est fort possible que l'on puisse automatiser un maximum l'opération, y compris la recherche des fichiers.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Août 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 26
    Par défaut
    Merci à vous deux.

    Voici l'url de la source que je copie dans mon document word pour, ensuite, faire un copier/coller dans ma base :

    http://www.courdecassation.fr/public...ets_12018.html

  5. #5
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 086
    Par défaut
    Salut,

    C'est moins compliqué que tu ne le penses !

    Si tu copie sous format HTML, tu as des signets, des titres.

    Le signet se trouve en début d'article !
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Août 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 26
    Par défaut
    Merci.

    Je n'y avais pas pensé

    Il y a des balises h4, h5, br ...

    Je vois bien comment ajouter un enregistrement à une table (je le fais dans le cadre d'une table qui liste un répertoire pour exporter des fichiers jpg dans un doc) ...

    Comment fais-je pour scruter mon fichier .txt ...

    Je suppose que le vba doit indiquer que chaque enregistrement (i.e. chaque arrêt pour moi) est compris entre les balises "/div" et "div" et que les parties qui m'intéressent sont rangées de la manière suivante :

    abstract : compris dans les balises h4 et h5

    date + rg : contenu dans les balises p sur un critère de recherche dans le texte compris dans cette balise avec les lettres "RG" et "/"

    contenu : contenu dans les balises p sur un critère de recherche dans le texte compris dans cette balise excluant les lettres "RG" et "/"

    De plus, je dois faire une boucle sur un critère du type ... "tant qu'il y a une balise h4 (ou h5) avec un "N°" on boucle"

    Ensuite, n'ayant pas besoin de la dernière ligne concernant le nom des magistrats ... j'exclus le texte où il y un "Pt."

    C'est en théorie ... mais en pratique je fais comment ...

    Merci encore ...

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Août 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 26
    Par défaut
    Bonjour, j'ai modifié le code d'arkham et cela fonctionne (youpi) :

    Code : 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
                    If lBegin Then
                        ' Si contient "RG n°" alors c'est la fin de l'arrêt avec la date
                        If InStr(1, lElt.outertext, "Civ.", vbTextCompare) <> 0 Then
                            ' Date + RG
                            lDATE_RG = lElt.outertext
                            ' Fin de l'arrêt
                            lBegin = False
                            lEnd = True
                        End If
     
                        If InStr(1, lElt.outertext, "Com.", vbTextCompare) <> 0 Then
                             ' Date + RG
                            lDATE_RG = lElt.outertext
                            ' Fin de l'arrêt
                            lBegin = False
                            lEnd = True
                        End If
                        If InStr(1, lElt.outertext, "RG n°", vbTextCompare) <> 0 Then
                             ' Date + RG
                            lDATE_RG = lElt.outertext
                            ' Fin de l'arrêt
                            lBegin = False
                            lEnd = True
     
                        Else
                            ' Sinon c'est une partie du résumé
                            lresume = lresume & IIf(lresume = "", "", vbCrLf) & lElt.outertext
                        End If
     
                    End If
    Par contre, il reste un problème celui de l'abstract ...

    En effet, quand j'ai un abstract "papier" comme celui-ci :

    1° AIDE JURIDIQUE
    Aide juridictionnelle. - Demande. - Cassation. - Pourvoi. - Délai. - Interruption. - Condition.
    2° CASSATION
    Pourvoi. - Pourvoi incident. - Recevabilité. - Irrecevabilité du pourvoi principal. - Portée.

    Je n'enregistre dans ma base que

    1° AIDE JURIDIQUE

    Alors que je voudrai enregistrer l'ensemble ...

  8. #8
    Expert confirmé
    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Par défaut
    en remplaçant :
    par :
    ??

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Août 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 26
    Par défaut
    Effectivement ... c'était tout bête !

    Un mot à vous deux : M E R C I !

    Et une balise "résolu", une !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Faire plusieurs enregistrement en ADO.net vers Access
    Par aA189 dans le forum VB.NET
    Réponses: 5
    Dernier message: 23/12/2011, 15h51
  2. Créer un vecteur de texte pour y faire appel
    Par Aphelio dans le forum MATLAB
    Réponses: 4
    Dernier message: 07/05/2011, 21h11
  3. Partir d'un gros fichier pour en faire plusieurs petits
    Par Bruno13 dans le forum Débuter
    Réponses: 12
    Dernier message: 07/10/2009, 13h12
  4. Réponses: 2
    Dernier message: 02/02/2006, 18h21
  5. Réponses: 12
    Dernier message: 27/08/2004, 15h42

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