Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

envoyer saisie textbox excel dans word

4 réponses
Avatar
GA
Bonjour à tous,

Je cherche à envoyer le texte saisi (longueur variable) sur une textbox
excel dans un fichier word sans passer par une feuille excel ceci afin
d'importer le texte tel quel et l'insérer dans un tableau word existant.

Quelqu'un peut-il m'aider ?

Merci beaucoup

Cordialement

4 réponses

Avatar
Daniel Josserand
Bonsoir,
Ajoute un commandButton et cette macro:
Le texte sera ecri dans le DocAOUvrir
Private Sub CommandButton1_Click()
Dim LTexte As String
LTexte = TextBox1.Value
Set AppWord = CreateObject("Word.Application")
With AppWord
.Visible = True
.Documents.Open Filename:="C:AJETERDocAOuvrir.doc"
With AppWord.Selection
.TypeParagraph
.TypeText Text:=LTexte
End With
End With
End Sub
Daniel

FAQ MPFE
http://dj.joss.free.fr/faq.htm

"GA" a écrit dans le message de news:

Bonjour à tous,

Je cherche à envoyer le texte saisi (longueur variable) sur une textbox
excel dans un fichier word sans passer par une feuille excel ceci afin
d'importer le texte tel quel et l'insérer dans un tableau word existant.

Quelqu'un peut-il m'aider ?

Merci beaucoup

Cordialement




Avatar
Gaenonius
Tu peux passer par un objet DataObject (la bibliothèque "Microsoft Forms 2.0
Object Library" doit être cochée dans les références de ton projet Excel pour
que cet objet soit disponible).
Ensuite utilise ce genre de syntaxe :

''''''''''''''''''''''''''''''
Sub CopieDansWord()
Dim Wrd As Object, Donnee As New DataObject, Texte

Texte = "Hello world !" 'ou le texte de ton textbox
Donnee.SetText Texte
Donnee.PutInClipboard

Set Wrd = CreateObject("Word.Application")
Wrd.documents.Add
Donnee.GetFromClipboard
Wrd.Selection.Text = Donnee.GetText(1)
Wrd.Visible = True

End Sub
''''''''''''''''''''''''''''''

--
Gaenonius

Bonjour à tous,

Je cherche à envoyer le texte saisi (longueur variable) sur une textbox
excel dans un fichier word sans passer par une feuille excel ceci afin
d'importer le texte tel quel et l'insérer dans un tableau word existant.

Quelqu'un peut-il m'aider ?

Merci beaucoup

Cordialement




Avatar
GA
Bonsoir,
Ajoute un commandButton et cette macro:
Le texte sera ecri dans le DocAOUvrir
Private Sub CommandButton1_Click()
Dim LTexte As String
LTexte = TextBox1.Value
Set AppWord = CreateObject("Word.Application")
With AppWord
.Visible = True
.Documents.Open Filename:="C:AJETERDocAOuvrir.doc"
With AppWord.Selection
.TypeParagraph
.TypeText Text:=LTexte
End With
End With
End Sub
Daniel

FAQ MPFE
http://dj.joss.free.fr/faq.htm

"GA" a écrit dans le message de news:


Bonjour à tous,

Je cherche à envoyer le texte saisi (longueur variable) sur une textbox
excel dans un fichier word sans passer par une feuille excel ceci afin
d'importer le texte tel quel et l'insérer dans un tableau word existant.

Quelqu'un peut-il m'aider ?

Merci beaucoup

Cordialement






Merci beaucoup pour cette réponse qui fonctionne à merveille...


Mais comment faire pour respecter la mise en page éventuelle existante
dans word. Le texte se met au début du fichier.....avant le titre.
En fait j'ai plusieurs textbox et j'aimerais envoyé le texte de chacune
d'elle à des endroits précis du fichier word: paragraphes différents....

Est-ce possible ???

Merci encore pour l'aide extra...

Cordialement


Avatar
PMO
Bonjour,

Voici une piste mais en VBA.

CELA FAIT
A partir d'Excel affiche un UserForm contenant une zone de texte
Ce texte est récupéré dans la 1ère cellule d'un document Word
Il peut remplacer ou être concaténer avec le texte existant de la cellule Word

NECESSAIRE DE FAIRE
Dans le menu VBE Outils/Références cocher "Microsoft Word x.0 Object Library "
Un UserForm avec la propriété (Name) = "UserForm1"
Dans l'UserForm une TextBox avec la propriété (Name) = "TextBox1"
Dans l'UserForm un CommandButton OK avec la propriété (Name) =
"CommandButton1"

