Enregistrer feuille excel impératif 2 cel dif
Résolu
BABAR07
-
BABAR07 -
BABAR07 -
Bonjour,
Je posséde Excel 2007, serait-il possible d'avoir une macro qui m'enregistre la feuille active DEVIS-FACTURE en format PDF dans le dossier DEVIS sur le bureau en la nommant avec le n° du devis cellule B11 et le nom du client cellule C13) et cette même feuille active en format xls (modifiable ) dans le dossier FACTURE sur le bureau en la nommant avec le n° du devis cellule B11 et le nom du client cellule C13)
En remerciant à l'avance toutes les grosse têtes qui solutionneront mon prob.
Je posséde Excel 2007, serait-il possible d'avoir une macro qui m'enregistre la feuille active DEVIS-FACTURE en format PDF dans le dossier DEVIS sur le bureau en la nommant avec le n° du devis cellule B11 et le nom du client cellule C13) et cette même feuille active en format xls (modifiable ) dans le dossier FACTURE sur le bureau en la nommant avec le n° du devis cellule B11 et le nom du client cellule C13)
En remerciant à l'avance toutes les grosse têtes qui solutionneront mon prob.
4 réponses
-
Bonjour,
Je possède Excel 2007, serait-il possible d'avoir une macro qui m'enregistre...
Si tu pouvais nous mettre le code que tu a déjà fait, même s'il ne fonctionne pas, pour pouvoir au moins situer ce que tu veux faire.
A+-
Bonjour,
voici la macro que j'ai.
nomfich = Worksheets("DEVIS-FACTURE").[B11]
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Documents and Settings\User\Bureau\DEVIS\" & nomfich & ".pdf", Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=False
nomfich = Worksheets("DEVIS-FACTURE").[C13]
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Documents and Settings\User\Bureau\DEVIS\" & nomfich & ".pdf", Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=False
Dim Numfacture As Long
Numfacture = Sheets(1).Range("A11").Value
Numfacture = Numfacture + 1: [B11] = [B11] + 1
Sheets(1).Range("A11").Value = Numfacture
Sheets("DEVIS-FACTURE").Select
Range("A17").Select
End Sub
Si tu pouvait me dépanner, merci à l'avance
-
-
Pour le nom du fichier...
With Sheets("DEVIS-FACTURE") nomfich = "D" & .Range("B11") & " " & .Range("C13") End With
Pour le xls..
Ont ne peu pas sauver une feuille et qu'elle soit modifiable, faut la copier dans un classeur et sauver ce nouveau classeur.
Toute la connaissance du monde ne peu tenir dans une seul tête (moi)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
Ça doit se passer sur le forum pour que tous puisse y participer ou en profiter. -
Rectification : Avec le 2007 ont peu enregistrer directement une feuille.
Le code complet (j'ai testé et ça fonctionne)Sub Copie() Dim NomFich As String Application.DisplayAlerts = False With Sheets("DEVIS-FACTURE") NomFich = "D" & .Range("B11") & " " & .Range("C13") .SaveAs "C:\Documents and Settings\User\Bureau\FACTURE\" & NomFich & ".xls", xlExcel8 .ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ "C:\Documents and Settings\User\Bureau\DEVIS\" & NomFich & ".pdf", Quality:= _ xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _ OpenAfterPublish:=False End With Application.DisplayAlerts = True End Sub
J'ai supposer que le nom du dossier facture était FACTURE.
A+ -
Je viens de constater que la copie de la feuille n'est pas optimum, notamment met 3 feuilles, sauve également le code VBA...
Un peu plus long mais fonctionne mieux...Sub Copie() Dim NomFich As String, WkbC As Workbook, Wkb As Workbook Application.DisplayAlerts = False Set Wkb = ActiveWorkbook With Sheets("DEVIS-FACTURE") NomFich = "D" & .Range("B11") & " " & .Range("C13") .ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ "C:\Documents and Settings\User\Bureau\DEVIS\" & NomFich & ".pdf", Quality:= _ xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _ OpenAfterPublish:=False End With Set WkbC = Workbooks.Add(xlWBATWorksheet) Wkb.Sheets("DEVIS-FACTURE").Copy Before:=WkbC.Sheets(1) WkbC.Sheets(2).Delete WkbC.SaveAs "C:\Documents and Settings\User\Bureau\FACTURE\" & NomFich & ".xls", xlExcel8 WkbC.Close Application.DisplayAlerts = True End Sub
A+
Toute la connaissance du monde ne peu tenir dans une seul tête (moi)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
Ça doit se passer sur le forum pour que tous puisse y participer ou en profiter.