• Initiateur de la discussion Initiateur de la discussion angoul
  • 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 !

angoul

XLDnaute Impliqué
Bonjour
grace a votre aide, j'ai fait un petit bouton avec derriere une macro pour faire un enregistrement en format pdf et excel dans un meme dossier. Pour cela encore merci car sa fonctionne.

Je me demander si l’on ne peut pas faire mieux, c’est dire
Je saisie dans la cellule B22 (soit facture, soit devis)
Je me demander si quand on rentre le mot FACTURE en B22, cela ne peut pas enregistrer directement dans le dossier Facture c:\users\auto-ecole\facture.
Et faire pareil pour le mot DEVIS
Merci de vos conseil

le code pour juste enregistrer en pdf et exel dans le meme dossier
Sub SaveAsPdfAndXlsx()
'Enregistrer un pdf de la feuil1 sous le nom : Entreprise-LaDate
Dim Entreprise$, chemin$
Entreprise = "ABC"
chemin = ThisWorkbook.Path & "\"
With ThisWorkbook.Sheets("Feuil1")
Fichier = Entreprise & .[G9].Text & Format(Date, "-ddmmyyyy-") & .[G22].Text
End With
With ActiveSheet
.ExportAsFixedFormat Type:=xlTypePDF, Filename:=chemin & Fichier & ".pdf" _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=False
.Copy
ActiveWorkbook.SaveAs Filename:=chemin & Fichier & ".xlsx", FileFormat:=xlOpenXMLWorkbook
ActiveWorkbook.Close True
End With
End Sub

merci
 
Re : modifier macro

Bonjour ,

si j'ai tout compris :

Code:
Sub SaveAsPdfAndXlsx()
 'Enregistrer un pdf de la feuil1 sous le nom : Entreprise-LaDate
 Dim Entreprise$, chemin$
 Entreprise = "ABC"
 With ThisWorkbook.Sheets("Feuil1")
  if  .[B22].Text ="" then msgbox "Merci de renseigner Facture ou Devis" : exit sub 
  chemin = ThisWorkbook.Path & "\" & .[B22].Text & "\"
  Fichier = Entreprise & .[G9].Text & Format(Date, "-ddmmyyyy-") & .[G22].Text
 End With
 With ActiveSheet
 .ExportAsFixedFormat Type:=xlTypePDF, Filename:=chemin & Fichier & ".pdf" _
 , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
 :=False, OpenAfterPublish:=False
 .Copy
 ActiveWorkbook.SaveAs Filename:=chemin & Fichier & ".xlsx", FileFormat:=xlOpenXMLWorkbook
 ActiveWorkbook.Close True
 End With
 End Sub
 
Re : modifier macro

Re,

Aprés un paramètrage au millimétre et quelques tests ,

voici le code modifié

Code:
Sub SaveAsPdfAndXlsx()
  'Enregistrer un pdf de la feuil1 sous le nom : Entreprise-LaDate
 Dim Entreprise$, chemin$
  Entreprise = "ABC"
  With ThisWorkbook.Sheets("Feuil1")
   If .[B22].Text = "" Then MsgBox "Merci de renseigner Facture ou Devis": Exit Sub
  chemin = "c:\users\auto-ecole\" & .[B22].Text & "\"
   Fichier = Entreprise & .[G9].Text & Format(Date, "-ddmmyyyy-") & .[G22].Text
  End With
  With ActiveSheet
  .ExportAsFixedFormat Type:=xlTypePDF, Filename:=chemin & Fichier & ".pdf" _
  , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
  :=False, OpenAfterPublish:=False
  .Copy
  ActiveWorkbook.SaveCopyAs Filename:=chemin & Fichier & ".xlsx", FileFormat:=xlOpenXMLWorkbook
  ActiveWorkbook.Close True
  End With
  End Sub
 
Re : modifier macro

Bonsoir à tous, angoul, camarchepas


angoul
Tiens,tiens cette macro me dit quelque chose ...
https://www.excel-downloads.com/threads/aide-sur-macro.229680/

Était-ce vraiment utile de créer un second fil ?
Un simple up dans le fil intial aurait suffit, non?

grace a votre aide, j'ai fait un petit bouton avec derriere une macro pour faire un enregistrement en format pdf et excel dans un meme dossier. Pour cela encore merci car sa fonctionne.
Merci pour les remerciements 😉
NB:
angoul
tu sais que c'est indolore de citer les pseudos qui t'on soumis ces codes 😉
(dans le cas présent, MJ13 et votre serviteur 😉)
 
