Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Autres Pour excel 2007 probléme code VBA

IMESYS

XLDnaute Nouveau
Bonsoir ,
j'ai créé un fichier de suivi et facturation plus devis pour ma fille qui démarre une activité d'autoentrepreneur.
J'ai presque réussi. Il me manque le bon fonctionnement du bouton de sauvegarde factures et Devis.
Les factures et devis s'enregistrent bien en PDF mais pas à l'endroit désiré qui est Dossier Factures ou Dossier Devis.
Ils s'enregistrent dans mes Documents.
J'ai tout essayé et rien n'y fait.
J'attends un peu d'aide.
Merci


voici mon code
Sub EnregistrementFactures()

'Déclaration des Variables
Dim NomDossier As String
Dim CheminDossier As String

On Error GoTo 1

'nom Dossier
NomDossier = Application.InputBox("Dossier Enregistrement : ", "Dossier")
CheminDossier = " C:\Users\imesy\Documents\Dossier Factures\" & NomDossier & "\"

If NomDossier = "" Then Exit Sub

'Enregistrement au format PDF
nomcomplet = NomDossier & Range("C8") & ".pdf"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
nomcomplet, Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=False
1

End Sub
 

Pièces jointes

  • Fichier suivi AutoEntrepreneur.xlsm
    390.5 KB · Affichages: 30

Staple1600

XLDnaute Barbatruc
Re

????
Normalement tu devrais voir autre chose
Moi, voici ce qui s'affiche dans le Msgbox
C:\Users\imesy\Documents\Dossier Factures\test\Fichier.pdf
test=> c'est que j'ai saisi dans l'InputBox
Fichier=> ce qu'il y en C8

Donc je recapépéte , qu'est-ce qui s'affiche sur ton PC, dans le MsgBox ?
 

IMESYS

XLDnaute Nouveau
Avant toute chose je débute.

Je suis propriétaire du PC
Je suis administrateur de mon PC
Je n'ai pas de code, mais je peu faire une copie du fichier et le mettre en ligne, mais ce sera avec mon codage d'origine qui me permet de sauvegarder dans mes Documents
J'ai :
VB:
Sub test()
NomDossier = InputBox("Dossier Enregistrement : ", "Dossier", "Dossier Factures")
CheminDossier = "C:\Users\imesy\Documents\Dossier Factures\" & NomDossier & "\"
If NomDossier = "" Then Exit Sub
nomcomplet = CheminDossier & Range("C8") & ".pdf"
MsgBox nomcomplet

End Sub
 

IMESYS

XLDnaute Nouveau
Re

Oui, d'accord
Mais qu'est-ce qui s'affiche à l'écran quand tu lances la macro test?
A la fin de la macro, que vois-tu affiché à l'écran ?
A l'écran s'ouvre une petite fenêtre Dossier enregistrement qu'il faut renseigner par exemple pour les Factures tu tape F
ensuite une autre petite fenêtre s'ouvre indiquant un chemin d'enregistrement comme le chemin du dossier d'enregistrement suivi de \f\Numéro de Facture.pdf
 

Staple1600

XLDnaute Barbatruc
Re

Ma demande est claire:
Qu'est-ce que tu lis à l'écran !!!!!
Moi, je te l'ai dit !!
C:\Users\imesy\Documents\Dossier Factures\test\Fichier.pdf
Si tu lances la macro test (telle que je l'ai postée)
Tu auras forcèment à l'écran
C:\Users\imesy\Documents\Dossier Factures\test\Fichier.pdf
Ce qui changera sera test et Fichier.pdf
Donc merci d'écrire ce que tu lis à l'écran.
 

IMESYS

XLDnaute Nouveau
J'ai la même chose avec l’extension \test\Fichier.pdfsuivi de F\Numéro de facture.pdf

j'ai fais comme demandé soit :
CheminDossier = "C:\Users\imesy\Documents\Dossier Factures\test\Fichier.pdf" & NomDossier & "\"

Bon je vais arréter là pour ce soir.
Bonne nuit et merci
 

Phil69970

XLDnaute Barbatruc
Bonjour Imesys, bonjour le forum

C'est ma 1ere participation merci d'être indulgent sur les erreurs éventuelles.
J'ai rien inventé tout se trouve sur les différends forum excel/vba et j'ai essayé d’adapter.

Hors sujet : Je m'en sers assez régulièrement pour mes export excel en pdf.

Cordialement



VB:
Sub Facture_pdf()

Application.ScreenUpdating = False

'Arborescence proposée :
'   Dossier ou se trouve le fichier excel "Fichier suivi AutoEntrepreneur"
'1)   ==> Dossier Factures
'2)       ==> Dossier année de la facture
'3)           ==> Dossier du nom du client
'4)               ==> nom du fichier pdf
' Exemple : Emplacement du Fichier suivi AutoEntrepreneur\Dossier Factures\2020\Dupont\20200001.pdf

Dim Chemin As String                                        'Racine du fichier sur le DD du fichier excel en cours
Dim Dossier As String                                       'Nom du dossier
Dim NFichier As String                                      'Nom du fichier

Dim Var1 As String
Dim Var2 As String
Dim Var3 As String

Var1 = Mid(Range("C8"), 1, 4)       'Extraction de l'année de la facture : exemple ==> 2020
Var2 = Range("A11")                 'Nom du clients : exemple ==> Dupont
Var3 = Range("C8")                  'N° de facture : exemple ==> 20200001

If Var2 = Empty Then Exit Sub       'Test si il y a un client car pas de client pas de facture !!

'Construction du nom du fichier avec son emplacement en fonction d'ou se trouve le fichier excel en cours
'1)     Verification si le dossier Dossier Factures existe sinon creation
Dossier = "Dossier Factures"
Chemin = Application.ActiveWorkbook.Path & "\" & Dossier
If Dir(Chemin, vbDirectory) = "" Then MkDir Chemin

'2)     vérification que le sous dossier Année existe sinon creation
Chemin = Chemin & Var1
Chemin = Application.ActiveWorkbook.Path & "\" & Dossier & "\" & Var1 & "\"
If Dir(Chemin, vbDirectory) = "" Then MkDir Chemin

'3)     vérification que le sous dossier Nom du client
Chemin = Chemin & Var2
Chemin = Application.ActiveWorkbook.Path & "\" & Dossier & "\" & Var1 & "\" & Var2 & "\"
If Dir(Chemin, vbDirectory) = "" Then MkDir Chemin

'4)     Création du fichier pdf
NFichier = Chemin & Var3 & ".pdf"

'Création du fichier PDF
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=NFichier, Quality _
        :=xlQualityMinimum, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False

MsgBox "La facture N°" & Var3 & " de " & Var2 & " a été enregitré." & vbCrLf & vbCrLf & "Ici ==> " & Chemin & vbCrLf & vbCrLf & _
"Sous le nom : " & Var3 & ".pdf", 48, "Enregistrement facture en PDF ..."

Application.ScreenUpdating = True

End Sub
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…