Curseur dans un WebBrowser (VBA)

Bonjour à tous !

Je me suis toujours débrouillé seul grâce à ce forum, mais là je sèche sur un problème

Petite mise en situation :

  • J'ai un Userform dans lequel se trouve un WebBrowser contenant une page HTML (en local).
  • Le but de cet UserForm est d'éditer un contenu texte et son format. Des boutons sur l'UserForm permettent de mettre le texte en gras, en italique, etc..
  • Le code Html contient simplement une DIV, avec l'attribut " contenteditable='true' " pour permettre l'édition, et la sélection du texte.
  • Le formatage du texte se fait sur le texte sélectionné (ici par ex pour mettre en italique) :
WebBrowser1.document.execCommand("italic", True, Nothing)

- J'ai une fonction qui doit "clear" des caractères non désirés dans la DIV à chaque saisie car ce contenu va ensuite être exploité.

Pour nettoyer la saisie, je récupère le contenu de la DIV :

ctn = WebBrowser1.document.body.innerHTML

Ensuite je supprime les caractères non voulue dans "ctn" et je termine avec :

WebBrowser1.document.body.innerHTML = ctn

Problème :

A chaque nouvelle saisie de l'utilisateur, mon curseur d'écriture se retrouve à la fin du texte de la DIV, suite à la réécriture du code HTML par la procédure "Clear". Comment replacer manuellement le curseur à sa précédente position (avant l’exécution de la procédure "Clear") ?

Un grand merci à toute réponse ou piste !

apercu vba excel
Rechercher des sujets similaires à "curseur webbrowser vba"