Suppression des retours chariots - VB/VBA/VBS - Programmation
Marsh Posté le 22-03-2007 à 17:32:50
Peut-être faudrait-il redéfinir la sélection en fonction de son contenu.
Par exemple, si la recherche sélectionne une zone avec un saut de ligne, alors tu redéfinis la sélection sans le saut de ligne avant de poursuivre ton traitement.
Désolé je ne connais pas assez VBA Word pour t'aider plus.
Marsh Posté le 22-03-2007 à 18:33:19
enleve ton goto pour voir si tout marche bien dejà
de plus tu dois pouvoir faire un gain de lignes de code en utilisant plutot que ton while .find.found = true
un truc avec
dim recherche as find
dim currpane as pane
set currpane = application.activedocument.activepane
currpane.selection.goto wdgotoline, wdgotofirst
set recherche = currpann.selection.find
with recherche
.clearformatting
......
while recherche.execute(findtext:="<term>" )
Wend
end with
à mettre à la bonne sauce hein
Marsh Posté le 23-03-2007 à 09:32:11
ok merci ms ça ne résoud oas mon problème des retours chariot...
Marsh Posté le 23-03-2007 à 09:41:33
tu peux nous faire un SS de ton probleme stp ?
Car si ton utilisateur prends le saut de ligne, n'est-ce pas parce qu'il ne sait pas se servir de sa souris
Marsh Posté le 23-03-2007 à 13:48:19
Bonjour,
Je fais souvent ce type de traitement, la solution consiste dès le début de rechercher tous les ^013
et pas ^p, et d'affecter un style pour exemple "retour" ainsi deux mots séparés par un retour seront trouvé séparément.
Pourquoi ^013 et pas ^p, il arrive que certain fichier word provenant de mac, les codes retours sont mal interprétés avec ^013 je n'ai jamais de problème
Bonne après midi
Marsh Posté le 23-03-2007 à 15:16:41
Non mon réel problème est que je dois avoir les tag <term></term> sur la même ligne....donc avant de mettre la balise </term>, je dois tester si il y a un retour chariot...s
Marsh Posté le 23-03-2007 à 15:20:26
acorsa a écrit : Non mon réel problème est que je dois avoir les tag <term></term> sur la même ligne....donc avant de mettre la balise </term>, je dois tester si il y a un retour chariot...s |
ah ! ben tu vois si tu nous donnes cette raison pour ton problème, on va peut etre pouvoir te trouver une autre solution
Marsh Posté le 23-03-2007 à 15:24:43
jpcheck a écrit : ah ! ben tu vois si tu nous donnes cette raison pour ton problème, on va peut etre pouvoir te trouver une autre solution |
regarde du cote de la fonction nolinebreakafter de ton document, ca doit te permettre d'avancer
Marsh Posté le 26-03-2007 à 11:48:04
Bonjour,
En imaginant que la style soit Style1 regarde si cela te conviens
Sub dudule()
Selection.HomeKey Unit:=wdStory
With Selection.Find
.ClearFormatting
.Replacement.ClearFormatting
.Forward = True
.MatchWildcards = False
.Style = "Style1"
.Text = ""
.Execute
End With
While Selection.Find.Found
Selection = "<term>" & Replace(Selection, Chr(13), "</term>" & Chr(13) & "<term>" ) & "</term>"
Selection = Replace(Selection, "<term></term>", "" ) & ""
Selection.MoveRight
Selection.Find.Execute
Wend
End Sub
Marsh Posté le 22-03-2007 à 16:48:14
Bonjour,
J'ai une fonction qui recherche un style dans un document Word et qui insère avant et après le ou les mots qui ont ce styledes balises <term></term>. Mais lorsque, pour attribuer le style, on sélectionne le terme et le saut de ligne le tag ne se place pas directement derrière le mot ce qui pose problème...
Je n'arrive pas à remplacer les retours chariots ...Merci pour votre aide!
Voici le code: