Problème saut de ligne texte récupéré en Word

fab2503 Messages postés 19 Date d'inscription lundi 31 juillet 2006 Statut Membre Dernière intervention 4 juin 2012 - 31 mai 2012 à 21:05
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 - 5 juin 2012 à 08:03
Bonjour,

J'ai une application qui ouvre un fichier Word récupère l'ensemble du texte du fichier que je mets dans une variable.
Le problème que je rencontre est que le texte récupéré est brut et je n'ai plus les sauts de ligne ce qui fait que le texte affiché est tout à la suite.

Quelqu'un serait-il s'il est possible lors de la récupération du texte en Word de conserver les caractères de saut de ligne?

Merci d'avance.

11 réponses

NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
31 mai 2012 à 21:48
Bonjour,

Comment fais-tu actuellement ?
Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]{Point2}[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list
---
Mon site
0
Utilisateur anonyme
31 mai 2012 à 23:23
Bonjour,

Je ne pense pas que tu puisses récupérer les sauts de ligne insérés automatiquement par Word, ni même de ligne, du moins pas facilement dans Word. VBA pour Word n'a aucun objet qui représente une ligne. La répartition des lignes dans Word dépend de trop de choses, notamment les marges, la police de caractèrs la taille des caractères, l'imprimante, la résolution de l'écran etc.

Il y a peut-être moyen de récupérer les sauts de page manuels qui sont insérés par l'auteur du texte; mais généralement ils sont beaucoup moins nombreux que les sauts de ligne automatiques.
0
Utilisateur anonyme
1 juin 2012 à 21:59
Bonsoir,
J'ai une application qui ouvre un fichier Word

Utilises-tu une référence COM de Word ?
Imports Word

Si oui, tu peux te servir de la propriété Sentences d'un Document :
Dim Phrases As Word.Sentences = New Word.Application().Documents.Open("test.doc").Sentences
For Each Phrase As Word.Range In Phrases
'...
0
Utilisateur anonyme
1 juin 2012 à 23:34
Bonjour Banane32,

Rien n'empêche Word de couper une phrase. Pour que cela fonctionne, il faudrait qu'il n'ait qu'une et une seule phrase par ligne.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
2 juin 2012 à 00:34
Bonsoir cmarcotte,
Oui mais bon hein! c'est mieux que rien
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
2 juin 2012 à 00:52
Bonjour,
n'est-il pas possible, sous Word, à l'aide de VBA, de se déplacer d'une signe à l'autre, genre :
Selection.EndKey unit:=wdLine, Extend:=wdMove
Selection.Move unit:=wdLine

si oui, le reste devrait être relativement simple (mettre dans une variable chaque "portion", en y ajoutant un saut de ligne.
ou encore plus simple : insérer à chaque étape ci-dessus, dans word, un saut de ligne réel ===>>> copier tout dans une variable utilisée dans VB.Net ==>> quitter word sans sauvegarder.
Je ne connais pas vraiment Word, mais il me semble que ce devrait être possible.
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
0
fab2503 Messages postés 19 Date d'inscription lundi 31 juillet 2006 Statut Membre Dernière intervention 4 juin 2012
4 juin 2012 à 07:15
Bonjour,

Merci à tous pour vos réponses, dans le code j'utilise la propriété suivante de mon document Word :

document.range.text


Je mets ce contenu dans une variable, je vais regarder à vos solutions ou sinon faire un découpage manuel du contenu de ma variable.

Merci.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
4 juin 2012 à 08:19
Je ne comprends de toutes manières vraiment pas ce que pourrait être la mise en forme du contenu d'une variable.
Le texte d'une variable est brut. Ce n'est que si on l'affiche, que devrait se poser l'aspect visuel de l'affichage. Il suffit alors de "jouer" avec les propriétés du contrôle d'affichage de ce texte.
Mais bon ....


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
0
fab2503 Messages postés 19 Date d'inscription lundi 31 juillet 2006 Statut Membre Dernière intervention 4 juin 2012
4 juin 2012 à 20:42
Oui c'est certain cette variable permet de récupérer le texte pour l'afficher dans une zone texte et lire 6 pages de texte Word en un seul bloc n'est pas super aisé.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
5 juin 2012 à 07:10
Ne pas confondre lignes réelles et lignes d'affichage. Les premières sont séparées par un véritable retour à la lignes, les secondes n'existent pas réellement et ne correspondent qu'à une disposition de l'affichage.
Une textbox possède la propriété Multiline. Si celle-ci est mise à True, d'une part, et que, d'autre part, on n'autorise que la scrollbar verticale, le texte, quelle que soit sa longueur, sera affiché sur plusieurs lignes et "découpé" (en seule présentation visuelle) en fonction de la largeur donnée au contrôle.
Voilà tout.


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
5 juin 2012 à 08:03
Quant à :
lire 6 pages de texte Word en un seul bloc n'est pas super aisé

Lire 6 pages de texte Word dans une textbox ne risque de toutes manières pas de l'être (aisé), même en donnant à la textbox de très grandes dimensions !
Autant ouvrir le document Word lui-même dans ton application, au besoin en lecture seule !

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
0
Rejoignez-nous