Stoper une boucle do -> loop

Résolu
ManuAntibes Messages postés 491 Date d'inscription mardi 24 octobre 2000 Statut Membre Dernière intervention 18 novembre 2021 - 24 juin 2005 à 12:22
ManuAntibes Messages postés 491 Date d'inscription mardi 24 octobre 2000 Statut Membre Dernière intervention 18 novembre 2021 - 25 juin 2005 à 12:27
salut
Je travail sur word vba
je n'arrive pas a stoper ma boucle do.
La derniere ligne de ma page word où ma boucle doit normalement sortir est un "saut de ligne", et je n'arrive pas a lui faire reconnaitre pour sortir.

voici un bout de mon code :
....
Do While Selection.Range <> "^l" ' sortir lorsqu'il y a le saut de ligne
....
Loop
...

"^l" Correspond au saut de ligne que word donne dans les caracteres speciaux de rechercher et remplacer par.
mais ne le lis pas comme un saut de ligne et ne stop pas ma boucle.
Que dois je mettre dans les guillemes pour stopper ma boucle???
merci de votre aide

MANUANTIBES

12 réponses

Mikaels35 Messages postés 146 Date d'inscription dimanche 23 janvier 2005 Statut Membre Dernière intervention 17 novembre 2009 2
24 juin 2005 à 20:25
Ce ne serait pas CHR(13) le saut de ligne (ligne suivante)?
CHR(10) est le retour en début de ligne (même ligne)!
En principe on met toujours ODh, OAh en fin de ligne pour aller à la ligne suivante et en début de ligne !
3
cs_moustachu Messages postés 1079 Date d'inscription jeudi 14 novembre 2002 Statut Membre Dernière intervention 1 janvier 2012
24 juin 2005 à 12:56
Selection.Range.text peut être ?

++
Moustachu
0
cs_wape Messages postés 262 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 19 décembre 2010 12
24 juin 2005 à 13:01
Bonjour,

Essaye éventuellement avec :

Selection.Range <> Chr(11)

wape
0
le5ejumeau Messages postés 130 Date d'inscription mardi 11 mars 2003 Statut Membre Dernière intervention 9 juillet 2009
24 juin 2005 à 15:04
c'est pas plutôt chr(10) le saut de ligne ???
0

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

Posez votre question
cs_MasterHack Messages postés 586 Date d'inscription jeudi 18 septembre 2003 Statut Membre Dernière intervention 13 février 2008 2
24 juin 2005 à 15:06
salut pour sortir d'une boucle do loop utilise "exit do"


<HR>

Life is short...Learn more
Copy Rights <> Rights to Copy
0
le5ejumeau Messages postés 130 Date d'inscription mardi 11 mars 2003 Statut Membre Dernière intervention 9 juillet 2009
24 juin 2005 à 15:13
pas la peine de faire un exit for dans ce cas car il utilise un while : faire la boucle temps que la condition est rempli
0
cs_MasterHack Messages postés 586 Date d'inscription jeudi 18 septembre 2003 Statut Membre Dernière intervention 13 février 2008 2
24 juin 2005 à 15:16
exit for qui a dis ça !! o_O


<HR>

Life is short...Learn more
Copy Rights <> Rights to Copy
0
le5ejumeau Messages postés 130 Date d'inscription mardi 11 mars 2003 Statut Membre Dernière intervention 9 juillet 2009
24 juin 2005 à 15:23
dsl
je recomence ma phrase pas la peine de faire un exit do à cause du while ....
0
le5ejumeau Messages postés 130 Date d'inscription mardi 11 mars 2003 Statut Membre Dernière intervention 9 juillet 2009
24 juin 2005 à 23:28
oui tu as raison 0Ah : line feed
0Dh : cariage return
mais c'est bizzard lorsque je fais un
msgbox "Untruc" & chr(10) & "UNautreTruc
ca fait la meme chose que
msgbox "Untruc" & chr(13) & "UNautreTruc
????
0
Mikaels35 Messages postés 146 Date d'inscription dimanche 23 janvier 2005 Statut Membre Dernière intervention 17 novembre 2009 2
25 juin 2005 à 07:34
Peut être que VB interprète ça comme un VbCrLf dans les deux cas !
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
25 juin 2005 à 09:44
VB n'interprete pas.... VbCrLf (ou VbNewline ^^) c'est simplement VbCr & VbLf .... Chr$(13) & Chr$(10)
faites le tes, vous constaterez que Word utilise Chr$(13)

Le probleme, je pense est que ta boucle (le Selection.Range) ne contient pas qu'un caractère.... (une ligne ?)
donc, la sortie n'est pas faite...

J'ignore si ma solution pourra t'aider, mais j'ai fait ca...

(Doc est de type Word.Document)

Dim ExtractedWord As Word.Range
Dim i As Integer
List1.Clear
i = 1
Set ExtractedWord = Doc.Words(i) Do Until i >Doc.Words.Count Or ExtractedWord.Text Chr(13) '# VbCr
'# attention, ici, tu manipule les mots, un par un ^^
'# Ici, je les affiche dans un ListBox....
List1.AddItem ExtractedWord.Text

i = i + 1
Set ExtractedWord = Doc.Words(i)
Loop

Amusez-vous !
Renfield - thomas_reynald@msn.com
Admin CodeS-SourceS - MVP Visual Basic
0
ManuAntibes Messages postés 491 Date d'inscription mardi 24 octobre 2000 Statut Membre Dernière intervention 18 novembre 2021 5
25 juin 2005 à 12:27
Salut à tous

merci pour toutes ces reponses

j'ai mis CHR(13)

Do While Selection.Range <> Chr(13)

loop

et ça a marché encore merci

A+

MANUANTIBES
0
Rejoignez-nous