Bonjour le forum,
J'utilise une macro qui me permet d'imprimer un fichier pdf enregistrer sur un serveur le voici :
Comme vous pouvez le constater j'utilise des options explicit en début de code. Si je ne les mets pas le code ne fonctionne pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Option Explicit Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _ (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _ (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String _ , ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long Sub Print() Dim NomFichier As String Dim x As Long x = FindWindow("XLMAIN", Application.Caption) NomFichier = Range("A1") & Range("A2") & Range("A3") 'A1=chemin, A2=Nom du fichier, A3=extensions du fichier ShellExecute x, "print", NomFichier, "", "", 1 End Sub
Y aurait-il d'autre type de code qui permettrai de faire la même chose sans option explicit particulière? (je souhaite imprimer uniquement du fichier . pdf)
Je vous pose cette question car ces options explicit font planter une autre macro qui est dans le même module.
Donc pour contourner ce problème j'ai deux modules dans mon fichier, (un pour toute mes macro et un uniquement pour celle-ci)
Si cela est possible j'aimerai avoir qu'un module dans mon fichier (d'où ma question)! C'est peut être un peu du luxe ce que je demande ...lol
Mais dans tout les cas je pense que ce code peut être utile à d'autre personne donc je partage
Merci d'avance pour vos réponses
@+
Partager