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
1
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
11
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
1
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
71
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
4
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