Autres Pour excel 2007 probléme code VBA

  • Initiateur de la discussion Initiateur de la discussion IMESYS
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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 ?
 
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
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 ?
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
 
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
 
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.
 
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.
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
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
10
Affichages
489
Réponses
3
Affichages
541
Réponses
2
Affichages
411
Réponses
2
Affichages
551
Retour