[VB6] Utiliser la fonction "mid" différement ?

shooker Messages postés 7 Date d'inscription jeudi 9 mars 2006 Statut Membre Dernière intervention 21 juin 2006 - 21 juin 2006 à 11:07
shooker Messages postés 7 Date d'inscription jeudi 9 mars 2006 Statut Membre Dernière intervention 21 juin 2006 - 21 juin 2006 à 15:44
Bonjour,

est-il possible d'utiliser la fonction "mid" pour séléctionner un texte et arrêter la sélection dès qu'il y a un "." ?

En fait il faut que j'enregistre un phrase d'un fichier word dans une variable pour la mettre dans un fichier excel.

10 réponses

econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
21 juin 2006 à 11:16
Salut,

Il faut combiner les fonctions Mid$() et Instr().

Dans ta chaine de caractère nommé sChaine, Instr(1,sChaine,".")
te renverra la position du point.
Ensuite, Mid$(sChaine,1,positionDuPoint) renverra la phrase.





Manu


--------------------------------------------------------------------------------------------
Avant de poster un message, n'oubliez pas de consulter le reglement.
0
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
21 juin 2006 à 11:17
pour il faut utiliser la fonction split qui coupe la string selon le parametre que tu veux

 Drikce 06
0
shooker Messages postés 7 Date d'inscription jeudi 9 mars 2006 Statut Membre Dernière intervention 21 juin 2006
21 juin 2006 à 11:20
Je vais essayer la solution de econs, et si je n'y arrive pas je me renseignerai sur la solution de Drikce06.
Merci.
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
21 juin 2006 à 11:21
Salut,

Regarde si ceci peut t 'aider.

Il faut juste s'assurer que toutes les phrases se terminent par un point.
Le resultat fait que dans le tableau tu as normalement toutes les phrases mais sans les points à la fin.

    Dim Lignes As String 
    Dim Phrases() As String 
    Dim i As Integer 

    ActiveDocument.Select 
    Lignes = Selection.Text 
    Phrases = Split(Lignes, ".") 
    For i = LBound(Phrases) To UBound(Phrases) - 1 
        Call MsgBox(Phrases(i)) 
    Next 
 

<small> Coloration syntaxique automatique [AFCK]</small>
       

PS: Veux tu vraiment passer par Mid?

@+, Julien
Pensez: Moteur de Recherche, Réponse Acceptée
0

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

Posez votre question
shooker Messages postés 7 Date d'inscription jeudi 9 mars 2006 Statut Membre Dernière intervention 21 juin 2006
21 juin 2006 à 11:40
Ce code me renvoit la totalité du texte en msgbox. Et non je ne veux pas passer absoluement par "mid", si vous avez des suggestions plus adéquates, je suis preneur :)
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
21 juin 2006 à 11:43
Re,

La totalité du texte ?????

T'es sur qu il y a des points? J ai teste avec trois ou quatre phrase et cela fonctionnait

Envoie le doc ici si tu veux epsylon9@gmail.com

@+, Julien
Pensez: Moteur de Recherche, Réponse Acceptée
0
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
21 juin 2006 à 11:43
la fonction split est la meilleur pour ça mais je fais ca en vb2005 après je sais pas si elle le fais en vb6 regarde l'aide pour voir

 Drikce 06
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
21 juin 2006 à 12:00
Re,

Je ne sais pas si tu as vu mais dans ton document il n'y a qu un "." donc mon résultat ne te donne que deux phrases

Il y a tout de même une petite correction à y apporter.

 For i =   LBound (Phrases) To UBound(Phrases) - 1 

Devient

 For i  = LBound(Phrases) To UBound(Phrases)

Si toi tu veux chaque lignes cela sera différent.

IL faut que tu apportes plus de précision sur ce que tu veux faire.

@+, Julien
Pensez: Moteur de Recherche, Réponse Acceptée
0
shooker Messages postés 7 Date d'inscription jeudi 9 mars 2006 Statut Membre Dernière intervention 21 juin 2006
21 juin 2006 à 12:34
En fait j'aurais un document word avec plusieurs caractéristiques,
plusieurs titres, et je dois prendre la première phrase du texte (texte
qui va changer à chaque ouverture) qui se situe en dessous d'un des
titres.


Je dois donc trouver le bon endroit à prendre et l'arrêter au premier "."
0
shooker Messages postés 7 Date d'inscription jeudi 9 mars 2006 Statut Membre Dernière intervention 21 juin 2006
21 juin 2006 à 15:44
Pour être plus explicite, je vous donne un exemple du document word :

Titre 1 : blabla
bla bla bla bla

Titre 2 : autre titre
texte à enregistrer. bla bla bla.

Titre 3 : autre
....

Bon voilà j'espère que c'est plus clair. Si vous avez une méthode efficace pour réaliser cet automatisme, faites le savoir !
0
Rejoignez-nous