J'y ai pensé mais en VB6, va être difficile, non ? Surtout en utilisant des fonctions VB6ièmes...
Mais tu peux toujours essayer d'enregistrer sous Excel, rien que pour voir
Et si bbil le dit...
J'y ai pensé mais en VB6, va être difficile, non ? Surtout en utilisant des fonctions VB6ièmes...
Mais tu peux toujours essayer d'enregistrer sous Excel, rien que pour voir
Et si bbil le dit...
j'ai résolue le problème je met le code à disposition pour ceux que ca pourrait interesser dans le futur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 For Each Imprimante In Printers If CStr("PDFCreator") = UCase(CStr(Imprimante.DeviceName)) Then Set Printer = Imprimante End If Next Imprimante objExcel.ActiveWorkbook.Sheets(1).Range("B1:L92").PrintOut Copies:=1
Maintenant j'ai un autre problème
comment je peux automatiser cette étape? j'aimerai que ca sauvegarde automatiquement le fichier d'impression dans un répétoire bien précis sans qu'une fenetre s'ouvre, tout dois se faire automatiquement
Tu aurais à mon avis écrit if titi = toto... tu aurais eu le même résultat !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 For Each Imprimante In Printers If CStr("PDFCreator") = UCase(CStr(Imprimante.DeviceName)) Then Set Printer = Imprimante End If Next Imprimante
De même que tu aurais le même résultat en supprimant carrément ces lignes !
ouais j'ai remarqué ...tu es toujour aussi moqueur jmfmarques, fidel a toi même!
c'est fait expret pour des questions de fiabilité
mon tuteur veut que cette imprimante soit définit à cette aplication car il y a tellement d'imprimante sur le réseau qu'il ne sont pas sur de la fiabilité
C'est se qu'on m'a dis
Je ne vois pas comment tu as ajouté de la fiabilité !!!!!! avec çà !ouais j'ai remarqué ...
c'est fait expret pour des questions de fiabilité
L'imprimante par defaut change tout le temp, la au moin tu sais avec certitude l'aquelle tu utilise c tout. Mais la tu répond toujour pas a la question
Et puis je suis d'accord que le mot fiabilité et un peu gros, mais bon mon tuteur est spécial, a chaque fois qu'il m'explique un truc c genre moïse traversant la mer rouge lol.
Celà va même au delà des Ucase assez curieux !...
DeviceName est le nom de chaque imprimante trouvée
Dire, à la rigueur : si le nom trouvé est égal à ..... ma foi, ce serait encore un peu (pas trop mais...) logique. Dire, par contre : si "machinchouette" = le nom d'une imprimante trouvée est assez surprenant....
Bah c'est mon super tuteur qui m'a filé le code, je fait du vb depuis 5 jour et je pourrait meme pas vous dire ce que ca fait. bref je vais vire ces ligne et conserver juste l'impression. Perso je suis pas fan du vb
bah je chipote pas, mon tuteur sait pertinament que j'en ait jamais fait et me demande des faire des chose quand même hardu donc faut pas qu'il s'attende à se que je roxxe tout
Bon bah j'ai modifier le code ca donne ca
et la ca me lance PDFCreator
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 objExcel.ActiveWorkbook.Sheets(1).Range("A1:L92").PrintOut Copies:=1, _ ActivePrinter:="PDFCreator"
Treve de bavardage, maintenant on peux répondre a ma question plz
Comment je peux automatiser l'enregistrement s'il vous plait, je vous le demande humblement.
tu as raison, je vais de décarcasserEnvoyé par ouskel'n'or
merci
il me génère un pdf qui est corrompu
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 objExcel.ActiveWorkbook.Sheets(1).Range("A1:L92").PrintOut Copies:=1, _ ActivePrinter:="PDFCreator" , _ PrToFileName:="C:\Documents and Settings\INES\Mes documents\nom.pdf"
Comment je peux dire a PDFCreator de générer un pdf parce que la je sauvegarde le fichier avec un extention pdf ce qui est pas pret de fonctionner si PDFCreator ne passe ps mon fichier excel en pdf
déjà avant de te lancer dans la macro... arrive tu à faire fonctionner PdfCreator ... à la main... fait un tour dans la FAQ access , de mémoire .. il y as tutorial de Cafeine... pour l'utilisation de PdfCreator dans access... cela t'aidera peu être...Envoyé par zackrel
C'est bon la solution m'a était apporté par scorpion 37
il suffisait d'activer dans les options de PDFCreator la sauvegarde automatique
et de faire un Printout en utilisant l'imprimante virtuelle de PDFCreator
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
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 Sub Main() ModifierFichier End Sub Private Sub ModifierFichier() '------------------------------------------------------------------------ 'Ce script VBS permet de modifier un fichier Excel puis de l'enregistrer. '------------------------------------------------------------------------ Set objExcel = CreateObject("Excel.Application") 'on fait tourner l'application en background et on désactive toutes les alerts objExcel.Visible = False objExcel.Application.DisplayAlerts = False 'déclaration des variables Dim nom As String Dim numero As String Dim date_document As Date Dim client As String Dim temp As String Dim bilan As String Dim fileXl As String 'déclaration DataBase et Recordset. Dim DB As Database Dim RS As Recordset Connection 'requête SQL SQL = "SELECT * FROM donnees_intervention" Dim requete As New ADODB.Recordset requete.Open SQL, Connect_Bd 'EOF signifie End Of File (soit plus d'enregistrement présent). Do Until requete.EOF nom = requete.Fields("Nom_fiche") numero = requete.Fields("Numero_fiche") date_intervention = requete.Fields("Date_document") client = requete.Fields("Raison_sociale") temp = requete.Fields("Temp_intervention") bilan = requete.Fields("Bilan") requete.MoveNext Loop requete.Close 'on ouvre le fichier Set objWorkbook = objExcel.Workbooks.Open("O:\Test\" & nom) 'on ouvre la premiere feuille Set objWorksheet = objWorkbook.Worksheets(1) objWorksheet.Cells(2, 4) = numero objWorksheet.Cells(5, 7) = date_intervention objWorksheet.Cells(6, 3) = client objWorksheet.Cells(31, 6) = temp objWorksheet.Range("A11:G29").Merge objWorksheet.Range("A11") = bilan 'on va changer le format de notre fichier excel en pdf pour qu'il puisse être utiliser chez le client 'on utilise l'imprimante virtuel PDFCreator pour effectué la convertion avec l'option sauvegarde 'automatique d'activée objExcel.ActiveWorkbook.Sheets(1).Range("A1:L92").PrintOut Copies:=1, _ ActivePrinter:="PDFCreator" 'on sauvegarde le classeur objWorkbook.Save objWorkbook.Close 'on ferme le fichier objExcel.Quit End Sub
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager