Bonjour
A la suite de cette discussion
Avez-vous une solution pour imprimer des ongles Excel en PDF à partir d'Access ?
Ou quelqu'un aurait-il une piste de travail ?
Cela m'intéresserait aussi :ccool:
Version imprimable
Bonjour
A la suite de cette discussion
Avez-vous une solution pour imprimer des ongles Excel en PDF à partir d'Access ?
Ou quelqu'un aurait-il une piste de travail ?
Cela m'intéresserait aussi :ccool:
Salut,
VBA (access ) --> excel
tu trouveras dans les tutoriels ici comment faire pour écrire (à partir de code VBA) dans un fichier Excel. Si tu as plus de question à ce sujet réécrit moi je pourrais t'envoyer une partie de code qui permet de faire ses manipulations.
VBA--> PDF
J’ai trouvé quelque tutoriel sur le site ici, cependant il ne faisait pas exactement ce que je voulais, tu peux fouiller et voir si tu trouves ce que tu recherches. Pour moi je n'ai jamais réussi à convertir un VBA en PDF. Peut-être qu'avec pdf creator en créant des formulaires PDF ça se ferait, il faudrait creuser davantage
VBA msprojet
Il y a un tutoriel sur le site ici aussi. Mon projet a changé et je n'ai pas utilisé ce tutoriel
Bref en gros,
fouille dans les tutoriels tu devrais trouvé l'information que tu as besoin.
Désolé de ne pas être plus précis, comme tu as pu le constater j'ai écrit ce courriel en janvier et j'ai perdu mes liens tutoriel et je ne suis plus vraiment en train de faire cette programmation.
Mais tu devrais trouver!
Bonne recherche
Je continuerai de fouiller...
Ce qu'il me faut, en fait, c'est, via Access,
1) ouvrir un fichier Excel
2) imprimer tous les onglets en PDF ( je dispose de l'extension ad hoc pour office 2007 )
Salut,
je peux t'aidé a jouer et ouvrir et écrir dans un fichier excel
pour le truc pdf aucune idée
voici donc le code générale pour ouvrir et jouer dans un fichier excel
Voila j'Ai tout mis ce que je connais des manipulation de fichierCode:
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
47
48
49
50 ' Déclaration des variables nécessaires pour travailler sur le classeur excel. Dim appexcel As Excel.Application Dim classeurexcel As Excel.Workbook Dim feuilleexcel As Excel.Worksheet 'Ouverture de l'application Excel Set appexcel = CreateObject("Excel.Application") 'Ouverture d'un fichier Excel cheminModele = chemin_Connexion.GetTEMPLATE("17") Set classeurexcel = appexcel.Workbooks.Open(cheminModele) 'Ouvrir le fichier sur la premiere FEUILLE #1 Set feuilleexcel = classeurexcel.Worksheets(1) 'on met le display a false pour ne pas avoir de gestion de message excel ( et donc écraser le fichier si il existe deja) classeurexcel.Application.DisplayAlerts = False 'maintenant remplir les case '/// ' information general '/// '///Titre du projet feuilleexcel.Range("D5").Value = TES INFORMATIONS CODE CODE CODE CODE /// 'SECURITE ET FERMETURE DU OUVEAU FICHIER ' /// ' on met la protection sur le classeur et la feuille classeurexcel.Protect Password:=chemin_Connexion.GetPASSWORDEXCEL, Structure:=True, Windows:=False feuilleexcel.Protect Password:=chemin_Connexion.GetPASSWORDEXCEL ' on sauvegarde temporaire classeurexcel.SaveAs FileName:= TON FICHIER EXCEL 'on met le display a true pour éviter les mauvaise surprise classeurexcel.Application.DisplayAlerts = True classeurexcel.Close Set feuilleexcel = Nothing Set classeurexcel = Nothing Set appexcel = Nothing
autre petire truc interessant ici... souvent il peut y avoir des problèmes parce que une instance de excel est deja ouverte...
si tu veux fermé tout les excel ouvert...
attention ce code est un peu extrême... il ferme tout sans sauvegarder
tu peux t'En servir pour fermer d'autre application ( comme pdf également)
Code:
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98 Option Compare Database Option Explicit Public Sub TerminateExcelProcess() '--------------------------------------------------------------------------------------- ' : Terminates a process. First checking to see if it is running or not. ' : Uses WMI (Windows Management Instrumentation) to query all running processes ' : then terminates ALL instances of the specified process ' : held in the variable strTerminateThis. ' : ' : ***WARNING: This will terminate a specified running process,use with caution!. ' : ***Terminating certain processes can effect the running of Windows and/or ' : ***running applications. '--------------------------------------------------------------------------------------- '================ ' ERREUR GOTO | '================ On Error GoTo GESTION_ERROR: Dim strTerminateThis As String 'The variable to hold the process to terminate Dim objWMIcimv2 As Object Dim objProcess As Object Dim objList As Object Dim intError As Integer strTerminateThis = "Excel.exe" 'Process to terminate, 'change notepad.exe to the process you want to terminate Set objWMIcimv2 = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\.\root\cimv2") 'Connect to CIMV2 Namespace Set objList = objWMIcimv2.ExecQuery _ ("select * from win32_process where name='" & strTerminateThis & "'") 'Find the process to terminate If objList.Count = 0 Then 'If 0 then process isn't running 'MsgBox strTerminateThis & " is NOT running." & vbCr & vbCr _ '& "Exiting procedure.", vbCritical, "Unable to continue" Set objWMIcimv2 = Nothing Set objList = Nothing Set objProcess = Nothing Exit Sub Else 'Ask if OK to continue Select Case MsgBox("Pour éviter les problèmes il est fortement suggéré de " _ & vbCrLf & " " _ & vbCrLf & "FERMER toutes vos applications EXCEL présentement ouvertes" _ & vbCrLf & "" _ & vbCrLf & "Note:" _ & vbCrLf & "ATTENTION, IL EST FORTEMENT RECOMMANDÉ DE SAUVEGARDER VOTRE TRAVAIL, SINON TOUTE LES MODIFICATIONS SERONT PERDU!!!" _ , vbOKCancel Or vbQuestion Or vbSystemModal Or vbDefaultButton1, "WARNING:") Case vbOK 'OK to continue with terminating the process For Each objProcess In objList intError = objProcess.Terminate 'Terminates a process and all of its threads. 'Return value is 0 for success. Any other number is an error. If intError <> 0 Then MsgBox "ERROR: Unable to terminate that process.", vbCritical, "Aborting" Exit Sub End If Next 'ALL instances of specified process (strTerminateThis) has been terminated 'Call MsgBox("ALL instances of process " & strTerminateThis & " has been successfully terminated.", _ 'vbInformation, "Process Terminated") Set objWMIcimv2 = Nothing Set objList = Nothing Set objProcess = Nothing Exit Sub Case vbCancel ' 'NOT OK to continue with the termination, abort Set objWMIcimv2 = Nothing Set objList = Nothing Set objProcess = Nothing Exit Sub End Select End If FIN: Exit Sub '================= ' GESTION ERREUR | '================= GESTION_ERROR: Resume FIN: End Sub
Reste donc le souci de "PDFiser" le tout...
Merci de ta réponse ;-)
Il me semble que j'ai vu un tutoriel sur le site ici, mais c'était avec un outil bien spécifique (genre pdf creator ou cute pdf).
Sinon je suis désolé j'avais le même problème que toi et je n'ai jamais vraiment trouvé.
Une solution pourrait peut-être de tout simplement par exemple écrire en Excel et aller imprimer en PDF ( file print ( choisir imprimante cute pdf)... quelque chose du genre...
Bonne chance
Je Cherche toujours...
En fouillant un peu, cette discussion pourrait aider...
Je teste et je vous tiens au courant...
Salut,
je n'ai plus besion de cette informations j'ai contourné mon problème. Le post est ouvert pour ceux que cela pourrait interesser
Pas besion de chercher pour moi ;-)
Merci
Et c'est bien pour eux que je poste ceci :ccool: :
Code:
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 Public Function ExportSousPDF() On Error GoTo Erreurs If MsgBox("Voulez-vous vraiment exporter [CLASSEUR] ?", vbQuestion + vbYesNo + vbDefaultButton2, "Mon appli") = vbNo Then Exit Function Dim appexcel As Excel.Application Dim wbexcel As Excel.Workbook Set appexcel = CreateObject("Excel.Application") appexcel.Visible = False Set wbexcel = appexcel.Workbooks.Open([L:\Fichier.xlsx]) appexcel.ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, FileName:=[L:\Test], Quality:=xlQualityMinimum appexcel.ActiveWorkbook.Close savechanges:=False MsgBox "C'est fait", vbInformation, "Mon appli" Exit Function Erreurs: Select Case err.Number Case Else MsgBox err.Description, vbCritical, "Mon appli" End Select End Function
est mis pour que le fichier .pdf ne prenne pas trop de place ;-)Code:Quality:=xlQualityMinimum
Voilà et merci.