Enregistrement automatique du nom de fichier

Igor

XLDnaute Nouveau
Bonjour à toutes et a tous.

J'ai trouvé et adapté à mon besoin une macro qui me permet d'enregistrer automatiquement le non de mon fichier Excel avec le n° du bon de commande et la date du jour et d'incrémenter le n° du bon suivant.

Private Sub Workbook_Open()
Range("B4") = Range("B4") + 1

'ou B4 est le numéro du bon

ActiveWorkbook.Save
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim Chemin As String, Numéro_bon As Integer,

Chemin = ActiveWorkbook.Path
Numéro_bon = Range("B4")
Application.DisplayAlerts = False


ActiveWorkbook.SaveAs Filename:= _
Chemin & "\Bon " & Numéro_bon & "-" & Non_Client & "-" & Day(Date) & "-" & Month(Date) & "-" & Year(Date) & "-" & Hour(Time) & "h" & Minute(Time) & ".xlsx", FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False

End Sub

Ce code fonctionne parfaitement, mais j'aimerai ajouter le contenu de la cellule "F4" à mon nom de fichier (le nom du client)

J'ai modifié la macro.... mais cela ne fonctionne pas.

Private Sub Workbook_Open()
Range("B4") = Range("B4") + 1
ActiveWorkbook.Save
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim Chemin As String, Numéro_bon As Integer, Nom_Client As Integer

Chemin = ActiveWorkbook.Path
Numéro_bon = Range("B4")
Application.DisplayAlerts = False

Chemin = ActiveWorkbook.Path
Nom_Client = Range("F4")
Application.DisplayAlerts = False

ActiveWorkbook.SaveAs Filename:= _
Chemin & "\Bon " & Numéro_bon & "-" & Non_Client & "-" & Day(Date) & "-" & Month(Date) & "-" & Year(Date) & "-" & Hour(Time) & "h" & Minute(Time) & ".xlsx", FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False

End Sub

Je suis preneur de toutes suggestions.

Merci d'avance


Igor
 

Dranreb

XLDnaute Barbatruc
Re : Enregistrement automatique du nom de fichier

Bonjour.
Ça se met en général tout au début du module, et en tout cas avant toute procédure.
Ça vous oblige salutairement à déclarer toutes vos variables ou à orthographier correctement celle qui en principe le sont déjà.
Vous aurez donc Erreur de compilation: variable non définie pour Non_Client écrite avec un n au lieu d'un m à Nom.
Tandis que sans Option Explicit ça passe, mais comme c'est une variable non initialisée elle a le même effet qu'une chaine vide et vous vous demandez pendant longtemps pourquoi il ne prend pas ce que vous avez mis dans Nom_Client !
Notez que vu ce nom c'est curieux que vous l'ayez déclaré As Integer et non As String.
 
Dernière édition:

Igor

XLDnaute Nouveau
Re : Enregistrement automatique du nom de fichier

Dranreb,


Déclaré As String cela fonctionne nickel.

N'étant pas doué pour les macro je "collectionne" des bouts de code que j'associe au gré de mes besoins.... on en voit ici la limite ;)

Grand merci pour le coup de main

Igor
 

Discussions similaires

Statistiques des forums

Discussions
312 176
Messages
2 085 959
Membres
103 065
dernier inscrit
HB ARPF 95