Creation de fichier PDF-SECU avec Excel VBA

Bonjour la Compagnie des Programmeurs expérimentés https://forum.excel-pratique.com/template/img/emojis/1f607.svg)">https://forum.excel-pratique.com/template/img/emojis/1f973.svg)">

J' utilise ce programme pour remplir automatiser les feuilles de transport pour la sécurité sociale, ça m'évite les ressaisies fastidieuses et source d'erreurs. Dans la version finale, les données sont reprises dans les fichiers généraux pour être injectées par le module dans le PDF.

A la fin j'enregistre après avoir créé un nom de fichier générique unique ici remplacé par "Exemple" pour cette démo

La version jointe est simplifiée mais illustre bien le problème. et la feuille pdf à remplir est jointe elle aussi.

Pour tester: pensez à copier la fiche cerfa dans un répertoire c:\modele ou changez le path dans le programme

Le problème agaçant est que lors du placement du remplissage de la feuille, cela désactive systématiquement mon pavé numérique. Je le réactive moi même après mais j'aimerais bien solutionner ce problème car c'est casse pied . le logiciel ouvrant le PDF est Foxit PDF Reader.

A Vot' bon cœur les amis

Jean - jacques

Bonjour,

L'instruction "SendKeys" désactive, presque toujours, le pavé numérique.

Il suffit de rajouter SendKeys "{NUMLOCK}", True après l'enregistrement du fichier.

Ou directement à la suite d'un envoi de touche : SendKeys "données" & "{NUMLOCK}", True

Eric

Ps : Il est inutile d'utiliser "Application"

Bonjour,

Autre solution.

Ne pas utiliser

Application.SendKeys

mais

CreateObject("WScript.Shell").SendKeys

Superbe, et merci à vous deux, je met cela en mémoire de suite. C'est précieux d'avoir de fins connaisseurs des subtilités. cela nous fait gagner une temps précieux à nous autres les novices

Bonjour Thev,

J'ai utilisé l'option sendkeys("numlock"), true en fin de programme pour restaurer le pavé numérique cela fonctionne. Toutefois ton option m' interesse mais je comprends pas CreateObject("WScript.Shell").SendKeys à quoi correspond le "Wscript.shell"

Merci à toi pour l'aide

Bonjour,

Cette instruction appartient à classe WshShell de la bibliothèque IWshRuntimeLibrary.

CreateObject("WScript.Shell") est ce qu'on appelle une liaison tardive (Late Binding) de la classe WshShell.

Pour une liaison anticipée de cette classe (Early Binding), il suffit de cocher dans l'éditeur Visual Basic (onglet Outils) la référence : Windows Script Host Object Model.

Merci Thev,

Je connaissais pas ca du tout . Je vais étudier cette utilisation , Merci Beaucoup

Bonne journée

Rechercher des sujets similaires à "creation fichier pdf secu vba"