En train de devenir chèvre je viens bêler un petit coup sur ce forum en espérant qu'une âme charitable et compétente compatira...
J'écris une petite application de facturation, une reprise d'un existant sous Word. Le lien fait entre la fiche de travail remplie par l'ouvrier et la comptabilité est original et j'aimerais le reproduire : La comptable saisit dans la facture en cours de rédaction (qui peut comporter pas mal de texte libre) un code standard porté par l'ouvrier sur sa fiche de travail. Actuellement, le système utilise des AutoText (en fait leur équivalent sous Word) et remplace le code saisi par un libellé qui lui correspond.
Je souhaite reprendre et étendre cette approche. Pour cela, je dois sélectionner le code saisi, puis l'utiliser pour consulter une base de données qui contient les informations utiles à la facturation de l'item, que j'insérerai dans un tableau à la place du code.
Je maitrise la partie base de données et je sais sélectionner le dernier mot du texte global, je me débrouille avec les tableaux. Ce que je dois faire, c'est sélectionner le mot qui se trouve directement avant le curseur visible, où que soit ce dernier. Et là, je sèche complètement.
Voici le petit bout de code que j'utilise pour vérifier comment ça marche. J'ai enlevé les appels à Xray :
Code : Tout sélectionner
Sub Main
Dim monDocument As Object, monTexte As Object
Dim monCurseur As Object
Dim curseurVisible As Object
Dim laCle As String
monDocument = ThisComponent
monTexte = monDocument.Text
curseurVisible = monDocument.currentController.viewCursor
monCurseur = monTexte.createTextCursor(curseurVisible)
monCurseur.gotoPreviousWord(True)
laCle = monCurseur.String
msgBox(laCle)
End Sub
Merci de vous pencher sur mes affres, à bientôt j'espère.