SVP Besoin d' aide pour adapter une macro "JBOBO"

jacky

XLDnaute Nouveau
Bonjour a tous,

Merci a JBOBO pour cette macro

Je suis vraiment nul en programation et demande votre aide pour adapter une macro (exportpdf_xls)que j' ai récupérer qui convient presque a par les points suivants:
* l' export en xls de l' onglet actif sur un autre classeur dans le même répertoire fonctionne ( j' aimerais récupérer uniquement les valeurs et non les formules).
*l' export en pdf fonctionne ( le problème est que sur la feuille la cellule du n° du bordereau correspond a l' onglet et passe en #valeur lors de la creation du pdf.)
J' aimerais que le nom des fichiers creés reprenent en + le nom du classeur actif (ca donnerait: nom du classeur actif+nom de la feuille+date)
Il y a aussi une erreur (76).
Les fichiers creés ce place dans le même répertoire que le classeur actif.

Merci pour votre aide.
 

Pièces jointes

  • G.D.D-APHP-ENDOCRINO1.xlsm
    62.1 KB · Affichages: 66
Dernière édition:

Victor21

XLDnaute Barbatruc
Re : Besoin d' aide pour adapter une macro

Re,

As tu regardé le fichier joint
Non
et peux tu m' aider sur les sujets
Non: je travaille sur .XLS, et ne me suis jamais penché sur les exports en .PDF (peur de tomber...):p

Mais un peu de patience (vous n'avez posté que depuis 1h) : vous ne tarderez pas à recevoir des propositions dès que les VBAistes seront rentrés du boulot, et qu'ils auront cassé une petite croûte.
 

jacky

XLDnaute Nouveau
Re : SVP Besoin d' aide pour adapter une macro "JBOBO"

Re bonjour a tous,
ci après le code:
Sub Export_pdf_xls()
'ws In Worksheets
'Dim ws As Variant
'ws.Select
mystr = Format(Date, "dd-mm-yyyy")
Sheets(Array(ActiveSheet.Name)).Copy
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:= _
ThisWorkbook.Path & "\" & ActiveSheet.Name & " " & mystr & ".xls", FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False
Application.ActivePrinter = "PDFCreator sur Ne00:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"PDFCreator sur Ne00:"
ActiveWindow.Close
FileCopy "\\Data\" & ActiveSheet.Name & " " & mystr & ".pdf", ThisWorkbook.Path & "\" & ActiveSheet.Name & " " & mystr & ".pdf"
Kill (ThisWorkbook.Path & "\" & ActiveSheet.Name & " " & mystr & ".xls") ', FileFormat:= _"
Kill ("\\Data\" & ActiveSheet.Name & " " & mystr & ".pdf")
Application.DisplayAlerts = True
End Sub


Je galère a chercher une solution, mais je n' y arrive pas. Il y a eu des fausses joie en remplacant "
Sheets(Array(ActiveSheet.Name)).Copy
par
activesheet.select et selection.copy
mais cela enregistrement l' ensemble du classeur....

Merci pour votre aide
 

JBOBO

XLDnaute Accro
Re : SVP Besoin d' aide pour adapter une macro "JBOBO"

Bonjour jacky,

Je ne suis malheureusement pas l'auteur de la macro, ou en tout cas pas en totalité et suis quasiment ignorant en macro. Je ne peux donc pas t'aider, mais nul doute que tu trouveras un VBAistes capable de t'aider. Perso depuis mon passage à xl 2007, j'utilise la fonction xls "exporter en pdf", c'est plus sur et ça sauvegarde le pdf dans le meme repertoire et avec par défaut le meme nom que le xls.
Après, je pense que l'enregistreur de macro (en cliquant sur enregistrer nouvelle macro et en utilisant la fonction "exporter vers pdf")doit pouvoir faire une partie du boulot et ensuite une légère adaptation pour enregistrer avec le bon nom. (voir creer le nom dans une cellule du classeur et faire appel à cette cellule dans la macro avec range("A1").value par exemple si le nom d'enregistrement est en A1.

Ci joint un exemple de formule pour creer le nom d'enregistrement :
Code:
=GAUCHE(CELLULE("nomfichier";A1);TROUVE("[";CELLULE("nomfichier";A1))-1)&SUBSTITUE(SUBSTITUE(CELLULE("nomfichier";A1);GAUCHE(CELLULE("nomfichier";A1);TROUVE("[";CELLULE("nomfichier";A1);1));"";1);DROITE(SUBSTITUE(CELLULE("nomfichier";A1);GAUCHE(CELLULE("nomfichier";A1);TROUVE("[";CELLULE("nomfichier";A1);1));"";1);NBCAR(SUBSTITUE(CELLULE("nomfichier";A1);GAUCHE(CELLULE("nomfichier";A1);TROUVE("[";CELLULE("nomfichier";A1);1));"";1))-TROUVE("]";SUBSTITUE(CELLULE("nomfichier";A1);GAUCHE(CELLULE("nomfichier";A1);TROUVE("[";CELLULE("nomfichier";A1);1));"";1);1)+6);"";1)&STXT(CELLULE("filename";A1);TROUVE("]";CELLULE("filename";A1))+1;32)&TEXTE(AUJOURDHUI();"jj-mm-aa")
Bon courage !
 

Discussions similaires

Statistiques des forums

Discussions
312 182
Messages
2 086 003
Membres
103 084
dernier inscrit
Hervé30120