Automatisation de fichiers

Pour les confinés qui s'ennuient et les autres, voici ma problématique.

Je veux automatiser un fichier word sous la forme d'un publipostage.
ça il me semble que ça le fait (je joints le fichier).

Le tout à partir d'un fichier Excel qui me sert à la base pour le suivi

L'idée
est simple : Je sélectionne le numéro de série .
Le reste que j'imagine en VBA s'exécute en automatique quand je clique sur print.

ps: j'ai oublié dans les commentaires de l'excel, est-il possible de créer un dossier au nom de la machine si il n'existe pas ? Ou je les créer à l'avance et derrière on vient pointer les répertoires pour savoir ou ranger le document créer... ou un autre système à m'expliquer.

Dans l'attente de vos commentaires...

Salut à tous,

Mon sujet ne semble pas passionner les foules ...
Quelqu'un a t'il un peu t'aide a m'apporter ?

d'avance merci

Belle journée.

Hello, très mauvaise idée de se répondre à soi-même, ça peut faire penser que le sujet est déjà en cours de traitement.

Ce que tu veux faire n'est pas très clair.

Tu veux pouvoir imprimer un word avec des mentions variables qui proviennent d'excel en fonction d'un numéro de série comme clé?

Salut Funkyfoenky, salut le forum

Je note ta remarque. Dans ce cas pour faire remonter le sujet je le modifie et il remonte dans les sujets récents ?

Suite à ta remarque j'ai voulu faire claire, mais quand j'ai posté bing error404 j'ai été trop long....
Du coup je recommence.

Je possède des documents machines dans plusieurs langues.
A partir de mon fichier excel de n° de série.

Je souhaiterais :

En sélectionnant le n° de série sur la page automatique et en cliquant sur le bouton du dessus (qui s'appelera surement "generation de fichiers")
Je pense aussi qu'il faut rajouter un menu déroulant pour choisir la langue.

puis :

- Aller ouvrir le fichier word de base dans la bonne langue.
- Remplacer les différents éléments (nom client n° de machine date ect...) dans ce fichier par le publipostage ça semble ok)
-Enregistrer ce fichier sous la forme n°deserie_nomclient_n°daffaire_version (Si version existe enregistrer sous version2 (V2) ).DOCX
-Enregistrer ce fichier sous pdf (même nom)
-fermer le tout sauf l'excel.
--------------------------------------

J'espère que c'est un peu plus claire.
Dans l'attente de vous lire.

Qu'est-ce que tu entends par publipostage ok?

Tu as déjà programmé une macro de base qui te fait le publipostage sur ton fichier word ou manuellement ça marche?

En ouvrant le fichier word, il semble qu'il y ait un lien entre celui-ci et une base SQL.

Est-ce que ça a un impact sur ce que tu veux faire?

Re,

Le publipostage semble marcher manuellement.
Je suis parti de mon document Word et j'ai créer le publipostage en mettant en référence mon classeur excel.
Puis j'ai "affecté" chaque signet a la référence chercher.Tous les "liens" entre le word et le excel se trouvent dans le tableau entête du word

Si cela perturbe dans ton code ou quoique ce soit on peut tout virer seul le résultat final compte de toute manière.

ok je regarde demain

Comment faire pour sélectionner la langue du template à ouvrir?

C'est forcément Français/Anglais?

Voilà je suis parti du principe où il n'y avait qu'un seul fichier de base possible quel que soit le sérial choisi.

Alors il y a 2 macro.

1 qui permet de rafraichir le tableau récapitulatif à partir des onglets de machines (bouton Rafraichir la table). Pour celle-là ça devrait fonctionner direct normalement pas d'adaptation à faire.

1 qui permet de générer le fichier word, le pdf et d'imprimer. Pour celle là il faut adapter la variable chemin à ton utilisation car elle désigne l'emplacement où tu as mis ton template. Il faut également adapter la variable chemin2 qui désigne l'emplacement des fichiers générés.

L'impression se fait sur l'imprimante par défaut.

Si jamais une erreur apparait pour un soucis de référence, il faut aller ajouter la référence Microsoft Word XX.0 dans le visual basic.

Edit: J'ai viré le publipostage du fichier word donc je le joins aussi.

Bonjour Funkyfoenky, Bonjour le forum

Je traite le quotidien et regarde dans la foulée ou ce soir.
En tout cas merci
Je viens également de voir ta question pour la langue.
J'ai 6 langues de références donc 6 fichiers de base différents. Pour les autres c'est du cas par cas.

Je pensais aussi dupliquer pour chaque type de machine. donc parfait ton choix d'un seul fichier de base.
Je te re en fin de journée si je galère ! Non je re dans tout les cas !!!!

En tout cas merci beaucoup !!!

Bonjour le Forum, Bonjour Maitre Funkyfoeky

JE profite de la journée OFF pour avancer sur mon projet.
Tu as fait un boulot exactement dans ce que j'imaginais mais toi ça marche !!!!

Du coup vu ton code, je me demande s'il n'est pas possible d'intégrer une recherche de model et de langue
Avec des cases a cocher ou un autre système pour choisir dans 5 langues de base

Le format du n° de série donne le type de machine dans notre exemple A,B,C ect....
et les documents de base sont sous le format de nom : DT_nommachine_langue

Qu'en penses tu ?

Bon jour férié à tous !

Il faudrait ajouter une liste déroulante qui contient les langues.

La liste déroulante du numéro de série remplirait auto le nom de la machine concernée et ça permettrait d'avoir le nom du template à utiliser en effet.

Voici un nouveau fichier avec les données mentionnées dans mon précédent message.

Je n'ai mis que 3 langues mais après tu peux en ajouter plusieurs c'est juste un menu déroulant dans la case.

Bonjour Funkyfoenky, salut le forum,

Je regarde cela dans la soirée.
De mon coté j'ai quasi finaliser la version officielle, hier.
Je vois ce soir pour intégrer tes modifications.

Merci de ton aide. C'est top

Salut le forum, en ésperant que tout va bien pour vous.

Je suis en train de débogger mon fichier.

J'ai une erreur d'exécution qui s'arrete ici :

'Map cells to contentcontrols
WdDoc.SelectContentControlsByTag("Serial1").Item(1).Range.Text = C.Value

Il lui manque forcement qqc mais je bug aussi ...
Merci pour votre aide.

Bon je pense j'ai trouvé

c'est la liaison entre le document.docx et le document.xlsm qui ne match pas

Funkyfoenky comment fais tu pour le paramétrer ?

D'avance merci.

Hello, il faut reprendre le docx que j'avais attaché. J'avais ajouté des champs de formulaire j'ai oublié de le préciser.

Donc il faut reprendre en copier-coller à minima les parties variables du template que j'ai attaché pour créer chaque template.

C'est ça qu'il manque du coup il arrive pas à trouver le champ qui s'appelle Serial1

Rechercher des sujets similaires à "automatisation fichiers"