Soyez le premier à donner votre avis sur cette source.
Snippet vu 16 343 fois - Téléchargée 9 fois
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
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.