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 :

Automatisation facture problème création PDF


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Fonctionnaire
    Inscrit en
    Janvier 2018
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Fonctionnaire
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2018
    Messages : 27
    Par défaut Automatisation facture problème création PDF
    Bonjour a tous,
    J’ai fait un petit fichier pour ma sœur qui est dresseur, comportementaliste animalier.
    Alors 1 feuil (base) données clientèles et animaux, qui est alimenter par 2 Userform
    1 feuil( facture) qui comporte dans celle-ci 3 boutons
    1- Reset
    2- Création PDF
    3- Mail
    1 feuil (tableau de bord) ou y sont placé 3 boutons
    1- Nouvelle donnée (Client)
    2- Envoyé une facture
    3- Aperçu des clients qui est une LISTBOX
    Avec cette listbox quand je clic sur un client celle-ci renseigne des textbox
    Nom, prénom, etc.en voici le 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
    Option Explicit
     
    Private Sub LBClients_Click() ' procédure permettant d'afficher un enregistrement
    Application.ScreenUpdating = False
      Dim NumLigne As Integer
        Dim MaLigne As Integer
     
        NumLigne = Me.LBClients.ListIndex ' Trouve le NUMERO de la ligne selectionnée dans la listbox
        MaLigne = Me.LBClients.ListCount  ' Trouve le NOMBRE d'enregistrement dans la listbox
     
        Me.TBNbr.Value = MaLigne ' indique le nombre de clients dans la listbox
     
        ' chargement ddes differents informations dans les texbox
     
        Me.TBN_client.Value = "CEC20/" & Me.LBClients.Column(0, NumLigne)
        Me.TBDate.Value = Me.LBClients.Column(1, NumLigne)
        Me.TBCivilite.Value = Me.LBClients.Column(2, NumLigne)
        Me.TBNom.Value = Me.LBClients.Column(3, NumLigne)
        Me.TBPrenom.Value = Me.LBClients.Column(4, NumLigne)
        Me.TBAdresse.Value = Me.LBClients.Column(5, NumLigne)
        Me.TBCp.Value = Me.LBClients.Column(6, NumLigne)
        Me.TBVille.Value = Me.LBClients.Column(7, NumLigne)
        Me.TBMail.Value = Me.LBClients.Column(8, NumLigne)
        Me.TBTelephone.Value = Me.LBClients.Column(9, NumLigne)
     Application.ScreenUpdating = True
     
    End Sub
    Placer sur la listbox un bouton extraire
    Mon but était de renseigner les champs nécessaires a la facture (feuil « facture »)
    Numéro client, nom, prénom, adresse postal, mail et prix de la séance.,
    Ce qui fonctionne parfaitement.

    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
    Private Sub CBTransfert_Click()
    Application.ScreenUpdating = False
     
     
    Sheets("facture").Range("F10").Value = Me.TBCivilite.Value
    Sheets("facture").Range("G10").Value = Me.TBNom.Value
    Sheets("facture").Range("I10").Value = Me.TBPrenom.Value
    Sheets("facture").Range("F11").Value = Me.TBAdresse.Value
    Sheets("facture").Range("F12").Value = Me.TBCp.Value
    Sheets("facture").Range("H12").Value = Me.TBVille.Value
    Sheets("facture").Range("F13").Value = Me.TBMail.Value
    Sheets("facture").Range("h5").Value = Me.TBN_client.Value
    Sheets("facture").Range("h6").Value = Me.TBN_client.Value
     
      'Collage_adresse
     
    Unload Me
     
    Sheets("facture").Select
    Application.ScreenUpdating = True
    End Sub
    Mon problème c’est que quand les champs de la facture sont remplis et que je clic sur « PDF » pour générer la facture en PDF qui lui servira ensuite à envoyer via le bouton MAIL
    Il ne se passe rien alors que : voici le code pour la réalisation du PDF

    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
    Sub Export()
     
    Dim Tarif As String
    Dim Reponse As String
    Tarif = InputBox(" Veuillez entrer le tarif , merci", "Valeur en Euro")
    Sheets("facture").Range("F26").Select
    Sheets("facture").Range("F26").Value = Tarif
     
     
    Dim Nomdossier As String
    Dim Dossier As String
    Dim FichierExistant As String
     
    Nomdossier = Application.InputBox("Dossier d'Enregistrement", "Enregistrement au Format PDF", "Facture client Valérie en PDF")
    Dossier = "E:\Création Excel\Projet Valerie\Base de donnée et envoi facture\" & "\" & Nomdossier & "\"
        On Error Resume Next
    FichierExistant = GetAttr(Dossier) And vbDirectory
        If FichierExistant = False Then
            MkDir (Dossier)
        End If
     
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
    Filename:=Dossier & Sheets("facture").Range("G10").Value & "_" & Sheets("facture").Range("I10").Value & "_" & "Facture N°" & "_" & Sheets("facture").Range("c17").Value & "_" & " Client N° " & Sheets("facture").Range("c16").Value & "_" & ".pdf", _
    quality:=xlQualityStandard, _
    includedocproperties:=True, _
    ignoreprintareas:=False, _
    From:=1, To:=1, _
    openafterpublish:=False
     
    End Sub
    Ce que je ne comprend pas c'est que :
    Si je ne renseigne aucun champs le PDF est généré ou même quand je rentre des données manuellement dans les différents champs, le PDF se créé.
    Je me suis dit que j’allais extraire dans une autre feuille (donnée) ensuite crée une macro qui copie/colle dans les champs factures la aussi le PDF ne se génère pas
    Le truc de dingue et que quand je fais un copier/coller manuellement le PDF se génère.
    merci d'avance pour vos conseils et surtout de m'avoir lu
    mon fichier est a disposition a votre demande

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 684
    Par défaut
    Salut,

    petit point pour commencer, tu as des slash en double
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dossier = "E:\Création Excel\Projet Valerie\Base de donnée et envoi facture\" & "\" & Nomdossier & "\"
    à remplacer par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dossier = "E:\Création Excel\Projet Valerie\Base de donnée et envoi facture\" & Nomdossier & "\"
    Je te recommande de mettre des points d'arrêt dans ton code pour voir les valeurs qui sont affectées à tes variables, pour les comparer à ce que tu t'attends à avoir
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel (3e édition)
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Membre averti
    Homme Profil pro
    Fonctionnaire
    Inscrit en
    Janvier 2018
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Fonctionnaire
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2018
    Messages : 27
    Par défaut
    Merci pour ta réponse, modification faite et rien ne change.
    j'ai fais du pas a pas et mes variables sont bien renseignés.
    je ne comprends pas pourquoi quand j'efface les données dans la facture et que je clic
    sur PDF , il me génère un PDF
    Est ce que cela ne peut provenir du fait que les info viennent d'une Listbox ??
    Merci

Discussions similaires

  1. [Toutes versions] Problème création PDF
    Par Aurianelm dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 22/03/2013, 17h00
  2. Problèmes après création PDF
    Par mumuludo dans le forum Access
    Réponses: 2
    Dernier message: 05/09/2011, 14h44
  3. Problème création d'un PDF en chinois, à partir d'une édition ReportBuilder
    Par pepito62 dans le forum Autres outils décisionnels
    Réponses: 2
    Dernier message: 25/11/2008, 21h28
  4. [JDOM] [FOP] Problème création de PDF
    Par metaska dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 30/09/2008, 09h41
  5. Réponses: 4
    Dernier message: 08/08/2006, 14h44

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