Les Snippets

Connexion

Imprimer un fichier excel sans l'ouvrir

Niveau requis pour utiliser/comprendre cette source : 1 ( Débutant )
Créé le 04/02/2008 04:20:14 et initié par bigfish_le vrai [Liste]
Date de mise à jour : 05/02/2008 10:22:16
Vue : 8138
Catégorie(s) : Fichier / Disque, Divers
Langages dispo pour ce code :
- VBA
- Voir tous les langages pour ce code snippet



Langage : VBA
Date ajout : 04/02/2008
Posté par bigfish_le vrai [Liste]
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

Remarque :
Un titre un peu racoleur et pas tout a fait vrai, vous l'aurez compris. Car effectivement dans tout les cas, excel et le fichier seront ouvert soit uniquement dans un process excel, donc non visible (mise a par le process lui meme) ou soit dans une session excel existante qu'elle soit graphiquement visible ou non.

Snippets en rapport avec : Fichier, Ouvrir, Excel, Imprimer



Codes sources en rapport avec : Fichier, Ouvrir, Excel, Imprimer

{Visual Basic, VB6, VB.NET, VB 2005} OUVRIR TOUS LES FICHIERS EXCEL D'UN DOSSIER ET DE SES SOUS-DOSSIERS
Petite macro permettant de choisir un dossier puis de parcourir le dossiers et ses sous-dossiers afi...

{Visual Basic, VB6, VB.NET, VB 2005} EXPORTER LE CONTENU D'UN DATAGRIDVIEW VERS EXCEL OU N IMPORTE QUELLE AUTRE FICHIER TABULÉ
Ce bout de code est la pour reprendre, simplifier, commenter et MODERNISER une de mes vielle sources...

{Visual Basic, VB6, VB.NET, VB 2005} LISTER FICHIERS D'UN DOSSIER
ce p'tit code permet de lister les fichiers d'un dossier choisi en plaçant leur noms, leur type et l...

{Visual Basic, VB6, VB.NET, VB 2005} COMPARATEUR EXCEL EN MASSE, AMÉLIORATIONS
mabrouklepoux avait proposé un comparateur de fichiers Excel. http://www.vbfrance.com/code.aspx?ID=3...

{Visual Basic, VB6, VB.NET, VB 2005} [VBA-EXCEL] MODIFICATEUR DE FICHIER EXCEL
Bonjour, Voici un petit programme en VBA permettant de trouver tous les fichiers excel à l'endroi...

{Visual Basic, VB6, VB.NET, VB 2005} OUVRIR DES HTA SANS MESSAGE DE LA PART DE WINDOWS
Lorsque l'on essaie d'ouvrir un fichier a partir d'un hta, window (IE version6.00.2900 et +) nous ...

{Visual Basic, VB6, VB.NET, VB 2005} OUVERTURE D'UN FICHIER PAR UN LOGICIEL EXTERNE
Ce code permet d'ouvrir un fichier quelconque dans le logiciel associé à ce type de fichier. Il s...

{Visual Basic, VB6, VB.NET, VB 2005} LISTE DES FICHIERS ET SOUS RÉPERTOIRES POUR VERSER DANS EXCEL
A partir d'un répertoire, descent toute l'arborescence et liste les fichiers et sous répertoires tro...

{Visual Basic, VB6, VB.NET, VB 2005} MACRO VBA : SYNCHRONISATION D'UN FICHIER XL PAR UN AUTRE
Le but est de synchroniser chaque ligne d'une feuille d'un fichier XL par un autre. Le critère iden...

{Visual Basic, VB6, VB.NET, VB 2005} GÉNÉRER UN FICHIER EXCEL À PARTIR D'UN DATASET
Ce code permet de générer un fichier Excel à partir d'un DataSet qui est fourni en paramètre. ...