Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Word > VBA Word
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/03/2008, 14h07   #1
Invité de passage
 
Inscription : mars 2008
Messages : 34
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 34
Points : 3
Points : 3
Par défaut Copier le résultat d'un champ dans un autre

Bonjour(re),
Je souhaite que le résultat d'un champ dans un document Word soit celui d'un autre champ de ce même document Word. J'ai tenté sans grand succès :

Code :
1
2
3
4
Public Sub UserForm_Initialize()
ActiveDocument.FormFields("Texte1").Result = ("Texte95").Result
Defauts.Hide
End Sub
Avez-vous une idéé?
Merci !
Smurf94 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2008, 14h32   #2
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 364
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 364
Points : 29 286
Points : 29 286
Tu dois à nouveau faire appel au document.


Code :
1
2
3
4
Public Sub UserForm_Initialize()
ActiveDocument.FormFields("Texte1").Result = ActiveDocument.FormFields("Texte95").Result
Defauts.Hide
End Sub
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/03/2008, 11h30   #3
Invité de passage
 
Inscription : mars 2008
Messages : 34
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 34
Points : 3
Points : 3
Par défaut Ne pas faire apparaitre la Userform

Merci. Le code marche mais la userform apparait à chaque fois que la macro est lancée alors que je ne souhaite pas la montrer(et je dois la fermer). Voici le code:
Code :
1
2
3
4
Public Sub UserForm_Initialize()
ActiveDocument.FormFields("Texte1").Result = ActiveDocument.FormFields("Texte95").Result
Copie.Hide
End Sub
et le module:
Code :
1
2
3
4
5
Sub gocomboboxCopieNumBL()
 
   Copie.Show
 
End Sub

(en mettant Copie.Hide , ca marche une fois mais qd je reclique sur le champ il ne se met plus à jour si la cellule copiée a été mise à jour).
Par ailleurs l'idéal serait que le 2nd champ se remplisse tout seul en même temps que l'utilisateur rempli le 1er (sans avoir besoin de cliquer sur le 2nd
champ pour activer la macro); Est ce possible .?
Merci d'avance
Nicolas
Smurf94 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/03/2008, 13h08   #4
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 364
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 364
Points : 29 286
Points : 29 286
Explique ce que tu veux vraiment faire, je pense qu'on n'est pas sur la bonne voie.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/03/2008, 13h41   #5
Invité de passage
 
Inscription : mars 2008
Messages : 34
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 34
Points : 3
Points : 3
Par défaut Explications

En fait, je veux créer deux formulaires sous Word, à remplir successivement.
Je les ai mis dans le même document. Certains champs remplis dans 1er formulaire doivent être repris dans le second et j'aurais souhaité que cela se fasse automatiquement, afin de ne pas avoir à reprendre les infos de l'un à l'autre.
J'avais donc pensé à une macro qui copierait les infos d'un champ à un autre, mais s'il est possible que cela se remplisse sans macro (??) en écrivant simultanément dans 2 champs ça serait mieux.
Voilà j'espère avoir été clair.
Smurf94 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/03/2008, 13h56   #6
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 364
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 364
Points : 29 286
Points : 29 286
Formulaire, serait-ce des documents ou des UserForm ?

Si il s'agit de documents, on peut y arriver sans macro.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/03/2008, 14h21   #7
Invité de passage
 
Inscription : mars 2008
Messages : 34
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 34
Points : 3
Points : 3
Ce ne sont que des documents dans lesquels j'insère des champs à partir de la barre d'outil formulaire.
Smurf94 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/03/2008, 15h51   #8
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 364
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 364
Points : 29 286
Points : 29 286
Alors, on peut toujours utiliser un champ ou simplement un code qui sera exécuté après remplissage du TextBox.
Au départ, je pensais que tu utilisais un UserForm.

Dans les propriétés des FormFields, on peut exécuter une macro sur l'entrée ou sur la sortie.

Jette un oeil ici
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/03/2008, 15h52   #9
Invité de passage
 
Inscription : mars 2008
Messages : 34
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 34
Points : 3
Points : 3
Par défaut Sans macro

Tu connais une possibilité de le faire sans macro dans un doc ? i am interested
Smurf94 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/03/2008, 16h05   #10
Invité de passage
 
Inscription : mars 2008
Messages : 34
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 34
Points : 3
Points : 3
Merci pour le lien mais comment faire pour que cette macro me copie la valeur d'un champ lambda quand celui ci est rempli ?
Smurf94 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/03/2008, 16h19   #11
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 364
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 364
Points : 29 286
Points : 29 286
Code :
1
2
3
4
 
Sub Copier()
ActiveDocument.FormFields("Texte1").Result = ActiveDocument.FormFields("Texte95").Result
End Sub
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/03/2008, 16h49   #12
Invité de passage
 
Inscription : mars 2008
Messages : 34
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 34
Points : 3
Points : 3
Désolé mais ce n'est pas clair pour moi.
Ma démarche:
- Je crée un champtexte1 dans mon 1er formulaire et un champtexte2 dans le 2nd.
- je vais dans VB afin de créer la macro d'entrée:
- je crée un userform (CopiageNom) dans lequel je copie ton code
- je crée un module avec le code suivant qui appel la userform:
Code :
1
2
3
4
5
Sub Copie()
 
   CopiageNom.Show
 
End Sub
- j'associe en sortie le champtexte1 a la macro Copie.
RESULTAT:
La copie s'effectue mais la userform apparait et je ne souhaite pas (je veux que l'opération ne se voit pas. Comment ne pas la faire apparaître ?
Smurf94 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/03/2008, 16h57   #13
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 364
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 364
Points : 29 286
Points : 29 286
Pas de UserForm !!

Le lien vers le tuto ne parle pas de userform !
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/03/2008, 17h05   #14
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 364
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 364
Points : 29 286
Points : 29 286
Voilà un exemple, il faut ouvrir les deux documents, après mise à jour du premier champs du document1, le document2 est mis à jour.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/03/2008, 17h30   #15
Invité de passage
 
Inscription : mars 2008
Messages : 34
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 34
Points : 3
Points : 3
Par défaut Pb word 2007

J'ai une version de word trop ancienne pour lire tes fichiers et ne peux telecharger le module de compatibilité. Peux tu les mettre sous un format moin récent?
Gracias
Smurf94 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/03/2008, 17h36   #16
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 364
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 364
Points : 29 286
Points : 29 286
Voilà, si tu avais dit que ton ordi avait besoin de silex !!
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/04/2008, 11h17   #17
Invité de passage
 
Inscription : mars 2008
Messages : 34
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 34
Points : 3
Points : 3
Par défaut Merci bien

Je reviens un peu tard sur le tard sur le sujet, mais ça marche. Merci!
Smurf94 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h44.


 
 
 
 
Partenaires

Hébergement Web