Macro d'enregistrement

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

K

Kartmaniac

Guest
Bonjour a tous,
je suis en train d'essayer de créer une macro sur Excel 2003 qui enregistrerait ma facture sous le nom "Facture N°(Numéro de facture indiqué dans la cellule B8)"

Je suis un noob en vba. j'ai tenté de la réaliser en enregistrant la macro normalement, mais je ne suis pas parvenu à attribuer le nom de fichier voulu. De plus, lors de l'enregistrement, le classeur sur lequel je travaillais se trouvais dupliqué, renommé puis fermé. Je me retrouvais donc sur un nouveau classeur avec le nouveau nom; ce qui ne m'intéresse pas du tout.
Je voudrais juste que la macro me crée un nouveau fichier avec le nom voulu sans me fermer le classeur d'origine sur lequel je travaille.

Cette macro, après avoir fait l'enregistrement, fait un reset des cellules saisies (N° client, Ref produit et Quantités), puis me repositionne la cellule active sur B9 et augmente d'une unité le numéro de facture.


Voici une copie de ce que j'ai réalisé pour le moment:

MsgBox "cette Macro va enregistrer le document en cours puis tout réinitialiser, voulez-vous continuer?", 1, "Macro Enregistrer & Reset+1"
activeworksheet.saveas Filename:= (..... c'est là que je bloque)
Range("B9,A14:A23,E14:E23").Select
Selection.ClearContents
Range("B8") = Range("B8") + 1
Range("B9").Select

Pourriez vous m'aider pour cette macro?
D'avance, merci beaucoup à vous.

PS: notre formateur nous a orienté en nous parlant de concaténation qu'il faudrait utiliser pour nommer la feuille... peut être que cela vous aidera plus que cela ne m'aide (&" "&)
 
Re : Macro d'enregistrement

Bonjour Kartmaniac

regarde le bout de code ci dessous :

Code:
ThisWorkbook.SaveAs Filename:="Facture n° " & Range("B8").Value & ".xls"
Range("B9,A14:A23,E14:E23").ClearContents
Range("B8") = Range("B8") + 1

enregistre dans le répertoire courant.

bonne journée
@+
 
Re : Macro d'enregistrement

Deux petits bouts de code qui pourrons peut être t'aider dans ta recherche.
Le premier enregistre la zone imprimable selectionnée sous le numéro contenu dans la cellule B8 et lui ajoute la date d'enregistrement. Le fichier est enregistré au format PDFdans le dossier désigné par le chemin "C:\xxxxx\xxxxxx\xxxxxx\" ( A adapter selon tes besoins). Cette macro fonctionne sous 2007 qui gère l'enregistrement PDF.

Le deuxième code enregistre le fichier au format XLS en lui attribuant comme nom le contenu de la cellule B8 et lui ajoute aussi la date d'enregistrement.
Le nouveau fichier est enregistré automatiquement dans le dossier où se trouve le fichier à sauvegarder.

Bonne journée.

'
' enregistrement PDF
'
Dim Fichier As String
x = Range("B8").Value
Fichier = Format(Date, "(dd-mm-yy)") & " " & x & ".xls"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\xxxxx\xxxxxx\xxxxxx\" & Fichier, Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=False

______________________________________________________________________
'
' enregistrement XLS
'

Dim Fichier As String
Dim x As String
x = Range("B8").Value
Fichier = Format(Date, "yy mm dd") & " " & x & ".xls"
ThisWorkbook.SaveCopyAs Filename:=ThisWorkbook.Path & "\" & Fichier
 
Re : Macro d'enregistrement

Merci Pierro93,
je te KIFFE 😉 Merci pour ton message.
Tout marche nikel, ca me fait super plaisir.

Bonne soirée à toi

Zlopeck,
Merci d'avoir pris le temps de me répondre, je vais essayer avec ta méthode aussi, ça me fera apprendre une autre syntaxe pour le faire différemment.
Bonne soirée à toi ;-)
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
4
Affichages
479
Réponses
2
Affichages
240
Réponses
1
Affichages
171
Réponses
18
Affichages
1 K
Retour