Supprimer du texte entre 2 titres

Daydayer Messages postés 201 Date d'inscription mercredi 1 décembre 2004 Statut Membre Dernière intervention 13 août 2005 - 8 févr. 2005 à 19:00
Daydayer Messages postés 201 Date d'inscription mercredi 1 décembre 2004 Statut Membre Dernière intervention 13 août 2005 - 10 févr. 2005 à 21:55
bon je pensais que résoudre ce problème serait simple. Malheureusement, j'ai envoyé ce message sur 2 ou 3 forums de ce site... et aucune réponse....
Donc je suis un peu embêtée.

En fait ,il faut que je supprime du texte sur un doc word.
Ce texte se situe entre 2 titres, de format 'titre', et qui seront toujours les mêmes.
Par contre, la longueur de mon texte, je ne la connais pas.
donc je ne connais pas le nombred e lignes qui sépare les deux titres.
J'avais pensé à faire une recherche de titres avec l'outil de recherche de texte, puis repérer la place du cursuer à chaque fois.
ensuite, il me suffirait d'effacer ce texte entre les deux positions repérées...
Le problème, c'est que je ne sais oas comment récupérer la valeur de la position du curseur à partir d'un doc word....

bon, si vous avez une idée pour me donner la facon de trouver cette position ou une autre manière de procéder à cette suppression....MERCIIIIIIIIIIIII

Daydayerement Vôtre

5 réponses

Daydayer Messages postés 201 Date d'inscription mercredi 1 décembre 2004 Statut Membre Dernière intervention 13 août 2005
8 févr. 2005 à 19:04
je précise que je bosse sur VB6

Daydayerement Vôtre
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
8 févr. 2005 à 19:43
Private Sub Command1_Click()
Dim s1 As String
Dim s2 As String
Dim b As Boolean
Dim i As Integer
Dim j As Integer
Dim k As Integer

s1 = Text1.Text
i = 1
While b = False
b = True
j = InStr(i, s1, "titre")
If j > 0 Then
j = j + 5
k = InStr(j, s1, "titre")
If k > 0 Then
s2 = s2 & Mid$(s1, i, j - i) & "titre"
i = k + 5
b = False
End If
End If
Wend
Text1.Text = s2 & Mid$(s1, i)
End Sub

Daniel
0
Daydayer Messages postés 201 Date d'inscription mercredi 1 décembre 2004 Statut Membre Dernière intervention 13 août 2005
8 févr. 2005 à 21:21
merci pour ton code, ms pourrai tu me le commenter un peu s'il te plait?
pourrais -tu m'expliquer également comment se servir des fonction 'mid' et 'instr'?

merci beaucoup!

Daydayerement Vôtre
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
9 févr. 2005 à 00:03
commentaires:
plutôt que de travailler sur l'object lui même, il vaut mieux travailler sur des chaînes, c'est plus rapide.
s1 sera la chaîne d'origine et s2 la chaîne réceptrice.
à partir de la position i = 1 on recherche la première occurence de "titre" grâce à l'instruction Instr (position de départ,"chaîne à parcourir","chaîne à trouver") si pas trouvé on obtient zéro, si trouvé on obtient la position j.
à partir de j + longueur de la chaîne à trouver, on cherche toujours avec Instr la deuxième occurrence de "titre", si trouvé on obtient la position k.
si on a trouvé les deux occurences (j et k > 0) on recopie dans s2, la chaîne s1 à partir de i jusqu'à j, donc de longueur j - i , grâce à l'instruction Mid$("chaîne origine",position de départ, longueur) faut pas oublier que la première occurence de titre est déjà comprise puisqu'on a fait j = j + 5, à celà j'ajoute la deuxième occurence de "titre" on a donc dans s1:
débutdelachaînetitretitre
ensuite on redémarre avec position de départ derrière la deuxième occurence de "titre" donc avec i = k + 5on s'arrête quand on a pas trouvé les deux occurences, soit j 0, soit j > 0 et k 0, pour faire plus simple quand b = false
à la fin faut pas oublier d'ajouter la fin de chaîne à partir de i et celà grace à l'instruction Mid$ mais cette fois ci sans la longueur ce qui signifie tout le reste de la chaîne à partir de la position indiquée.

Daniel
0

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

Posez votre question
Daydayer Messages postés 201 Date d'inscription mercredi 1 décembre 2004 Statut Membre Dernière intervention 13 août 2005
10 févr. 2005 à 21:55
je regarde ce que cela donne et je te fais signe!

merci pour tes comentaires, c'est plus facile à comprendre!

Daydayerement Vôtre
0
Rejoignez-nous