Re : modifier macro

Re bonsoir
Je revient avec mon probleme d'enregistrement avec 2 formats XLS et PDF

j'ai une erreur quand j'enregistre FileFormat:=xlOpenXMLWorkbook

je met a dispo mon fichier si quelqu'un peut y regarder et m'aider ou me dire pourquoi sa marche pas.

j'ai aussi fait des petites trucs et je suis ouvert au critique

merci d'avance
 

Pièces jointes

Re : modifier macro

Merci mais helas toujours meme probleme au niveau enregistrement
j'ai fait une modif aussi j'ai changer B22 par G22

mais je ne pense pas que cela vienne de la.
j'ai virer le module 5, meme probleme.
je pense que je v rester sur un seul enregistrement en XLSX
 
Re : modifier macro

Bonjour ,

et bien , tu baisses déjà les bras , dommage pas de bras pas de chocolat ......
le problème vient soit de ta construction du nom du chemin ou du nom du fichier
regardes j'ai forcé dans le code les 2 variables
Test pour le fichier et c:\temp\ pour le chemin et là pas d'anomalie.

Donc mets des msgbox chemin et fichier et regardes ce que tu obtiens et surtout si le chemin existe.

Car moi , j'ai bien et le PDF et le Xlsx avec ce code

attention le / est un caractère interdit dans le nom des fichiers à tout hasard ....

Code:
Sub SaveAsPdfAndXlsx()
   'Enregistrer un pdf de la feuil1 sous le nom : Entreprise-LaDate
 Dim Entreprise$, chemin$
   Entreprise = "ABC"
   With ThisWorkbook.Sheets("Feuil1")
   .[B22] = "DEVIS"
   If .[B22].Text <> "FACTURE" And .[B22] <> "DEVIS" Then MsgBox "Merci de renseigner Facture ou Devis": Exit Sub

    chemin = "c:\" & .[B22].Text & "\"
    fichier = Entreprise & .[G9].Text & Format(Date, "-ddmmyyyy-") & .[G22].Text
    fichier = "Test"
    chemin = "c:\temp\"
   End With
   With ActiveSheet
   .ExportAsFixedFormat Type:=xlTypePDF, Filename:=chemin & fichier & ".pdf" _
   , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
   :=False, OpenAfterPublish:=False
   .Copy
   
   ActiveWorkbook.SaveAs Filename:=chemin & fichier & ".xlsx", FileFormat:=xlOpenXMLWorkbook
   ActiveWorkbook.Close False
   End With
 
Re : modifier macro

Ok , donc ,
essaies avec ce code aménagé en mettant temporairement celui d'origine en commentaire ou en le renommant.

Relèves les infos dans les boites msgbox et vérifies que le nom du fichier est bien construit et que le chemin pointe bien sur un chemin existant .

Code:
Sub SaveAsPdfAndXlsx()
    'Enregistrer un pdf de la feuil1 sous le nom : Entreprise-LaDate
 Dim Entreprise$, chemin$
    Entreprise = "ABC"
    With ThisWorkbook.Sheets("Feuil1")
    If .[B22].Text <> "FACTURE" And .[B22] <> "DEVIS" Then MsgBox "Merci de renseigner Facture ou Devis": Exit Sub
 
    chemin = "c:\" & .[B22].Text & "\"
     fichier = Entreprise & .[G9].Text & Format(Date, "-ddmmyyyy-") & .[G22].Text
    msgbox "Nom du fichier : " &  fichier
    msgbox "Chemin : " & chemin
    End With
    With ActiveSheet
    .ExportAsFixedFormat Type:=xlTypePDF, Filename:=chemin & fichier & ".pdf" _
    , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
    :=False, OpenAfterPublish:=False
    .Copy
    
    ActiveWorkbook.SaveAs Filename:=chemin & fichier & ".xlsx", FileFormat:=xlOpenXMLWorkbook
    ActiveWorkbook.Close False
    End With
 
Re : modifier macro

Re evolution de mon petit fichier
j'ai petit fichier a un probleme que je saisise maintenant facture ou devis cela me renseigne toujours devis.
j'ai inclus une petite interface de saisie, qui permet de renseigner les champs obligatoire plus facilement
pour une question de pratique, peut ton obliger a renseigner une textbox en format date? et une autre pour faire une liste de choix?
j'ai essayer mais cela fonctionne pas.

une Idées??
 

Pièces jointes

- 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
3
Affichages
850
Réponses
2
Affichages
739
Réponses
2
Affichages
680
Réponses
10
Affichages
758
Retour