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