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

Transfert de valeurs combobox et textbox vers champ formuaire word

7 réponses
Avatar
Vincent
Bonjour,

Je vais essayer d'etre clair:
un tableau Excel, dans lequel sont extraites des données par l'intermédiaire
d'un userform, d'une liste déroulante, et de textbox. Sur l'activation d'un
bouton "Ok", un fichier Word s'ouvre, de type formulaire, et je voudrais que
les valeurs sélectionnées dans la liste déroulante et dans mes textbox,
soient transférées dans des champs prévus à cet effet dans mon formulaire
Word.

Je recherche donc un bout de code VBA me permettant de joindre le transfert
des valeurs à l'action d'ouverture de mon document Word de mon bouton "OK".

Merci

7 réponses

Avatar
papou
Bonjour
Tu peux utiliser quelque chose dans ce style, tout en notant qu'ici les
infos transcrites depuis Excel le sont dans le document Word à des endroits
identifiés par des signets ("Un" et "Deux")
Dim wrdApp As Object
Dim wrdDoc As Object
Set wrdApp = CreateObject("Word.Application")
Set wrdDoc = wrdApp.Documents.Open("C:testsformulaire.doc")
With wrdDoc
.Bookmarks("Un").Range.Text = Me.ComboBox1.Value
.Bookmarks("Deux").Range.Text = Me.TextBox1.Value
.Close (True)
End With
Set wrdDoc = Nothing
wrdApp.Quit
Set wrdApp = Nothing

Cordialement
Pascal

"Vincent" a écrit dans le message de
news:
Bonjour,

Je vais essayer d'etre clair:
un tableau Excel, dans lequel sont extraites des données par
l'intermédiaire
d'un userform, d'une liste déroulante, et de textbox. Sur l'activation
d'un
bouton "Ok", un fichier Word s'ouvre, de type formulaire, et je voudrais
que
les valeurs sélectionnées dans la liste déroulante et dans mes textbox,
soient transférées dans des champs prévus à cet effet dans mon formulaire
Word.

Je recherche donc un bout de code VBA me permettant de joindre le
transfert
des valeurs à l'action d'ouverture de mon document Word de mon bouton
"OK".

Merci


Avatar
Vincent
Au fonctionnement du code , le message suivant apparait:"Erreur 6028 -
Impossible de copier la plage"

En mode débogage, la zone en jaune correspond au code suivant:

.Bookmarks("Un").Range.Text = Me.ComboBox1.Value

Je ne vois pas trop ce qui manquer....

Merci du coup de main.



Bonjour
Tu peux utiliser quelque chose dans ce style, tout en notant qu'ici les
infos transcrites depuis Excel le sont dans le document Word à des endroits
identifiés par des signets ("Un" et "Deux")
Dim wrdApp As Object
Dim wrdDoc As Object
Set wrdApp = CreateObject("Word.Application")
Set wrdDoc = wrdApp.Documents.Open("C:testsformulaire.doc")
With wrdDoc
.Bookmarks("Un").Range.Text = Me.ComboBox1.Value
.Bookmarks("Deux").Range.Text = Me.TextBox1.Value
.Close (True)
End With
Set wrdDoc = Nothing
wrdApp.Quit
Set wrdApp = Nothing

Cordialement
Pascal

"Vincent" a écrit dans le message de
news:
Bonjour,

Je vais essayer d'etre clair:
un tableau Excel, dans lequel sont extraites des données par
l'intermédiaire
d'un userform, d'une liste déroulante, et de textbox. Sur l'activation
d'un
bouton "Ok", un fichier Word s'ouvre, de type formulaire, et je voudrais
que
les valeurs sélectionnées dans la liste déroulante et dans mes textbox,
soient transférées dans des champs prévus à cet effet dans mon formulaire
Word.

Je recherche donc un bout de code VBA me permettant de joindre le
transfert
des valeurs à l'action d'ouverture de mon document Word de mon bouton
"OK".

Merci







Avatar
Vincent
Oups...
Autant pour moi, le message est "Erreur 6028-Impossible de supprimer la plage"


Au fonctionnement du code , le message suivant apparait:"Erreur 6028 -
Impossible de copier la plage"

En mode débogage, la zone en jaune correspond au code suivant:

.Bookmarks("Un").Range.Text = Me.ComboBox1.Value

