Enregistrement automatique fichier des une cellule spécifique remplie

raf26

XLDnaute Occasionnel
Bonsoir,

je viens solliciter votre aide, n’ayant pas trouvé la réponse adaptée à chacun de mes problèmes.

Je souhaiterais que mon fichier (1 seule feuille) qui me sert de modèle :

1 : les macros soient activées automatiquement à l’ouverture du fichier

puis

2 : soit enregistré automatiquement au format excel (donc xlsm)
3 : dès que la cellule G7 est renseignée
4 : avec le nom suivant : Date du jour (format YYYYMMDD) + BDC + contenu de E7 + contenu de i7 + contenu de G7
5 : sur le bureau du pc

Confimation de l’enregistrement : si une msgbox s’affiche avec un message du type « votre fichier (nom généré) a été enregistré sur le bureau de cet ordinateur » c’est encore mieux !


J’espère avoir été assez précis dans la formulation de mes demandes.

D’avance merci pour votre aide

Cordialement
 

GALOUGALOU

XLDnaute Accro
bonsoir raf26

pour activer les macros et sauvegarder le classeur dans le dossier source
dans l'évenement classeur

Private Sub Workbook_Open()
Application.Calculation = xlAutomatic
call enregistrer
End Sub


1- la macro suivante est fonctionnelle mais il est possible de l'adapter à votre classeur

copier la macro suivante et coller dans un module

Sub enregistrer()

'boite de dialogue
Dim Left1 As Variant
Dim Top1 As Variant
Dim HelpFile1 As Variant
Dim HelpContextId1 As Variant '*****************
Dim Prompt1 As String
Dim Title1 As Variant
Dim Default1 As Variant
Dim Type1 As Variant
'response est fonction du type1
Dim reponse1 As String
Dim chemin As String

Dim date1 As String
' si annuler sortie
Left1 = ""
Top1 = ""
HelpFile1 = ""
HelpContextId1 = ""

Prompt1 = "Nom du fichier" 'Message à afficher dans la boîte de dialogue
Title1 = "Enregistrer un fichier" 'Titre de la zone de saisie
Default1 = "SAUVEGARDE"

Type1 = 2

reponse1 = Application.InputBox(Prompt:=Prompt1, Title:=Title1, Default:=Default1, Type:=Type1)

If reponse1 = "" Then Exit Sub

chemin = ThisWorkbook.Path & "\"
date1 = Format(Now, "YYYY/./mm/./dd/.../'HHMM'/.")
date1 = Replace(date1, "/", "")



ActiveWorkbook.SaveAs Filename:=chemin & date1 & " " & reponse1 & ".xls", FileFormat _
:=xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:= _
False, CreateBackup:=False
End Sub

cordialement
galougalou
 

raf26

XLDnaute Occasionnel
Bonjour Galougalou

Merci pour ta réponse, j'ai bien un message qui me demande d'enregistrer le fichier sur le bureau.

J'ai quelques soucis pour adapter ton code à ce que je cherche :


Comment faire pour que le nom du fichier soit automatiquement :


1 : Date du jour (format YYYYMMDD) + "Bon De Commande" + "contenu de E7" + "contenu de i7" + "contenu de G7"

2 : sans que l'heure n'apparaisse dans le nom du fichier enregistré

3 : si je clique sur non lors de la proposition d'enregistrement, le fichier ne soit pas enregistré (actuellement même si réponse non, un nouveau fichier est enregistré)

4 : soit enregistré au format xlsm (prise en charge macro)

5 : excel ne me demande plus systématiquement la vérification de compatibilité (je suis sur version office 365 dernière version - tous mes collègues qui utiliseront ce fichier sont sur cette même version)


Je joins une version (vide de données) de mon fichier.

Merci et bonne journée.

Cordialement
 
Dernière édition:

GALOUGALOU

XLDnaute Accro
ok
j'ai vu ta réponse
la macro que j'ai porté à ta connaissance est celle que j'avais conçu pour un de mes classeurs.
je vais essayer de la faire évoluer pour l'adapter à ton classeur.
par contre attention tu as place la macro dans un évenement feuille et dans ce cas prècis, il ne faut pas.
dans ton classeur supprime aussi la macro "enregistrer" dans l'évenement classeur
il faut placer la macro "enregistrer" dans le module 1
pour la suite de tes souhaits je te fais un retour dès que possible. je suis autodidacte sur excel j'ai besoin d'un peu de temps.
cordialement
galougalou
 

GALOUGALOU

XLDnaute Accro
dans le fichier joint on s'approche de vos souhaits
cela devrait correspondre à vos besoins

3 : si je clique sur non lors de la proposition d'enregistrement, le fichier ne soit pas enregistré (actuellement même si réponse non, un nouveau fichier est enregistré)

une particularité, je n'ai pas la solution par macro pour l'instant mais il est possible en effaçant le contenu de la boite de dialogue et en cliquant oui d'arriver au résultat souhaité.

cordialement
galougalou
 

Pièces jointes

  • FICHIER SOURCE.xlsm
    32.2 KB · Affichages: 4

Discussions similaires