bonjour
J'ai une petite base de données Access.
Dans celle ci j'ai définie avec un peu de code en vba un petit programme qui me permet de parcourir tous les fichiers excels d'un repertoire et d'en imprimer le contenu selon un critere.
Le problème c'est que je n'arrive pas a fermer ces fichiers une fois leurs contenus imprimés.
du cou pour chacun des fichier a imprimer j'ai une invite de commande qui me demande si je veu sauvegarder.
J'ai essayé avec d'autres syntaxes mais j'ai des messages d'erreurs.
voici mon code, si quelqu'un peut me donner un cou de pouce.
voila merci d'avance.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46 Private Sub Commande20_Click() 'imprimer toutes les factures d'un meme repertoire suivant certains criteres Dim repertoire As String Dim fichier As String Dim extension As String Dim animal As String Dim année As Integer Dim semaine As String 'Dim xlfichier As Excel.Workbook Dim i As Integer i = 0 'initialisation du compteur extension = "*.xls" 'selection de l'extension à rechercher dans le repertoire animal = InputBox("type d'animal desiré?") 'selection du type de facture à editer année = InputBox("quelle année?") 'choix de l'année des factures semaine = InputBox("entrez le numero de semaine desirée") If animal = "agneaux" Then repertoire = ("N:\cuma\3ieme version\CUMAFACTURE\agneaux\" & année & "\") 'definition du chemin corespondant" ElseIf animal = "bovins" Then repertoire = ("N:\cuma\3ieme version\CUMAFACTURE\GROSBOVIN\" & année & "\") ElseIf animal = "porcs" Then repertoire = ("N:\cuma\3ieme version\CUMAFACTURE\Porcs\" & année & "\") ElseIf animal = "veaux" Then repertoire = ("N:\cuma\3ieme version\CUMAFACTURE\Veaux\" & année & "\") End If 'MsgBox (repertoire) fichier = Dir(repertoire & extension) 'association du repertoire et l'extension 'MsgBox (fichier) Do Until fichier = "" 'jusqu'a qu'il n'y ai plus de fichier excel If InStr(1, fichier, "D" & semaine, vbTextCompare) <> 0 Then 'recherche du numero de semaine non de fichier excel Excel.Application.AskToUpdateLinks = False 'permet de ne pas afficher la demande de mise a jour des liaisons Excel.Workbooks.Open(repertoire & fichier).PrintOut 1, 1 'ouverture et impression des fichiers fichier = Dir i = i + 1 'incrementation du compteur Else fichier = Dir End If Excel.Workbooks.Close Loop MsgBox ("nombre de factures editées: " & i) Excel.Application.Quit 'fermeture d'excel End Sub
Partager