Je ne vois pas trop ce qui manquer....

Merci du coup de main.



Bonjour
Tu peux utiliser quelque chose dans ce style, tout en notant qu'ici les
infos transcrites depuis Excel le sont dans le document Word à des endroits
identifiés par des signets ("Un" et "Deux")
Dim wrdApp As Object
Dim wrdDoc As Object
Set wrdApp = CreateObject("Word.Application")
Set wrdDoc = wrdApp.Documents.Open("C:testsformulaire.doc")
With wrdDoc
.Bookmarks("Un").Range.Text = Me.ComboBox1.Value
.Bookmarks("Deux").Range.Text = Me.TextBox1.Value
.Close (True)
End With
Set wrdDoc = Nothing
wrdApp.Quit
Set wrdApp = Nothing

Cordialement
Pascal

"Vincent" a écrit dans le message de
news:
Bonjour,

Je vais essayer d'etre clair:
un tableau Excel, dans lequel sont extraites des données par
l'intermédiaire
d'un userform, d'une liste déroulante, et de textbox. Sur l'activation
d'un
bouton "Ok", un fichier Word s'ouvre, de type formulaire, et je voudrais
que
les valeurs sélectionnées dans la liste déroulante et dans mes textbox,
soient transférées dans des champs prévus à cet effet dans mon formulaire
Word.

Je recherche donc un bout de code VBA me permettant de joindre le
transfert
des valeurs à l'action d'ouverture de mon document Word de mon bouton
"OK".

Merci









Avatar
papou
Bonjour
As-tu créé les signets "Un" et "Deux" sur une position dans ton document
Word ?
Cordialement
Pascal

"Vincent" a écrit dans le message de
news:
Oups...
Autant pour moi, le message est "Erreur 6028-Impossible de supprimer la
plage"


Au fonctionnement du code , le message suivant apparait:"Erreur 6028 -
Impossible de copier la plage"

En mode débogage, la zone en jaune correspond au code suivant:

.Bookmarks("Un").Range.Text = Me.ComboBox1.Value

Je ne vois pas trop ce qui manquer....

Merci du coup de main.



Bonjour
Tu peux utiliser quelque chose dans ce style, tout en notant qu'ici les
infos transcrites depuis Excel le sont dans le document Word à des
endroits
identifiés par des signets ("Un" et "Deux")
Dim wrdApp As Object
Dim wrdDoc As Object
Set wrdApp = CreateObject("Word.Application")
Set wrdDoc = wrdApp.Documents.Open("C:testsformulaire.doc")
With wrdDoc
.Bookmarks("Un").Range.Text = Me.ComboBox1.Value
.Bookmarks("Deux").Range.Text = Me.TextBox1.Value
.Close (True)
End With
Set wrdDoc = Nothing
wrdApp.Quit
Set wrdApp = Nothing

Cordialement
Pascal

"Vincent" a écrit dans le message
de
news:
Bonjour,

Je vais essayer d'etre clair:
un tableau Excel, dans lequel sont extraites des données par
l'intermédiaire
d'un userform, d'une liste déroulante, et de textbox. Sur
l'activation
d'un
bouton "Ok", un fichier Word s'ouvre, de type formulaire, et je
voudrais
que
les valeurs sélectionnées dans la liste déroulante et dans mes
textbox,
soient transférées dans des champs prévus à cet effet dans mon
formulaire
Word.

Je recherche donc un bout de code VBA me permettant de joindre le
transfert
des valeurs à l'action d'ouverture de mon document Word de mon bouton
"OK".

Merci











Avatar
Vincent
Bonjour,

Oui, j'ai bien créé les signets.


Bonjour
As-tu créé les signets "Un" et "Deux" sur une position dans ton document
Word ?
Cordialement
Pascal

"Vincent" a écrit dans le message de
news:
Oups...
Autant pour moi, le message est "Erreur 6028-Impossible de supprimer la
plage"


Au fonctionnement du code , le message suivant apparait:"Erreur 6028 -
Impossible de copier la plage"

En mode débogage, la zone en jaune correspond au code suivant:

.Bookmarks("Un").Range.Text = Me.ComboBox1.Value

Je ne vois pas trop ce qui manquer....

Merci du coup de main.



