Macro pour extraire la fin d'un texte Word

Résolu
Guthurhall Messages postés 5 Statut Membre -  
m@rina Messages postés 27469 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

Après des heures de recherches, je ne trouve pas la réponse à ma question.

Je cherche simplement à écrire une macro pour sélectionner la dernière ligne d'un texte sous Word.

Je cherche ensuite à reprendre cette ligne pour l'utiliser comme nom de la sauvegarde du fichier texte.

Pour la sauvegarde, c'est bon mais pour extraire cette ligne, je n'y parviens pas.

Auriez vous une solution ?

Merci de votre aide.

Cdt

5 réponses

  1. Christdenoel Messages postés 466 Statut Membre 105
     
    Si tu n'as q'un texte par document procède comme suit [Au fait t'as quelle version de word??]

    1) NB: lis bien l'aide de Word 2007 en choisissant le premier article que tu trouve après avoir lancé l'aide et rechercher la requête suivante: "Enregistrer macro"

    2) Ouvre ton document

    3) Enregistre une macro clavier dans le modèle normal.dot et affecte lui une combinaison inutilisée comme: Ctrl + Alt + A ou autre

    4) Lorsque l'enregistrement de la macro commence:
    - tape: Ctrl + Fin (ou End)
    - maintient la touche Maj enfoncée et appuis sur début (ou Home)
    - tape: Ctrl + C
    - tape: Ctrl + S [accessoire car tu peux t'arrêter à l'étape précédente si ça ne marche pas]

    5) Clique sur arrêter l'enregistrement

    6) tape: Ctrl + S pour enregistrer, puis: Ctrl + V pour coller le texte copié dans le champ "nom du fichier".

    Voilà! J'aurais besoin de plus de détails ou que tu m'envoie des exemplaires du document pour plus de précision
    P.S.: ne fait aucune erreur ni annulation, ni frappe supplémentaire autre que celles indiquées (sauf si tu veux agrémenter parce que tu t'y connais (^^) car elles seront enregistrées dans la macro!
    Bonne chance
    0
  2. m@rina Messages postés 27469 Date d'inscription   Statut Modérateur Dernière intervention   11 562
     
    Bonjour,

    Une ligne pour Word ne signifie rien. Donc, bien savoir s'il s'agit du dernier paragraphe ou peut être la dernière phrase d'un paragraphe...

    Pour le dernier paragraphe :

    Sub dernier_para() 
    Dim nom 
    
    With Selection 
       .EndKey Unit:=wdStory 
       .MoveUp Unit:=wdParagraph, Count:=1, Extend:=wdExtend 
    End With 
    nom = Selection.Text 
    
    ActiveDocument.SaveAs FileName:=nom & "docx" 
    
    End Sub


    m@rina

    - "Sur le forum bureautique, on pose des questions concernant la bureautique..."
    - "Ah bon ???"
    0
  3. Guthurhall Messages postés 5 Statut Membre
     
    Avec un peu de retard, je vous remercie de vos réponses !

    Ca fonctionne parfaitement !!

    Merci, merci !!
    0
  4. Christdenoel Messages postés 466 Statut Membre 105
     
    De rien! Mais... qu'est-ce qui fonctionne au juste (en effet ta l'enregistrement assisté et le script)?
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Guthurhall Messages postés 5 Statut Membre
     
    Les deux ! Mais ta méthode est plus simple à mettre en oeuvre et surtout, elle permet de parfaitement adapter le code à ce que je souhaite faire... dans la limite de l'enregistreur de macro.

    Encore merci à tous deux !!!
    0
    1. m@rina Messages postés 27469 Date d'inscription   Statut Modérateur Dernière intervention   11 562
       
      Le problème d'une macro enregistrée c'est que ça débouche sur un code souvent indigeste... Il vaut mieux avoir un code correctement écrit...
      L'enregistreur est ton ami, il aide bien quand on connaît mal le langage, mais il peut aussi devenir un ennemi !
      1