Générer des fichiers word automatiquement avec VBA ?

Signaler
Messages postés
20
Date d'inscription
mardi 13 octobre 2009
Statut
Membre
Dernière intervention
9 février 2020
-
Messages postés
16681
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
28 octobre 2020
-
Bonjour, je travaille dans une DRH et j'ai souvent besoin de rédiger des conventions ou des dossiers de recrutements. J'ai trouvé un ancien fichier word qui lorsqu'on l'ouvre en cliquant sur "nouveau" 2 documents s'ouvrent : un fichier word et par dessus une autre feuille avec des éléments à compléter tels que le nom, le prénom, une date d'embauche, un service ou autre. Une fois que ces données sont complétées il y a un bouton "créer le dossier" sur lequel il faut cliquer et on obtient un message votre dossier a été enregistré sur votre bureau. Quand j'ouvre le fichier sur mon bureau le dossier est complété avec toutes les informations que j'ai enregistrées précédemment. Pouvez-vous m'aider et me dire comment ce fichier a été construit ? Je vous remercie par avance pour votre aide. Je profite de ce message pour vous souhaiter une très bonne année 2020.

6 réponses

Messages postés
16681
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
28 octobre 2020
9 854
Bonjour,

Ton document est un modèle qui contient du VBA (dotm).
Cela étant, difficile de t'en dire plus sans voir ce modèle.

m@rina
Messages postés
20
Date d'inscription
mardi 13 octobre 2009
Statut
Membre
Dernière intervention
9 février 2020
5
Bonjour, merci d'avoir pris le temps de lire mon message. Je n'ai pas réussi à joindre mon fichier et j'ai le message suivant quand j'essaie "Le fichier que vous avez envoyé (dossier recrutement.docm - application/vnd.ms-word.document.macroEnabled.12) n'est pas une image. Merci d'envoyer un fichier PNG, JPEG, GIF ou BMP !"
Comment puis-je faire ?
Merci.
Messages postés
16681
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
28 octobre 2020
9 854
Bonjour,

Le document fourni est un document fait avec les anciens champs de formulaire (outils de formulaire hérités). Pas forcément la meilleure idée lorsqu'on dispose d'une version récente.
Je fais un point sur tous les outils de formulaires ici :
http://faqword.com/index.php/word/formulaires-controles/911-le-point-sur-les-outils-de-formulaires

Utilisés basiquement, ces champs de formulaire ne nécessitent pas de macro. Et bien que ton document a une extension docm (donc document avec macro), je ne vois pas de macro.s S'il y en a, elles sont probablement dans le Normal.dotm et du coup je ne sais pas à quoi elles servent.

Cela étant, pour répondre à ta question qui va au delà de ce type de formulaire, puisque tu souhaites un Userform, je peux dire que tu n'es pas dans la bonne direction.
Le Userform c'est ce que tu appelles une fenêtre qui s'affiche via laquelle tu vas compléter les infos, avec un bouton qui va créer le fichier (et non pas un "dossier", si je comprends bien).

Je donne ici un tuto pour créer ce type de document. Mais il va falloir macroter.
http://faqword.com/index.php/word/formulaires-controles/978-un-userform-trop-facile
Tu pourras télécharger l'exemple tout fait pour t'aider.

m@rina


Messages postés
20
Date d'inscription
mardi 13 octobre 2009
Statut
Membre
Dernière intervention
9 février 2020
5
Bonjour, merci pour votre aide.
Je vais prendre un peu de temps pour lire tout ça et ingérer toutes ces informations.
Je permettrai peut-être de revenir vers vous si j'avais besoin d'éclaircissements (si cela ne vous dérange pas)
Encore merci.
Lou.
Messages postés
16681
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
28 octobre 2020
9 854
Surtout qu'une image me serait totalement inutile.
Si tu veux montrer ton fichier, mets le ici :
https://www.cjoint.com/
sans oublier de nous donner le lien.


m@rina
Messages postés
20
Date d'inscription
mardi 13 octobre 2009
Statut
Membre
Dernière intervention
9 février 2020
5
Bonjour, voici le lien pour accéder au fichier :
https://www.cjoint.com/c/JAmjTyGsr4r
Merci encore.
Désolée je suis vraiment novice.
Messages postés
12839
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
29 octobre 2020
716
bonjour, je me demande si tu as bien partagé l'ancien fichier word, et pas le document enregistré sur le bureau.
Messages postés
20
Date d'inscription
mardi 13 octobre 2009
Statut
Membre
Dernière intervention
9 février 2020
5
Je m'aperçois en relisant ma demande que vous allez penser que je souhaite que vous fassiez le boulot à ma place.
Aussi, je tiens à préciser que je suis allée rechercher des infos et des tutos sur le net. En fait la création en elle-même d'un formulaire ne m'inquiète pas trop, j'ai trouvé plein (peut-être trop d'ailleurs) d'explications.
Ce que je ne trouve pas, c'est comment, une fois que j'ai ouvert mon fichier "type" word, une fenêtre s'affiche dans laquelle je dois compléter des infos tels qu'un nom ou un prénom (et autre) et une fois les infos complétées en cliquant sur le bouton "créer le dossier" j'arrive à générer mon dossier final.
J'espère avoir été un peu plus claire.
Merci.
Messages postés
20
Date d'inscription
mardi 13 octobre 2009
Statut
Membre
Dernière intervention
9 février 2020
5
Bonjour à tous,
ça y est, ma base word est prête à laquelle j'ai ajouté un userform afin de pouvoir y enregistrer les infos dont j'ai besoin.
Maintenant, je but sur l'activation de mon bouton "créer un fichier" afin qu'il m'ouvre un nouveau doc word dans lequel s' est ajouté toutes les infos précédemment renseignées dans userform.
Merci pour votre éclairage.
Messages postés
16681
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
28 octobre 2020
9 854
Bonjour,

Je te réponds juste pour dire comment créer un nouveau document. Je suppose que tu as prévu le Userform pour savoir où y mettre les infos.
Donc le code suivant crée un nouveau document basé sur le modèle qui contient la macro. S'il s'agit d'un autre modèle, il faut que tu mettes le chemin complet pour "modele=...."

  Dim modele As String
Dim mondoc As Document
Set mondoc = ActiveDocument
modele = ActiveDocument.AttachedTemplate.FullName
Documents.Add Template:=modele
With mondoc
là tu mets tout ce que tu dois mettre dans le nouveau doc
...
...
End With


m@rina