CODE A COPIER DANS UN MODULE GENERAL
Sert à lancer le UserForm. La procédure "LanceUserForm"
apparaît dans la boîte de macro
Adapter les constantes CHEMIN et MYDOCUMENT selon le chemin et le nom
du document Word. Ce document Word doit contenir un tableau d'au moins une
cellule
****************************
'### IMPERATIF POUR LE BON FONCTIONNEMENT ###
'### Dans le menu VBE Outils/Références cocher ###
'### Microsoft Word x.0 Object Library ###
Option Explicit
'##############################
'### Adapter les constantes ###
'### selon votre usage ###
'##############################
Public Const CHEMIN As String = "c:"
Public Const MYDOCUMENT As String = "essai.doc"
'_____________________
Sub LanceUserForm()
UserForm1.Show
End Sub
****************************

CODE A COPIER DANS LE CODE DU USERFORM
****************************
Option Explicit
'_____________________________
Private Sub CommandButton1_Click()
Dim A$
Dim isOpen As Object
Dim myWord As Word.Application
Dim doc As Word.Document
Dim bool As Boolean
Dim OldText$
Dim reponse%
Dim R As Word.Range
'---- Récupère le texte, si vide on sort ----
A$ = TextBox1.Text
If A$ = "" Then Exit Sub
'---- Vérifie si Word est déjà ouvert ----
On Error Resume Next
Set isOpen = GetObject(, "Word.Application")
'---- Ouvre une nouvelle instance de Word ----
Set myWord = New Word.Application

'°°° Word était déjà ouvert °°°
If Not isOpen Is Nothing Then
'/// Vérifie si MYDOCUMENT est déjà ouvert ///
For Each doc In Documents
If doc.Name = MYDOCUMENT Then
bool = True
doc.Activate
Exit For
End If
Next doc
If bool Then 'Si MYDOCUMENT est déjà ouvert
Set doc = isOpen.ActiveDocument
Else 'Si MYDOCUMENT n'est pas déjà ouvert
Set doc = myWord.Documents. _
Open(Filename:=CHEMIN & MYDOCUMENT)
End If
'°°° Word n'était pas déjà ouvert °°°
Else
Set doc = myWord.Documents. _
Open(Filename:=CHEMIN & MYDOCUMENT)
End If

On Error GoTo Erreur
'### Adapter la ligne suivante à votre usage ###
'### Ex: si votre tableau contient 5 colonnes ###
'### et 10 lignes et que vous voulez inscrire ###
'### la valeur de la TextBox en colonne 3 et en ###
'### ligne 8 et que votre tableau est le 7ème, ###
'### l'expression s'écrira comme suit: ###
'### Set R = doc.Tables(7).Cell(8, 3).Range ###
Set R = doc.Tables(1).Cell(1, 1).Range
OldText$ = R.Text
OldText$ = Mid(OldText$, 1, Len(OldText$) - 1)
If Len(OldText$) > 1 Then
reponse% = MsgBox(prompt:= _
"Le tableau contient déjà le texte suivant:" _
& vbCrLf & vbCrLf & OldText$ & vbCrLf & vbCrLf & _
"Voulez-vous le remplacer (Oui)" & vbCrLf & _
"ou y ajouter le nouveau texte (Non)", _
Buttons:=vbYesNoCancel)
Select Case reponse%
Case vbCancel
GoTo Erreur
Case vbYes 'Remplace
GoTo Remplace
Case vbNo 'Ajoute
R.InsertAfter " " & A$
End Select
Else
Remplace:
R.Text = A$
End If
doc.Save
'---- Pseudo traitement d'erreur ----
Erreur:
myWord.Quit
Set R = Nothing
Set doc = Nothing
Set myWord = Nothing
'---- Efface la TextBox et ferme l'UserForm ----
TextBox1.Text = ""
Me.Hide
End Sub
'_____________________________
Private Sub UserForm_Activate()
'---- Autorise les multilignes dans la TextBox ----
Me.TextBox1.MultiLine = True
End Sub
****************************

En espérant que cela répond à votre demande.

Cordialement.

PMO
Patrick Morange



Bonjour à tous,

Je cherche à envoyer le texte saisi (longueur variable) sur une textbox
excel dans un fichier word sans passer par une feuille excel ceci afin
d'importer le texte tel quel et l'insérer dans un tableau word existant.

Quelqu'un peut-il m'aider ?

Merci beaucoup

Cordialement