Bonjour
Tu peux utiliser quelque chose dans ce style, tout en notant qu'ici les
infos transcrites depuis Excel le sont dans le document Word à des
endroits
identifiés par des signets ("Un" et "Deux")
Dim wrdApp As Object
Dim wrdDoc As Object
Set wrdApp = CreateObject("Word.Application")
Set wrdDoc = wrdApp.Documents.Open("C:testsformulaire.doc")
With wrdDoc
.Bookmarks("Un").Range.Text = Me.ComboBox1.Value
.Bookmarks("Deux").Range.Text = Me.TextBox1.Value
.Close (True)
End With
Set wrdDoc = Nothing
wrdApp.Quit
Set wrdApp = Nothing

Cordialement
Pascal

"Vincent" a écrit dans le message
de
news:
Bonjour,

Je vais essayer d'etre clair:
un tableau Excel, dans lequel sont extraites des données par
l'intermédiaire
d'un userform, d'une liste déroulante, et de textbox. Sur
l'activation
d'un
bouton "Ok", un fichier Word s'ouvre, de type formulaire, et je
voudrais
que
les valeurs sélectionnées dans la liste déroulante et dans mes
textbox,
soient transférées dans des champs prévus à cet effet dans mon
formulaire
Word.

Je recherche donc un bout de code VBA me permettant de joindre le
transfert
des valeurs à l'action d'ouverture de mon document Word de mon bouton
"OK".

Merci
















Avatar
papou
Re
En fait je viens de comprendre ;-)
Je n'avais pas fait attention au fait qu'il s'agissait d'un formulaire et
que tu voulais intégrer tes valeurs dans des champs texte.
Dans ces conditions, il est inutile de créer des signets, il faut utiliser
une autre méthode et aussi penser à déprotéger le document Word avant de
faire quoi que ce soit (si tu as vérrouillé le formulaire):
Dim wrdApp As Object
Dim wrdDoc As Object
Set wrdApp = CreateObject("Word.Application")
Set wrdDoc = wrdApp.Documents.Open("C:testsformulaire.doc")
With wrdDoc
.Unprotect
.FormFields("Texte1").Result = Me.ComboBox1.Value
.FormFields("Texte2").Result = Me.TextBox1.Value
.Protect wdAllowOnlyFormFields, True
.Close (True)
End With
Set wrdDoc = Nothing
wrdApp.Quit
Set wrdApp = Nothing

Il faudra que tu adaptes avec les noms de champs de ton document Word qui
vont bien (pour les trouver il te suffira d'aller vérifier les signets qui
ont automatiqumeent créés avec tes champs texte.

Cordialement
Pascal

"Vincent" a écrit dans le message de
news:
Bonjour,

Oui, j'ai bien créé les signets.


Bonjour
As-tu créé les signets "Un" et "Deux" sur une position dans ton document
Word ?
Cordialement
Pascal

"Vincent" a écrit dans le message de
news:
Oups...
Autant pour moi, le message est "Erreur 6028-Impossible de supprimer la
plage"


Au fonctionnement du code , le message suivant apparait:"Erreur 6028 -
Impossible de copier la plage"

En mode débogage, la zone en jaune correspond au code suivant:

.Bookmarks("Un").Range.Text = Me.ComboBox1.Value

Je ne vois pas trop ce qui manquer....

Merci du coup de main.



Bonjour
Tu peux utiliser quelque chose dans ce style, tout en notant qu'ici
les
infos transcrites depuis Excel le sont dans le document Word à des
endroits
identifiés par des signets ("Un" et "Deux")
Dim wrdApp As Object
Dim wrdDoc As Object
Set wrdApp = CreateObject("Word.Application")
Set wrdDoc = wrdApp.Documents.Open("C:testsformulaire.doc")
With wrdDoc
.Bookmarks("Un").Range.Text = Me.ComboBox1.Value
.Bookmarks("Deux").Range.Text = Me.TextBox1.Value
.Close (True)
End With
Set wrdDoc = Nothing
wrdApp.Quit
Set wrdApp = Nothing

Cordialement
Pascal

"Vincent" a écrit dans le
message
de
news:
Bonjour,

Je vais essayer d'etre clair:
un tableau Excel, dans lequel sont extraites des données par
l'intermédiaire
d'un userform, d'une liste déroulante, et de textbox. Sur
l'activation
d'un
bouton "Ok", un fichier Word s'ouvre, de type formulaire, et je
voudrais
que
les valeurs sélectionnées dans la liste déroulante et dans mes
textbox,
soient transférées dans des champs prévus à cet effet dans mon
formulaire
Word.

Je recherche donc un bout de code VBA me permettant de joindre le
transfert
des valeurs à l'action d'ouverture de mon document Word de mon
bouton
"OK".

Merci


















Avatar
Vincent
Re bonjour,

Effectivement dela marche tout de suite bcp mieux:
Le transfert se passe bien, il ya juste un message d'erreur surla ligne
suivante:
.Protect wdAllowOnlyFormFields, True

"Erreur 9118 - La valeur du paramètre numérique dépassait la limite
acceptable"

Il est qu'il ne faut pas dépasser les bornes des limites mais quand même!!!
;-)
Si tu avais un dernière petite idée à ce sujet...après je ne t'embete plus!!!
Merci



