XL 2016 Exportation d'une succession de texte vers un seul signet word ?

  • Initiateur de la discussion Initiateur de la discussion bilbinou
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

bilbinou

XLDnaute Nouveau
Bonjour à tous !

Je voulais savoir s'il était possible d'exporter successivement le contenu d'une TextBox vers un signet Word.

J'expose mon problème: j'ai un bouton de commande qui me permet d'exporter le contenu d'une TextBox dans un document Word déjà ouvert vers un signet se trouvant à un endroit précis du document.
Le code : Word.ActiveDocument.Bookmarks ("signet1").Range = TextBox1.Value me permet de faire cette envoi.
Néanmoins, après cette première exportation, le contenu de la TextBox1 change par la suite pour proposer un autre texte. J'aimerai que lorsque l'on appuie de nouveau sur le bouton de commande, le nouveau texte envoyé vienne s'insérer en dessous du texte qui a été exporté avant (et ceci pour plusieurs textes).

Faut-il faire une incrémentation de signet et donc avoir plusieurs signets de type : signet1, signet2, signet3 dans le document word ou existe-t-il une méthode qui permet de ne pas avoir à créer plusieurs signets ? (peut-être un seul signet où on viendrait copier le range, exporter le texte puis coller ce range en dessous du texte ? De cette façon on garderai le même nom pour le signet ... je ne sais pas si ce que je propose est possible).

Je remercie d'avance ceux qui pourront m'apporter une réponse !

PS : si j'ai mal exposé mon problème et qu'il faut le classeur ou des captures d'écran, n'hésitez pas à me le signaler 🙂
 
Solution
Bonjour bilbinou, le forum,

Concernant l'activation de Word voyez ce fichier (3) :
VB:
Sub Remplacer()
Dim nom As String, texte As String, Wapp As Object, deb As Long
nom = "toto" 'nom du signet Word, à adapter
texte = Trim(Replace(TextBox1, vbCrLf, vbLf)) 'texte à ajouter
If texte = "" Then Exit Sub
On Error Resume Next
Set Wapp = GetObject(, "Word.Application")
If Err Then MsgBox "Ouvrez le document Word !", 48: Exit Sub
Wapp.Visible = True
With Wapp.ActiveDocument
    If .Path <> "" Then ThisWorkbook.FollowHyperlink .FullName 'force l'activation de Word
    deb = .Bookmarks(nom).Start 'début du signet
    If Err Then MsgBox "Le signet n'existe pas !", 48: GoTo 1
    texte = .Bookmarks(nom).Range.Text & vbLf & texte & vbLf...
Bonjour bilbinou, le forum,

Concernant l'activation de Word voyez ce fichier (3) :
VB:
Sub Remplacer()
Dim nom As String, texte As String, Wapp As Object, deb As Long
nom = "toto" 'nom du signet Word, à adapter
texte = Trim(Replace(TextBox1, vbCrLf, vbLf)) 'texte à ajouter
If texte = "" Then Exit Sub
On Error Resume Next
Set Wapp = GetObject(, "Word.Application")
If Err Then MsgBox "Ouvrez le document Word !", 48: Exit Sub
Wapp.Visible = True
With Wapp.ActiveDocument
    If .Path <> "" Then ThisWorkbook.FollowHyperlink .FullName 'force l'activation de Word
    deb = .Bookmarks(nom).Start 'début du signet
    If Err Then MsgBox "Le signet n'existe pas !", 48: GoTo 1
    texte = .Bookmarks(nom).Range.Text & vbLf & texte & vbLf 'encadrement par des renvois à la ligne
    .Bookmarks(nom).Range.Text = texte 'remplace le texte contenu
    .Bookmarks.Add nom, .Range(deb, deb + Len(texte) - 1) 'recrée le signet
End With
1 AppActivate Wapp.Caption 'si le document n'est pas sur le disque dur
End Sub
ThisWorkbook.FollowHyperlink force l'activation de Word si le document est sur le disque dur.

A+
 

Pièces jointes

Bonjour,

J'ai en effet tester sur les fichiers que vous avez joints et j'ai pu adapter le code à mon projet.
Tout fonctionne parfaitement !
Merci beaucoup pour ce temps que vous m'avez consacré ! Cela m'a permis d'en apprendre beaucoup que ce soit les propriétés TRIM, vblf, vbcrlf , len ...
Une très bonne journée à vous et bonne continuation !
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
293
Réponses
5
Affichages
605
Retour