1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    mars 2013
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : mars 2013
    Messages : 1
    Points : 1
    Points
    1

    Par défaut problème de déplacement de texte bilingue

    Bonjour,

    Après une après-midi infructueuse sur un petit projet qui me tient à cœur, je lance cette bouteille à la mer.

    Mon problème est le suivant : pour perfectionner mon apprentissage de la langue grecque, je souhaite disposer de textes où alternent un paragraphe en grec suivi de sa traduction en français, et ainsi de suite ; je préfère cette disposition à un tableau sur 2 colonnes, trop serrées sur une tablette.

    Je dispose d'un fichier du texte grec, et d'un fichier de sa traduction française.

    J'ai collé le texte français à la suite du texte grec, pour n'en faire qu'un seul document, auquel j'ai voulu appliquer une macro Word 2003.
    J'ai gardé ouverts simultanément ce document gréco-français et un document vierge.
    Avec l'enregistreur de macro, j'ai transféré 1 par 1, et alternativement, les paragraphes grecs et français, en utilisant la fonction Rechercher / Format / Langue (j'ai aussi essayé Format / Police en différenciant la police du grec et celle du français) ; chaque fois qu'un nouveau paragraphe était trouvé, il était sélectionné, coupé, puis copié dans le document vierge...
    Cela a d'abord fonctionné sur un extrait de quelques paragraphes, mais non sur le texte entier : la macro se plantait soit pour sélectionner le paragraphe (sans doute parce que je n'entrais aucun mot dans la boite Rechercher), soit pour passer dans la fenêtre suivante ou revenir à la première.

    Voilà, n'étant pas du tout informaticien, j'aimerais savoir si quelqu'un peut m'aider à fabriquer le code de cette macro.

    Précision importante. Il faudrait si possible, 2 versions du code :
    - l'une où il fonctionnerait tout seul en boucle jusqu'à épuisement du texte
    - l'autre où il se contenterait de copier dans le fichier vierge les 2 premiers paragraphes gréco-français, et resterait ouvert sur ce fichier pour que je vérifie si le 2e paragraphe est bien la traduction du 1er (en effet, si à certains endroits le traducteur s'est permis de changer le nombre des paragraphes, tout sera vite décalé) ; dans cette 2e version, ce serait à moi de revenir manuellement dans la 1ère fenêtre, puis de relancer la macro pour le 2e couple de paragraphes - ce qui est quand même plus rapide qu'avec une série de copier-coller.

    PS, je serai absent sans Internet toute la semaine prochaine, donc le cas échéant ne pourrai répondre qu'à mon retour.

    Merci d'avance

  2. #2
    Membre confirmé Avatar de Souriane
    Femme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    septembre 2009
    Messages
    349
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Service public

    Informations forums :
    Inscription : septembre 2009
    Messages : 349
    Points : 462
    Points
    462

    Par défaut

    Bonjour,

    Voici une piste de solution pour la 2e version que vous souhaitez avoir, celle ou la procédure s'arrête après avoir copier le paragraphe français et le paragraphe grec.

    Laisse-moi savoir si ça fonctionne pour toi et j'adapterai celui en boucle en conséquence.

    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
    31
    32
    33
    34
    35
    Sub RemplacerParTableau()
        Dim DocFrancais As Document
        Dim DocGrec As Document
        Dim DocFinal as Document
     
     
    'CHANGER LE CHEMIN D'ACCÈS ET LE NOM DES DOCUMENTS CI-DESSOUS :
       Set DocFrancais = Documents.Open(FileName:="C:\temp\FichierFrancais.docx")
       Set DocGrec = Documents.Open(FileName:="C:\temp\FichierGrec.docx")
       Set DocFinal = Documents.Open(FileName:="C:\temp\FichierFinal.docx")
     
    'Copie le paragraphe Français
        DocFrancais.Activate 'Active le fichier Français
        selection.MoveDown Unit:=wdParagraph, count:=1, Extend:=wdExtend
        selection.Copy
        selection.MoveRight Unit:=wdWord, count:=1
     
    'Colle dans le fichier final
        DocFinal.Activate 'Active le fichier Final
        selection.EndKey Unit:=wdLine
        selection.Paste
     
    'Copie le paragraphe Grec
        DocGrec.Activate 'Active le fichier Grec
        selection.MoveDown Unit:=wdParagraph, count:=1, Extend:=wdExtend
        selection.Copy
        selection.MoveRight Unit:=wdWord, count:=1
     
    'Colle dans le fichier final
        DocFinal.Activate 'Active le fichier Final
        selection.EndKey Unit:=wdLine
        selection.Paste
     
     
     End Sub
    Souriane
    __________________________________
    Une question bien posée est à moitié résolue!

    Merci de ne pas oublier de mettre RÉSOLU quand le sujet l'est. Cela aide tous les DVPnautes dans leur recherche

Discussions similaires

  1. [AC-2013] problème de déplacement d'un fichier texte
    Par Garrouch dans le forum VBA Access
    Réponses: 3
    Dernier message: 22/03/2017, 11h44
  2. [MFC]Problèmes pour orienter du texte
    Par Deedier dans le forum MFC
    Réponses: 1
    Dernier message: 25/03/2005, 16h15
  3. Problème champs de type texte.
    Par Le-Cortex dans le forum Access
    Réponses: 7
    Dernier message: 06/01/2005, 14h42
  4. Problème de récupération de texte de formulaire
    Par bigourson dans le forum Formulaires
    Réponses: 4
    Dernier message: 15/09/2004, 16h27
  5. problème de passage de texte avec getvariable
    Par VincentB dans le forum Flash
    Réponses: 2
    Dernier message: 12/01/2004, 18h35

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