Macro pour enregistrer une feuille sous un nom précis

Bonsoir à tous,

J'ai un classeur excel qui comprend plusieurs feuilles.

Sur l'une d'elle (la feuille s'appelle "Bordereau"), j'ai construis un bordereau financier à remettre à une personne après entretien.

Dans cette feuille, j'ai créée un bouton auquel est affecté une macro permettant 1) d'imprimer le bordereau (à remettre à la personne) et 2) enregistrer le bordereau (juste cette feuille et pas le classeur entier) dans un dossier précis du réseau (ex : G:\Bordereau)

Ce dossier G:\Bordereau va donc contenir plusieurs versions du bordereau qui doivent être nommées différement à chaque enregistrement :

ex : Paris_Machin_10000.xls

"Paris" étant le site de la personne, la donnée est située en cellule A1 du bordereau

"Machin" étant un nom à mentionner sur tous les fichiers à enregistrer

"10000" est le matricule de la personne, info située en cellule A2 du bordereau.

Je n'ai pas de soucis pour la 1ere partie de la macro (l'impression)... bon ok c'est facile... par contre mes connaissances plus que sommaires en VBA me bloquent pour l'enregistrement du fichier.

D'où mon message.... si l'un(e) de vous peut m'aider....

Un grand merci d'avance !!

Carole

Bonsoir,

Code à essayer :

Sub Archiver()
'Macro par Dan
Dim extension As String
Dim chemin As String, nomfichier As String
Dim style As Integer
Application.ScreenUpdating = False
ThisWorkbook.ActiveSheet.Copy
extension = ".xls"
chemin = "G:\Bordereau\"
MsgBox ThisWorkbook.Path
nomfichier = ActiveSheet.Range("A1") & "_Machin_" & Range("A2") & extension
With ActiveWorkbook
    .DrawingObjects(1).Delete
    .SaveAs Filename:=chemin & nomfichier
    .Close
End With
End Sub

Code à placer dans un module et lui associer le bouton

Mettre le code d'impression avant l'instruction "thisworkbook.activesheet.copy"

Attention si doublons possible. Dans ce cas prévoir un indice dans le nom du fichier

Amicalement

Bonjour,

Voilà comment je procède.

Salutations,

Lazade

8'199enregistreclasseur.zip (9.26 Ko)

Bonjour et merci à tous les 2

J'ai testé la 1ère macro, celle de Dan. Elle fonctionne impec !

J'ai juste 2 précisions à te demaner :

  • la macro bugait sur ".DrawingObjects(1).Delete"... je l'ai supprimé et ça fonctionne... mais, ça servait à quoi ?
  • par ailleurs, lorsque je lance la macro, une fenêtre s'ouvre et indique le chemin où est enregistré mon fichier excel (pas le chemin de destination de l'archivage), pourquoi ? et comment l'enlever ?

Encore un grand merci à vous deux

(et merci Lazade pour ce joli poème de VH !)

Carole

Re,

la macro bugait sur ".DrawingObjects(1).Delete"... je l'ai supprimé et ça fonctionne... mais, ça servait à quoi ?

J'avais mis cette instruction parce que dans la demande on parlait de bouton. Le fait de sauver la feuille dans un nouveau classeur laisse le bouton sur cette feuille. L'instruction consistait à le supprimer.

A tester en changeant cette instruction

.DrawingObjects(1).Delete

par

.ActiveSheet.DrawingObjects(1).Delete

Si souci, le mieux serait de voir le fichier

- par ailleurs, lorsque je lance la macro, une fenêtre s'ouvre et indique le chemin où est enregistré mon fichier excel (pas le chemin de destination de l'archivage), pourquoi ? et comment l'enlever ?

Oups déso... il faut supprimer cette instruction dans le code

MsgBox ThisWorkbook.Path

Amicalement

Bonjour,

Tout fonctionne !

Merci beaucoup

Carole

Salut je veux faire exactement la même chose et la soluce de Dan fonctionne mais j'ai 2 critère a changer :

1- Je veux que dans la Case (A2) par exemple mettre une Date changeante :

=CONCATENER(" le ";TEXTE(AUJOURDHUI();"jj/mm/aa"))

mais au moment du lancement j'ai une erreur d’exécution 1004 surement a cause du nom mais comment régler ça ?

2-Je voudrais si possible l'archiver au format PDF comment faire ?

Merci d'avance !

lazade a écrit :

Bonjour,

Voilà comment je procède.

Lazade

Bonjour LAZADE votre macro est géniale et c'est ce que je cherchais.

Je vous en remercie.

J'ai encore besoin de vous car votre macro enregistre la feuille active sous excel et j'ai besoin qu'elle soit enregistrée en Pdf.

Je n'arrive pas à adapter votre code.

Pourriez-vous m'aider ?

Avec mes remerciements,

Amicalement,

Lionel,

Rechercher des sujets similaires à "macro enregistrer feuille nom precis"