Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Imprimer fichier PDF

  • Initiateur de la discussion Initiateur de la discussion Inconnu3
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

I

Inconnu3

Guest
Bonjour à tous
J'aimerai créer un bouton qui permet d'ouvrir le fichier pdf selon une question "quel fichier voulez vous ouvrir?" puis de demander si il veut l'imprimer ou pas
est il possible ?
ci joint en photo ma base
Merci par avance pour votre aide
cordialement
Julie
 

Pièces jointes

  • base.png
    26.6 KB · Affichages: 61
Bonsoir le fil, le forum

@Inconnu3
Les photos sont faites pour être ranger dans les albums photos.
Les fichiers Excel sont fait pour être joint par le demandeur pour illustrer sa question et pour permettre aux répondeurs de tester leur proposition dessus.
 
Re

Comme je n'ai pas d'imprimante, peux-tu déjà tester ce code?
(en adaptant le nom du dossier contenant un pdf de test)
VB:
Option Explicit
Public 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

Public Function Impression(a&, FileName$)
On Error Resume Next
Dim b&
b = ShellExecute(a, "Print", FileName, 0&, 0&, 3)
End Function

Sub Imprimer()
Dim result, Fichier$, Q
Fichier = "C:\Temp\test.pdf" ' adapter le chemin
Q = MsgBox("Voulez-vous-imprimer" & vbCrLf & Fichier, vbQuestion + vbOKCancel, "Impression document")
If Q = 1 Then
result = Impression(0, Fichier)
Else
Exit Sub
End If
End Sub
 
C’est sur la dernière partie que je bloque
Car je voudrais faire ça : ( c’est écrit en italique )

Sub Imprimer()
Dim result, Fichier$, Q
Nom as string
Fichier = "E:\VBA\base VBA. » ' adapter le chemin
Nom = inputbox(« quel fichier voulez vous imprimer »)
Q = MsgBox("Voulez-vous-imprimer" & vbCrLf & Fichier, vbQuestion + vbOKCancel, "Impression document")
If Q = 1 Then
result = Impression(0, Fichier)
Else
Exit Sub
End If
End Sub


Cordialement
Julie
 
Re

Moi je t'ai demandé de tester le code tel que fourni pour savoir si l'impression fonctionne.
Donc merci de faire le test tel que précédemment demandé!!!
Et de me redire si le PDF a bien été imprimé.
 
Bonjour à tous
j'ai effectué des recherches mais malheuresement cela ne fonctionne toujours pas

Cordialement
Julie

Code:
    Option Compare Text 'permet de ne pas faire de distinction entre minuscule et majuscule
    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 ImprimerFichier()
Dim chemin As String
Dim x As Long
Dim nom As String
Dim Cellule As Range
Dim firstAddress As String
Dim format As String


nom = InputBox(" Quel est le nom du fichier que vous voulez imprimer? ")
           Application.ScreenUpdating = False

With ActiveSheet.Range("A7:A45")
    Set Cellule = .Find(nom, Lookat:=xlWhole)
    If Not Cellule Is Nothing Then
        firstAddress = Cellule.Address
        Do
            Exit Sub
            Set Cellule = .FindNext(Cellule)
        Loop While Not Cellule Is Nothing And Cellule.Address <> firstAddress
    End If
End With
    MsgBox "Le fichier n'existe pas"
        x = FindWindow("XLMAIN", Application.Caption)
        chemin = "E:\vba\base VBA\"
        format = ".pdf"
       
        ShellExecute x, "print", chemin & "nom" & format, "", "", 1
    End Sub
 

Pièces jointes

Bonjour le fil, le forum

@Inconnu3
Le code proposé au message #4 fonctionne!
Je l'ai testé ce matin au boulot et le pdf est bien imprimé.
As-tu vraiment fait le simple test demandé dans mon précédent message?
En ne modifiant que le chemin et nom du fichier?

Exemple de test:
Tu places un PDF nommé test.pdf dans le dossier Mes Documents
Donc il faudra avant de tester changer ainsi le code VBA
On remplace cette ligne
Fichier = "C:\Temp\test.pdf" ' adapter le chemin
par
Fichier="C:\Users\Staple\Documents\test.pdf"

A la place de Staple, mettre le nom utilisateur de la session Windows active.

Si déjà, tu suis rigoureusement ce mode opératoire, ça doit marcher !!

Ensuite on avisera pour la suite 😉
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…