Re
En fait je viens de comprendre ;-)
Je n'avais pas fait attention au fait qu'il s'agissait d'un formulaire et
que tu voulais intégrer tes valeurs dans des champs texte.
Dans ces conditions, il est inutile de créer des signets, il faut utiliser
une autre méthode et aussi penser à déprotéger le document Word avant de
faire quoi que ce soit (si tu as vérrouillé le formulaire):
Dim wrdApp As Object
Dim wrdDoc As Object
Set wrdApp = CreateObject("Word.Application")
Set wrdDoc = wrdApp.Documents.Open("C:testsformulaire.doc")
With wrdDoc
.Unprotect
.FormFields("Texte1").Result = Me.ComboBox1.Value
.FormFields("Texte2").Result = Me.TextBox1.Value
.Protect wdAllowOnlyFormFields, True
.Close (True)
End With
Set wrdDoc = Nothing
wrdApp.Quit
Set wrdApp = Nothing

Il faudra que tu adaptes avec les noms de champs de ton document Word qui
vont bien (pour les trouver il te suffira d'aller vérifier les signets qui
ont automatiqumeent créés avec tes champs texte.

Cordialement
Pascal

"Vincent" a écrit dans le message de
news:
Bonjour,

Oui, j'ai bien créé les signets.


Bonjour
As-tu créé les signets "Un" et "Deux" sur une position dans ton document
Word ?
Cordialement
Pascal

"Vincent" a écrit dans le message de
news:
Oups...
Autant pour moi, le message est "Erreur 6028-Impossible de supprimer la
plage"


Au fonctionnement du code , le message suivant apparait:"Erreur 6028 -
Impossible de copier la plage"

En mode débogage, la zone en jaune correspond au code suivant:

.Bookmarks("Un").Range.Text = Me.ComboBox1.Value

Je ne vois pas trop ce qui manquer....

Merci du coup de main.



Bonjour
Tu peux utiliser quelque chose dans ce style, tout en notant qu'ici
les
infos transcrites depuis Excel le sont dans le document Word à des
endroits
identifiés par des signets ("Un" et "Deux")
Dim wrdApp As Object
Dim wrdDoc As Object
Set wrdApp = CreateObject("Word.Application")
Set wrdDoc = wrdApp.Documents.Open("C:testsformulaire.doc")
With wrdDoc
.Bookmarks("Un").Range.Text = Me.ComboBox1.Value
.Bookmarks("Deux").Range.Text = Me.TextBox1.Value
.Close (True)
End With
Set wrdDoc = Nothing
wrdApp.Quit
Set wrdApp = Nothing

Cordialement
Pascal

"Vincent" a écrit dans le
message
de
news:
Bonjour,

Je vais essayer d'etre clair:
un tableau Excel, dans lequel sont extraites des données par
l'intermédiaire
d'un userform, d'une liste déroulante, et de textbox. Sur
l'activation
d'un
bouton "Ok", un fichier Word s'ouvre, de type formulaire, et je
voudrais
que
les valeurs sélectionnées dans la liste déroulante et dans mes
textbox,
soient transférées dans des champs prévus à cet effet dans mon
formulaire
Word.

Je recherche donc un bout de code VBA me permettant de joindre le
transfert
des valeurs à l'action d'ouverture de mon document Word de mon
bouton
"OK".

Merci