Stoper une boucle do -> loop [Résolu]

Signaler
Messages postés
486
Date d'inscription
mardi 24 octobre 2000
Statut
Membre
Dernière intervention
23 mars 2019
-
Messages postés
486
Date d'inscription
mardi 24 octobre 2000
Statut
Membre
Dernière intervention
23 mars 2019
-
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

Messages postés
146
Date d'inscription
dimanche 23 janvier 2005
Statut
Membre
Dernière intervention
17 novembre 2009
1
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 152 internautes nous ont dit merci ce mois-ci

Messages postés
1079
Date d'inscription
jeudi 14 novembre 2002
Statut
Membre
Dernière intervention
1 janvier 2012

Selection.Range.text peut être ?

++
Moustachu
Messages postés
262
Date d'inscription
samedi 21 décembre 2002
Statut
Membre
Dernière intervention
19 décembre 2010
6
Bonjour,

Essaye éventuellement avec :

Selection.Range <> Chr(11)

wape
Messages postés
130
Date d'inscription
mardi 11 mars 2003
Statut
Membre
Dernière intervention
9 juillet 2009

c'est pas plutôt chr(10) le saut de ligne ???
Messages postés
586
Date d'inscription
jeudi 18 septembre 2003
Statut
Membre
Dernière intervention
13 février 2008
2
salut pour sortir d'une boucle do loop utilise "exit do"


<HR>

Life is short...Learn more
Copy Rights <> Rights to Copy
Messages postés
130
Date d'inscription
mardi 11 mars 2003
Statut
Membre
Dernière intervention
9 juillet 2009

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
Messages postés
586
Date d'inscription
jeudi 18 septembre 2003
Statut
Membre
Dernière intervention
13 février 2008
2
exit for qui a dis ça !! o_O


<HR>

Life is short...Learn more
Copy Rights <> Rights to Copy
Messages postés
130
Date d'inscription
mardi 11 mars 2003
Statut
Membre
Dernière intervention
9 juillet 2009

dsl
je recomence ma phrase pas la peine de faire un exit do à cause du while ....
Messages postés
130
Date d'inscription
mardi 11 mars 2003
Statut
Membre
Dernière intervention
9 juillet 2009

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
????
Messages postés
146
Date d'inscription
dimanche 23 janvier 2005
Statut
Membre
Dernière intervention
17 novembre 2009
1
Peut être que VB interprète ça comme un VbCrLf dans les deux cas !
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
68
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
Messages postés
486
Date d'inscription
mardi 24 octobre 2000
Statut
Membre
Dernière intervention
23 mars 2019
4
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