Imprimer un fichier excel sans l'ouvrir

Contenu du snippet

Sub Impression()
    Dim Chemin As String, ExcelAppli As Object, OpFichier As Object, FichierDejaOuvert As Boolean
    FichierDejaOuvert = False
    Chemin = Application.GetOpenFilename 'recuperation du fichier
    On Local Error Resume Next
    Set ExcelAppli = GetObject(, "Excel.Application") 'ici on essaye de recuperer une session excel existante
    If Nothing Is ExcelAppli Then 'si pas de process excel en cours
        Set ExcelAppli = CreateObject("Excel.Application") 'on lance excel
         'un petit truc en passant, ici vous pouvez ajouter : ExcelAppli.visible = True si vous voulez ouvrir excel graphiquement
        Set OpFichier = ExcelAppli.Workbooks.Open(Chemin) 'on ouvre le fichier
        OpFichier.PrintOut Copies:=1, Collate:=True 'on lance l'impression
        OpFichier.Close False 'on ferme le fichier
        ExcelAppli.Quit 'on ferme excel
    Else 'process excel en cours
        On Error Resume Next
        ExcelAppli.Workbooks(Dir(Chemin)).Activate 'on verifi si ce fichier est deja ouvert
        If Err = 9 Then 'il n'est pas ouvert
              ExcelAppli.Application.ScreenUpdating = False
            Set OpFichier = ExcelAppli.Workbooks.Open(Chemin) 'on l'ouvre
        Else 'il est deja ouvert
            Set OpFichier = ExcelAppli.ActiveWorkbook 'on le recupere
              FichierDejaOuvert = True
        End If
        On Error Resume Next
        OpFichier.PrintOut Copies:=1, Collate:=True 'on lance l'impression
        If FichierDejaOuvert = False Then 
            OpFichier.Close False 'le fichier n'etait pas ouvert donc on le referme
            ExcelAppli.Application.ScreenUpdating = True
        End If
        Err.Clear
    End If
End Sub


Compatibilité : VBA

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.