Macro pour enregistrer une feuille excel d'un classeur [Résolu/Fermé]

Signaler
-
Messages postés
11
Date d'inscription
dimanche 3 juillet 2016
Statut
Membre
Dernière intervention
9 juillet 2016
-
Bonjour,

Je désire enregistre une feuille d'un classeur excel vers un répertoire spécifique, en nommant cette feuille pour pouvoir la retrouver ultérieurement. Mais ma macro me fait des siennes.
Mon classeur est composés de plusieurs feuilles :
Répertoire
Devis
Factures
Avoir
etc...
Quand je créé un nouveau devis je voudrais qu'il soit enregistré dans un répertoire nommé : DEVIS CHRONO du disque dur (chemin)
Je souhaite qu'il soit enregistré avec les éléments suivants :
N° Devis - Nom du client - Objet travaux

Voici la macro que j'ai fait

Private Sub CommandButton1_Click()
'export devis au format pdf
info1 = Sheets("DEVIS").Range("G8")
info2 = Sheets("DEVIS").Range("F11")
info3 = Sheets("DEVIS").Range("A13")
Nom = info1 & "-" & info2 & "-" & info3 & "-" & ".xls"
this Workbook.Save
this Workbook.SaveAs(Nom)
this Workbook.Activate
If MsgBox("Avez-vous valide votre devis pour générer le numéro automatique?", vbYesNo, "Excel vous informe") = vbYes Then
ChDir "D:/test bdd/DEVIS CHRONO"
Activsheet.ExportAsFixedFormat Type:=xlTypePDF, quality:=xlQualityStandard, inclusedDocproperties:=True, ignoreprintareas:=False, from:=1, to:=1, openAfterpublish:=True
End If
End Sub

Dans l'immédiat le test ce fait sur clé USB ce qui explique le chemin d'accès D:

A ce jour il me répond "erreur exécution '1004'" en m'informant que le chemin d'accès est introuvable

Ok mais alors où est ma faille ?

Je suis toute "ouie" pour vos aides à toutes et tous pour me guider dans cette étape et vous remercie par avance

8 réponses

Messages postés
1769
Date d'inscription
lundi 7 avril 2008
Statut
Membre
Dernière intervention
15 juin 2020
512
il me semble que la syntaxe du chemin devrait être
ChDir "D:\test bdd\DEVIS CHRONO"  
--
 
Messages postés
11
Date d'inscription
dimanche 3 juillet 2016
Statut
Membre
Dernière intervention
9 juillet 2016

Bonjour et merci pour votre intervention,

Toutefois même en mettant les bons slaches, il m'affiche toujours la même erreur d’exécution 1004.

Que Microsoft ne peut acceder au fichier C:\Users xxxxx

Pourquoi C: ???

Une idée ?

Merci à tous
Messages postés
2102
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
4 août 2020
278
Bonjour
Si vous changez de lecteur, vous devez préciser le changement avant le chemin
ChDrive D
ChDir=*************

A tester
Cdlt
Messages postés
11
Date d'inscription
dimanche 3 juillet 2016
Statut
Membre
Dernière intervention
9 juillet 2016

Bonsoir et merci pour votre intervention,

Question : dois-je mettre les 2 lignes

ChDrive D
ChDir=************* et après
ChDir "D:/test bdd/DEVIS CHRONO" ????

Dans ce cas là il me répond erreur de compilation/erreur de syntaxe

Si j'enlève
ChDir=************* il me surligne en jaune

this Workbook.SaveAs(Nom) avec le même problème que précédemment

Ouille ouille ouille quel casse tête, enfin pour moi

Merci à tous pour votre aide
Messages postés
2102
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
4 août 2020
278
Bonjour
Question : dois-je mettre les 2 lignes: NON, que la ligne ChDrive D, l'autre ligne n'était là que pour situer la position de l'une par rapport à l'autre
ChDrive D
ChDir "D:/test bdd/DEVIS CHRONO

par contre en relisant bien votre code, je m'aperçois qu'il manque un "\ "
à la fin de :
ChDir "D:\test bdd\DEVIS CHRONO\
Cdlt
Messages postés
11
Date d'inscription
dimanche 3 juillet 2016
Statut
Membre
Dernière intervention
9 juillet 2016

Bonjour et merci pour votre aide,
la formule semble être acceptée mais il y a une nouvelle erreur

Erreur d'éxécution '424'
Objet requis
et il me souligne en jaune :
Activsheet.ExportAsFixedFormat Type:=xlTypePDF, quality:=xlQualityStandard, inclusedDocproperties:=True, ignoreprintareas:=False, from:=1, to:=1, openAfterpublish:=True

Où est la faille ?

Merci
Messages postés
6871
Date d'inscription
jeudi 13 septembre 2007
Statut
Non membre
Dernière intervention
11 août 2020
536
Bonjour,

Dans ton code, il manque le chemin du fichier PDF à enregistrer!

Dim chemin, nom As String

chemin = "Mon chemin" 'adapter le chemin finir par \
nom = "monpdf"


'PDF
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        chemin & nom & ".pdf", Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
        False


Voilà
Messages postés
11
Date d'inscription
dimanche 3 juillet 2016
Statut
Membre
Dernière intervention
9 juillet 2016

Génial, ça marche Nickel.
Je vais donc avancer mon projet.
Je valide cette étape
Merci à tous