Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Word > VBA Word
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/07/2007, 13h58   #1
Invité de passage
 
Inscription : septembre 2005
Messages : 3
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 3
Points : 0
Points : 0
Par défaut Manipulation de texte, retour chariot et saut de ligne

Bonjour,

Je vous expose ma situation : je dois traiter des documents divers et variés contenant des données initialement en vrac. Ces données concernent une liste de personnes avec leur coordonnées. Ces coordonées sont peu lisible au départ (nom et prénom dans une police illisible, nombreux sauts de lignes etc.)

Mon but est de mettre en page les données. Ainsi, chaque page doit concerner les coordonées d'une seule personne. Il y a autant de pages que de personnes.

Pour cela je dois :
1) Sélectionner tout le texte et le mettre en Arial 10
2) S'il y a 3 ou 4 Retour chariot qui se suivent, je dois les remplacer par un seul retour chariot
3)Dès que je trouve le mot "Nom", ce qui correspond au début des coordonées d'une personne, je dois sauter de page afin que ses données soient sur une unique page.

Je ne sais pas comment effectuer le 2ème point car je souhaiterais utiliser la méthode "Replacement" mais je ne sais pas quel est le symbole d'un retour chariot en VBA.

Je ne sais pas non plus comment effectuer le 3ème point. Dois utiliser "Selection"? Quelle est la méthode pour insérer après un mot queconque? J'ai trouvé la méthode "Insertbreak" mais je ne sais pas comment implémenter ce que je souhaite.

Pour information, j'ai fait mes recherches sur l'aide de Microsoft Word -> Visual Basic, lorsqu'on édite une macro.

Pouvez vous m'aider? Merci!
Jessica_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/07/2007, 08h17   #2
Invité de passage
 
Inscription : septembre 2005
Messages : 3
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 3
Points : 0
Points : 0
Toujours personne pour m'aider?
Jessica_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/07/2007, 12h23   #3
Membre du Club
 
Inscription : février 2007
Messages : 71
Détails du profil
Informations personnelles :
Âge : 30

Informations forums :
Inscription : février 2007
Messages : 71
Points : 62
Points : 62
Salut, ^^

le retour chariot en vba c'est Chr(13)
Il suffirait de parcourir ligne par ligne le document et de vérifier si plusieurs retour chariot se suivent

sinon pour le 3eme point, tu peux utiliser

Code :
Selection.Range.Text = "Ton texte"
ou

Code :
Selection.TypeText "Ton texte"
dans les 2 cas, ça t'insère ton texte au niveau de la sélection.
Speedrman est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/07/2007, 13h19   #4
Expert Confirmé
 
Avatar de zazaraignée
 
Étudiant
Inscription : février 2004
Messages : 3 173
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : février 2004
Messages : 3 173
Points : 3 543
Points : 3 543
Déjà pour sélectionner tout le texte et le mettre en Arial 10pts, tu peux enregistrer une macro. Pour sélectionner tout, fais Ctrl + A.

Je regarde un peu pour la suite.

Tu peux nous donner quelques données type pour faire des tests?
__________________
  • Pour les nouveaux : Mode d'emploi et aide aux nouveaux
  • et impérativement les règles du forum. Histoire de garder une ambiance amicale.
  • Noubliez pas les balises de Code pour vos listings : bouton # de l'éditeur. Et n'oubliez pas non plus de bouton
  • Je ne réponds pas aux questions posées par MP.
zazaraignée est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2007, 12h54   #5
Invité de passage
 
Inscription : septembre 2005
Messages : 3
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 3
Points : 0
Points : 0
Eh bien voici un extrait d'un document : A chaque "Poste de gestion", je dois sauter de page pour qu'il y ait une facture client par page. De plus s'il y a trop de retour chariot (plus de 2) je dois les remplacer par un seul retour chariot. Voici donc l'extrait, c'est un document tout bete txt :
Code :
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
 
Poste de gestion : A
 
       MARTIN                                 30/10/1924             107
       JUSTIN                               A VILLENEUVE LE R
       MARTINE             ENTREE:21/04/2006 SORTIE:15/05/2006        2007
                          MODE SORTIE SO SORTIE DIRECTE          REEMISSION 06
       400 CHEMIN ST DENIS                                      1051039 000269
       LE FLAMANT ROSE                           GIRARD
       06115    LE CANNET                        DENISE               BEN: 03
       FR  FRANCE                              03017110         2210288669206 73
                                                                RISQ28 MT10
 
 
 
 
280406 FORFAIT JOURNALIE  50       17    1500         100       25500 H7721
150506 FORFAIT DERNIER J  FJDS      1    1500         100        1500 H7721
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
                                  TOTAL DU EN EUROS      *******27000 4111
 
 
 
                                                         *******27000
 
 
 
Poste de gestion : B
 
       MARTIN                                 30/10/1924             107
       JUSTIN                               A VILLENEUVE LE R
       MARTINE             ENTREE:21/04/2006 SORTIE:15/05/2006        2007
                          MODE SORTIE SO SORTIE DIRECTE          REEMISSION 06
       400 CHEMIN ST DENIS                                      1051039 000269
       LE FLAMANT ROSE                           GIRARD
       06115    LE CANNET                        DENISE               BEN: 03
       FR  FRANCE                              03017110         2210288669206 73
                                                                RISQ28 MT10
 
 
 
 
280406 FORFAIT JOURNALIE  50       17    1500         100       25500 H7721
150506 FORFAIT DERNIER J  FJDS      1    1500         100        1500 H7721
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
                                  TOTAL DU EN EUROS      *******27000 4111
 
 
 
                                                         *******27000
Vous voyez il y a deux postes de gestion A, et B, je dois ainsi separer le texte en deux et le mettre sur une page pour chaque poste.

Merci pour vos réponses!!!!
Jessica_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2007, 13h09   #6
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 351
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

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

Informations forums :
Inscription : février 2006
Messages : 17 351
Points : 29 264
Points : 29 264
FAQ

Les retours de charriot inutiles sont des lignes vides, et la dans la FAQ, il y a un code qui permet de supprimer les lignes vide d'un document.
Il est en lien.
__________________
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 !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h13.


 
 
 
 
Partenaires

Hébergement Web