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 :

Code vba pour export pdf


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    dessinateur
    Inscrit en
    Février 2013
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : dessinateur
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2013
    Messages : 27
    Points : 22
    Points
    22
    Par défaut Code vba pour export pdf
    Bonjour,
    Je souhaite créer un pdf avec un bouton a partir de mon fichier excel.
    Pour cela j'utilise ce code vba:

    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
    Sub Creer_PDF_Demande_Prix()
    '
    ' Creer_PDF_Demande_Prix Macro
    ' il faut changer le cheminchaque annee
    '
    'Condition si cellule E3 est egal a DEMANDE DE PRIX
    If Range("E3") = "DEMANDE DE PRIX" Then
     
    'Alors faire le PDF et l'enregistrer
    Dim fichier As String
    fichier = "C:\_CIAM\13-DEMANDES DE PRIX\2013\" & [E4].Value & "-" & [H4].Value & "_" & [F6].Value
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=fichier, _
        Quality:=xlQualityStandard, IncludeDocProperties:=True, _
        IgnorePrintAreas:=False, OpenAfterPublish:=True
    'Condition fausse renvoie le message Vous n'etes pas passez en Demande de prix
    Else
     
    MsgBox "Vous n'etes pas passez en Demande de prix"
     
    End If
     
    End Sub
    Quand j'execute la macro il y a le code erreur 1004 qui apparait.
    Merci d'avance pour votre aide

  2. #2
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 754
    Points : 9 396
    Points
    9 396
    Par défaut
    Bonjour,

    Quelle ligne retourne cette erreur ?

  3. #3
    Membre à l'essai
    Homme Profil pro
    dessinateur
    Inscrit en
    Février 2013
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : dessinateur
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2013
    Messages : 27
    Points : 22
    Points
    22
    Par défaut
    Il me surligne en jaune la partie suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=fichier, _
    Quality:=xlQualityStandard, IncludeDocProperties:=True, _
    IgnorePrintAreas:=False, OpenAfterPublish:=True

  4. #4
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 754
    Points : 9 396
    Points
    9 396
    Par défaut
    Quelle est la valeur de la variable fichier au moment de l'export.
    Cette ligne de code fonctionne si nom de fichier correct

  5. #5
    Membre à l'essai
    Homme Profil pro
    dessinateur
    Inscrit en
    Février 2013
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : dessinateur
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2013
    Messages : 27
    Points : 22
    Points
    22
    Par défaut
    Cette valeur est differente pour chaque nom de fichier.
    E4: nom de fichier
    H4: version du fichier
    F6: nom du sous-traitant
    Ci-joint fichier.
    Fichiers attachés Fichiers attachés

  6. #6
    Membre émérite Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Points : 2 662
    Points
    2 662
    Par défaut
    Salut,
    J'ai pas ouvert le fichier, mais il me semble qu'il manque l'extension .PDF dans le nom que tu donne:

    Essai avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fichier = "C:\_CIAM\13-DEMANDES DE PRIX\2013\" & [E4].Value & "-" & [H4].Value & "_" & [F6].Value&".pdf"

  7. #7
    Membre à l'essai
    Homme Profil pro
    dessinateur
    Inscrit en
    Février 2013
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : dessinateur
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2013
    Messages : 27
    Points : 22
    Points
    22
    Par défaut
    Ca ne change rien!

  8. #8
    Membre émérite Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Points : 2 662
    Points
    2 662
    Par défaut
    Etrange...j'ai dès lors fait un test, pas de changement fondamental à ton code, le plus gros changement est l'ouverture du PDF suivant MsgBox et pas grace à l'argument.

    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
    Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, _
    ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
    Sub Creer_PDF_Demande_Prix()
    Dim fichier As String, chemin As String, MyApdf As String
    ' Creer_PDF_Demande_Prix Macro
    ' il faut changer le chemin a chaque annee
    '
    'Condition si cellule E3 est egal a DEMANDE DE PRIX
    If Range("E3") = "DEMANDE DE PRIX" Then
        'Alors faire le PDF est l'enregistrer
        chemin = "C:\_CIAM\13-DEMANDES DE PRIX\2013\"
        fichier = chemin & [E4].Value & "-" & [H4].Value & "_" & [F6].Value & ".PDF"
        ActiveSheet.ExportAsFixedFormat _
            Type:=xlTypePDF, _
            Filename:=fichier, _
            Quality:=xlQualityStandard, _
            IncludeDocProperties:=True, _
            IgnorePrintAreas:=False, _
            OpenAfterPublish:=False
    Else 'Condition fausse renvoie le message Vous n'etes pas passé en Demande de prix
        MsgBox "Vous n'etes pas passé en Commande"
    End If
     
    'Msg pour ouverture éventuelle du PDF
    MyApdf = MsgBox("Do you want to open the PDF when done ?", vbYesNo, "Excel-Et-Vous")
    If MyApdf = 6 Then
        ShellExecute 0, "open", fichier, "", "", 1
    End If
     
    End Sub

  9. #9
    Membre à l'essai
    Homme Profil pro
    dessinateur
    Inscrit en
    Février 2013
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : dessinateur
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2013
    Messages : 27
    Points : 22
    Points
    22
    Par défaut
    J'ai copier ton code mais pas de changement.
    Je tiens à préciser que les valeurs des cellules E4 et H4 sont remplis automatiquement à la création du fichier par un logiciel de gestion de document (EPDM) avec cycle de vie. La valeur dans E4 est un n° de série créer par ce dernier.

  10. #10
    Membre émérite Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Points : 2 662
    Points
    2 662
    Par défaut
    Es tu certain de ce chemin ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "C:\_CIAM\13-DEMANDES DE PRIX\2013\"
    J'ai testé le code avec un chemin propre à mon poste et je n'ai rencontré aucun problème

  11. #11
    Membre à l'essai
    Homme Profil pro
    dessinateur
    Inscrit en
    Février 2013
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : dessinateur
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2013
    Messages : 27
    Points : 22
    Points
    22
    Par défaut
    Oui ce chemin est bon. Même avec un autre chemin ça ne marche pas sur mon poste.

  12. #12
    Membre émérite Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Points : 2 662
    Points
    2 662
    Par défaut
    Peux tu donner des exemples de valeurs pour E4 H4, si ça se trouve il y a des caractères "interdits" ?

  13. #13
    Membre à l'essai
    Homme Profil pro
    dessinateur
    Inscrit en
    Février 2013
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : dessinateur
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2013
    Messages : 27
    Points : 22
    Points
    22
    Par défaut
    Valeur E4 du type: DP00012,DP00013 etc.. ou CDE00012,CDE00013 etc... et H4 du type - ou A ou B etc...

  14. #14
    Membre émérite Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Points : 2 662
    Points
    2 662
    Par défaut
    Donc à priori pas de problème...

    J'ai remis ton fichier avec le code modifié, peux tu tester sans rajouter les références E4 H4 pour être idem à ce que j'ai fait ?
    Fichiers attachés Fichiers attachés

  15. #15
    Membre à l'essai
    Homme Profil pro
    dessinateur
    Inscrit en
    Février 2013
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : dessinateur
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2013
    Messages : 27
    Points : 22
    Points
    22
    Par défaut
    J'ai trouver le problème: quand il n'y a pas de valeur dans les cellules il ne sait pas créer le pdf (par ex. cellule H4 vide).
    Merci beaucoup pour vos aides très précieuses.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Probleme VBA pour exporter en PDF
    Par toto92 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 22/08/2014, 13h11
  2. Code VBA pour exportation Données et tracer de graphique
    Par élie .R dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 31/05/2014, 10h04
  3. Code VBA pour exporter vers Excel/Access
    Par piflechien73 dans le forum VBA PowerPoint
    Réponses: 1
    Dernier message: 26/03/2012, 07h37
  4. [VBA-A] Code vba pour inclure un formulaire Acces
    Par MadSquirrel dans le forum VBA Access
    Réponses: 2
    Dernier message: 12/04/2006, 18h19
  5. Réponses: 3
    Dernier message: 06/09/2005, 10h27

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