IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

enregistrer sous pdf


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 78
    Points : 24
    Points
    24
    Par défaut enregistrer sous pdf
    bonsoir,
    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
    Private Sub Btn_99_Druckausgabe_Speichern_Click()
    Dim pfad
     
    'Datum aktualisieren
    Range("Z_Datum") = Date
     
    'Date$ liefert MM-TT-YYY. 
    datum = Left(Date$, 2) & Mid(Date$, 4, 2) & Mid(Date$, 7, 4)
     
     Dim FileSaveName 
     empfaenger = Range("Z_Titelblatt_Kunde")
     pfad = ActiveWorkbook.Path
     
          FileSaveName = Application.GetSaveAsFilename _
                (InitialFileName:=pfad & "\Checkliste_" & empfaenger & "_" & datum, _
                fileFilter:="EXCEL-Tabelle (*.xls), *.xls")
     
          If FileSaveName <> False Then
                  ActiveSheet.SaveAs Filename:=FileSaveName, _
                       Password:=""
          End If
     
        On Error Resume Next 
       End Sub
    meme si il ya des mots en allemand je crois que sa pose pas de probeme.

    voila je vex enregistrer sous Pdf j ai lu dans le forum mais je ne sais pas ou je vais ajouter ou bien definir.

    merci de votre aide

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Tu tapes "PDF" en recherche sur le forum VBA Excel et tu as un foultitude de réponses dont plusieurs Résolues
    Les unes utilisent une méthode, les autres une autre, je suis certain que tu trouveras ton bonheur. Il y en a une qui indique comment récupérer un .exe qui te permet de créer autant de pdf que tu le souhaites.
    Je jète un oeil mais tu devrais en faire autant Pièce jointe 15289

    Voila plusieurs adresses : http://www.developpez.net/forums/sho...d.php?t=319569
    http://www.developpez.net/forums/sho...d.php?t=211931
    http://www.developpez.net/forums/sho...0&postcount=14
    etc.
    A+

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 78
    Points : 24
    Points
    24
    Par défaut
    merci por ta reponse je vais bien chercher dans le forum :
    mais j ai un autre probleme et je n arrive pas a le resourdre toute seul.

    voila j ai trouver cette solution dans le forum en tapant imprimer les feuilles cachées
    je l ai utiliser dans mon programm, mais mon fichier dispose de certaines feuille qui sont cachées et des autres qui sont affichées.
    Celles qui sont affichées ne sont pas definies dans mon programm c est a dire quand je veux les imprimer j imprime chacune seul.
    mais les feuilles cachées sont definies dans mon programm et qund je clique sur le button imprimer ils s impriment automatiquement ,voila le code que j ai fait et ca marche les feuilles cachées s impriment mais entre chaque feuille s imprime ausssi la feuille qui est afficher je ne sais pas pourquoi?voila le sode que j ai mis: NB: (DRUCK c est imprimer )
    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
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    Private Sub Btn_99_Druckausgabe_Drucken_Click()
    Dim x, Zahl, letzte_Zeile, Vergleichswert
    Dim Akt_Printer, Text1, Text2, Message
    Dim bMemoCache
     
    Worksheets("Inhaltsverzeichnis").Select
     
    Range("a7:h100") = ""
     
     
    Akt_Printer = Application.ActivePrinter
     
    Text1 = Range("M_DRUCK1")
    Text2 = Range("M_DRUCK2")
     
    Message = MsgBox(Text1 & "' " & Akt_Printer & " '" & Chr(10) & Text2, vbOKCancel)
    If Message = 2 Then Exit Sub
     
    '===================================================================================
       Application.ScreenUpdating = False
       With Worksheets("title_page")
          bMemoCache = .Visible
          .Visible = True
          .PrintOut Copies:=1
          .Visible = bMemoCache
       End With
       Application.ScreenUpdating = True
     
    x = 1
    Zahl = x
    Call Druck(Zahl)
    ' ==========================================================================
    Application.ScreenUpdating = False
    With Worksheets("contact_costumer")
          bMemoCache = .Visible
          .Visible = True
          .PrintOut Copies:=1
          .Visible = bMemoCache
       End With
       Application.ScreenUpdating = True
    x = x + 1
    Zahl = x
    Call Druck(Zahl)
    ' ==========================================================================
     
    Application.ScreenUpdating = False
       With Worksheets("contact_producer")
          bMemoCache = .Visible
          .Visible = True
          .PrintOut Copies:=1
          .Visible = bMemoCache
       End With
       Application.ScreenUpdating = True
    x = x + 1
    Zahl = x
    Call Druck(Zahl)
    ' ==========================================================================
     
    Application.ScreenUpdating = False
       With Worksheets("dates")
          bMemoCache = .Visible
          .Visible = True
          .PrintOut Copies:=1
          .Visible = bMemoCache
       End With
       Application.ScreenUpdating = True
    x = x + 1
    Zahl = x
    Call Druck(Zahl)
    ' ==========================================================================
    Application.ScreenUpdating = False
    With Worksheets("ICP_IDP_Type")
          bMemoCache = .Visible
          .Visible = True
          .PrintOut Copies:=1
          .Visible = bMemoCache
       End With
       Application.ScreenUpdating = True
    x = x + 1
    Zahl = x
    Call Druck(Zahl)
    ' ==========================================================================
    Application.ScreenUpdating = False
    With Worksheets("education")
          bMemoCache = .Visible
          .Visible = True
          .PrintOut Copies:=1
          .Visible = bMemoCache
       End With
       Application.ScreenUpdating = True
    x = x + 1
    Zahl = x
    Call Druck(Zahl)
    ' ===================================
    Worksheets("title_page").Activate
    Lafeuille cahées s apelle "questionnaire"

    merci pour votre aide

  4. #4
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Plutôt que de répéter x fois la même instruction, je mettrais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    For Each LaFeuille In ActiveWorkbook.Worksheets
        If Not LaFeuille.Visible Then
            MsgBox "Imprimer " & LaFeuille.Name
            'ici ton code d'édition de la feuille
            Else
            MsgBox "Ne pas imprimer " & LaFeuille.Name
        End If
    Next
    ... si par "feuille cachée", tu veux bien dire "masquée"
    A+

  5. #5
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 78
    Points : 24
    Points
    24
    Par défaut
    merci beucoup ouskel

  6. #6
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 78
    Points : 24
    Points
    24
    Par défaut
    j ai toujours le meme probleme avec enregistrer sous pdf,malgre toute les postes aui sont en forum a propos de pdf alora qui peux m aider a trouver ce qu il fut ajouter a mon programm :
    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
    Private Sub Btn_99_Druckausgabe_Speichern_Click()
    Dim pfad
     
    'Datum aktualisieren
    Range("Z_Datum") = Date
     
    'Date$ liefert MM-TT-YYY. 
    datum = Left(Date$, 2) & Mid(Date$, 4, 2) & Mid(Date$, 7, 4)
     
     Dim FileSaveName 
     empfaenger = Range("Z_Titelblatt_Kunde")
     pfad = ActiveWorkbook.Path
     
          FileSaveName = Application.GetSaveAsFilename _
                (InitialFileName:=pfad & "\Checkliste_" & empfaenger & "_" & datum, _
                fileFilter:="EXCEL-Tabelle (*.xls), *.xls")
     
          If FileSaveName <> False Then
                  ActiveSheet.SaveAs Filename:=FileSaveName, _
                       Password:=""
          End If
     
        On Error Resume Next 
       End Sub
    merci beaucoup

  7. #7
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Si tu ne nous en dis pas plus, que veux-tu qu'on fasse ? Indique si tu as une erreur, laquelle (le message, pas le N°, sur quelle ligne...
    Si tu ne nous aides pas un peu, on ne peut pas t'aider sans avoir à tester, ce qui en décourage plus d'un
    A+

  8. #8
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 78
    Points : 24
    Points
    24
    Par défaut
    Bonjour,

    voila ,j ai essayer d ameliorer mon code mais j ai pas toujours ce que je veux .

    j ai un Userform de 3 button:

    envoyer
    imprimer
    enregistrer

    Pour l instant quand je clique sur le button enregistrer s affiche la fenetre pour choisir ou placer ce fichier.

    voila moi je veux quand s affiche cette fenetre il faut que je choisi entre XLS et PDF et quand je clique sur pdf j enregistre tout le fichier sur pdf.

    j ai reussi a faire ca mais malheureusement il m enregistre rien que la premiere feuille les autres non pourquoi je ne sais pas j ai pas trouver la solution ?au contraire quand je clique sur xls il enregistre tout les feuilles.

    Code:
    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
    Private Sub Btn_99_Druckausgabe_Speichern_Click()
    Dim pfad
    Dim FileSaveName 'Pfad und Dateiname der zu sichernden Datei
    'Datum aktualisieren
    Range("Z_Datum") = Date
     
    'Date$ liefert MM-TT-YYY. Die Bindestriche müssen raus
    datum = Left(Date$, 2) & Mid(Date$, 4, 2) & Mid(Date$, 7, 4)
     empfaenger = Range("Z_Titelblatt_Kunde")
     pfad = ActiveWorkbook.Path
     
          FileSaveName = Application.GetSaveAsFilename _
                (InitialFileName:=pfad & "\Checkliste_" & empfaenger & "_" & datum, _
    FileFilter:="EXCEL-Tabelle (*.xls), *.xls ,pdf datei (*.pdf),*.pdf")
    If FileSaveName <> False Then
            Select Case LCase$(Right$(FileSaveName, 3))
                Case "xls"
                    ActiveSheet.SaveAs Filename:=FileSaveName
                Case "pdf"
                    'deine Druckroutine für PDF
     
     Application.ActivePrinter = "Adobe Pdf auf Ne01:"
     
            ActiveWindow.PrintOut Copies:=1, Collate:=True
     End Select
        End If
     
        On Error Resume Next 'Fehlerausgang, Weiter mit Löschen, wenn EMail abgelehnt wurde
     
    End Sub
    merci

  9. #9
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Qu'utilises-tu comme "convertisseur" ? Avec pdfCreator (freeware), je fais ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        Application.ActivePrinter = "PDFCreator sur Ne00:"
        ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
            "PDFCreator sur Ne00:", Collate:=True
    et je n'ai pas de problème...
    Tu dis

  10. #10
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 78
    Points : 24
    Points
    24
    Par défaut
    pourkoi ca peux pas marcher avec Adobe pdf?

  11. #11
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Pour que ça fonctionne tu dois installer un filtre qui te converti le xls en pdf. S'il n'est pas installé, ben il n'est pas là La vie est dure parfois
    Mais ce n'est rien, tu vas sur google, tu tapes PDFCreator, tu récupères et tu installes. C'est gratuit, c'est rapide, et ça règle ton problème.
    Maintenant, je ne connais pas ta version de VBA, il est possible qu'en V.2007 Adobe soit intégré (???)
    Ensuite, je ne connais pas la syntaxe dans tous les cas de figure, avec Acrobat Distiller, c'est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "Acrobat Distiller sur ...:"
    Tu vois
    A+

  12. #12
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 78
    Points : 24
    Points
    24
    Par défaut
    c est a dire les gens qui vont utiliser ce fichier ils doivent avoir ce PDf creator sinon ils peuvent pas l enregistrer sous pdf c est ca?
    mais il ma deja converti la premiere paage en pdf c est a dire ca marche????
    ou bien non ?
    voila quand je choisi pdf dans ma fenetre et je clique sur enregistrer il fait l action comme koi il converti,mais il converti rien que la premiere page.

    merci

  13. #13
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    S'il t'enregistre une page, c'est que c'est ok ! Il n'enregistre qu'une feuille de calculs, c'est ce que tu veux dire ? Je crois me souvenir qu'il y a une option pour enregistrer toutes les feuilles mais là je ne vais pas pouvoir t'aider. Doit exister un paramètre mais malheureusement ça ne s'invente pas
    Je passe la main, j'en connais "certains" qui connaissent "certainement".
    Bonne chance

  14. #14
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 78
    Points : 24
    Points
    24
    Par défaut
    oui je veux dire il m enregistre une feuille voila,mais je veux qu il m enregistre tout les calculs?
    merci pour ton aide

  15. #15
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Tu devrais faire une recherche sur le forum VBA Excel à "pdf" ou dans la FAQ, il me semble bien avoir vu quelque chose là-dessus mais je ne me souviens plus où.

  16. #16
    Membre éclairé
    Inscrit en
    Décembre 2006
    Messages
    891
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 891
    Points : 831
    Points
    831
    Par défaut Ghostscript
    Cherche sur le mot Ghostscript, la bibliothèque FREE servant pour tous à faire du PDF.

Discussions similaires

  1. [PPT-2007] Enregistrer sous PDF (publier)
    Par leloup84 dans le forum Powerpoint
    Réponses: 0
    Dernier message: 19/06/2012, 08h48
  2. [PPT-2007] Posez votre question Signaler Enregistrer sous PDF
    Par leloup84 dans le forum Powerpoint
    Réponses: 0
    Dernier message: 14/06/2012, 14h00
  3. Créer un lien hypertexte après voir enregistrer sous PDF
    Par babou41287 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 02/01/2012, 12h31
  4. Impossible enregistrer sous pdf
    Par bigbernie dans le forum Word
    Réponses: 13
    Dernier message: 20/01/2009, 16h26
  5. Peut-on donner automatiquement un nom à un enregistrement sous PDF ?
    Par nat44 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 22/07/2008, 14h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo