> Tous les forums > Forum Bureautique
 Macro excel pour enregistrerSujet résolu
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
ronibo
  Posté le 03/12/2012 @ 13:20 
Aller en bas de la page 
Petit astucien

Bonjour,

Je souhaite intégrer ce macro dans mon fichier,

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) SaveAsUI = False Cancel = True With Worksheets("PMC") Select Case Left(.Range("G13"), 1) Case "F": Chemin = "R:\PMC\Facture\" Case "D": Chemin = "R:\PMC\Devis\" Case "B": Chemin = "R:\PMC\Bon de Commande\" End Select MyFile = Chemin & .Range("G13") & .Range("H13") & Chr(160) & "-" & Chr(160) & .Range("A16") & Chr(160) & "(" & .Range("G17") & ")" & ".xlsm" End With Application.EnableEvents = False Me.SaveAs MyFile Application.EnableEvents = True MsgBox "Le fichier a bien été enregistré !" End Sub

(le macro est dans le fichier ci joint, je l'ai mis dans feuille 1, pour pouvoir l'enregistrer correctement)

Je souhaite nommé mon fichier de cette facon :

Récapitiulatif - 2012-12 (Décembre 2012)

2012 = année

12=mois

Je veux juste que ça ce suis chronologiquement, c'est pour cela que je veux utiliser cette méthode

Je souhaite l'enregistrer dans ce dossier

R:\SARL PMC\Récapitulatif\

not : dans ce fichier il y a pas de liste déroulante, c'est pour sa que j'ai pas réussi à faire la modification :(

http://cjoint.com/?BLdnvgMrAd8

Merci d'avance et a+ :)



Modifié par ronibo le 03/12/2012 13:23
Publicité
vieuxmonsieur
 Posté le 03/12/2012 à 13:40 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

bonjour,

pour une lecture plus facile, car moi et les macros ca fait deux :

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
SaveAsUI = False Cancel = True

With Worksheets("PMC")

Select Case Left(.Range("G13"), 1)
Case "B": Chemin = "R:\PMC\Bon de Commande\"
Case "D": Chemin = "R:\PMC\Devis\"
Case "F": Chemin = "R:\PMC\Facture\"
End Select

MyFile = Chemin & .Range("G13") & .Range("H13") & Chr(160) & "-" & Chr(160) & .Range("A16") & Chr(160) & "(" & .Range("G17") & ")" & ".xlsm"

End With

Application.EnableEvents = False
Me.SaveAs
MyFile Application.EnableEvents = True
MsgBox "Le fichier a bien été enregistré !"
End Sub



Modifié par vieuxmonsieur le 03/12/2012 13:49
ferrand
 Posté le 03/12/2012 à 14:08 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Je crois que tu te fous du monde

ronibo
 Posté le 03/12/2012 à 14:10 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
ferrand a écrit :

Je crois que tu te fous du monde


???

ferrand
 Posté le 03/12/2012 à 14:31 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

ronibo
 Posté le 03/12/2012 à 14:59 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
ferrand a écrit :

https://forum.pcastuces.com/incrementer-f23s31476.htm

https://forum.pcastuces.com/surligner_cellule-f23s31462.htm

{#}

Je viens de lire ton message sur un de mes poste,

Je comprend ta créaction, et je suis désolé

ferrand
 Posté le 03/12/2012 à 15:23 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

La macro dit figurer dans le module ThisWorkbook.

Et le classeur, doit comporter une feuille nommée "PMC", avec les indications prévues aux cellules visées.

Hormis ça je n'ai pas saisi quel est le problème.

ronibo
 Posté le 03/12/2012 à 15:26 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
ferrand a écrit :

La macro dit figurer dans le module ThisWorkbook.

Et le classeur, doit comporter une feuille nommée "PMC", avec les indications prévues aux cellules visées.

Hormis ça je n'ai pas saisi quel est le problème.


re,

c'est un macro que j'ai récupérer sur mon modèle de facture, c'est peux être pour sa,

peut être qu'il faut mettre "Du 01 au 10"

a+

ferrand
 Posté le 03/12/2012 à 19:57 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

On peut pas transporter telle quelle une macro conçue pour autre chose dans un contexte particulier.

Explique très exactement ce que tu veux que ta macro fasse.

ronibo
 Posté le 03/12/2012 à 21:13 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
ferrand a écrit :

On peut pas transporter telle quelle une macro conçue pour autre chose dans un contexte particulier.

Explique très exactement ce que tu veux que ta macro fasse.

Ré,

je souhaite enregistrer et nommer automatiquement un fichier lorsque je clic sur le bouton enregistrer

Je souhaite nommé mon fichier de cette facon :

Récapitulatif - 2012-12 (Décembre 2012)

2012 = année

12=mois

Je veux juste que ça ce suis chronologiquement, c'est pour cela que je veux utiliser cette méthode

J'ai prévu cette emplacement pour l'enregistrement des fichier

R:\SARL PMC\Récapitulatif\

À+
ferrand
 Posté le 03/12/2012 à 23:35 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

A essayer :

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim d, m, MyFile As String, Chemin As String
SaveAsUI = False
Cancel = True
d = Worksheets(1).Range("S3").Value
m = Month(d)
Chemin = "R:\SARL PMC\Récapitulatif\"
MyFile = "Récapitulatif" & " - " & Year(d) & " - " & Format(m, "00") & " (" & d & ").xls"
If ThisWorkbook.Name = MyFile Then
Cancel = True
Else
Application.EnableEvents = False
Me.SaveAs Chemin & MyFile
Application.EnableEvents = True
MsgBox "Le fichier a bien été enregistré sous son nouveau nom !"
End If
End Sub

A mettre dans le module ThisWorkbook.

Le renommage se fait lorsque le mois a changé.

A+

ferrand
 Posté le 03/12/2012 à 23:50 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Dans ton fichier : http://cjoint.com/?BLdxXxA3oaW

N'activer les macros que là où existe le dossier d'enregistrement.

ronibo
 Posté le 04/12/2012 à 03:39 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
ferrand a écrit :

Dans ton fichier : http://cjoint.com/?BLdxXxA3oaW

N'activer les macros que là où existe le dossier d'enregistrement.

Ré, tout fonctionne nickel, je vais être chiant mais j'aimerai supprimer deux espace,

Comme sa :

Récapitiulatif - 2012-12 (Décembre 2012)


au lieu de :

Récapitiulatif - 2012 - 12 (Décembre 2012)

À+
ferrand
 Posté le 04/12/2012 à 06:46 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Tu les supprimes.

Sur cette ligne : MyFile = "Récapitulatif" & " - " & Year(d) & " - " & Format(m, "00") & " (" & d & ").xls"

=> MyFile = "Récapitulatif" & " - " & Year(d) & "-" & Format(m, "00") & " (" & d & ").xls"

ronibo
 Posté le 06/12/2012 à 13:42 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
ferrand a écrit :

Tu les supprimes.

Sur cette ligne : MyFile = "Récapitulatif" & " - " & Year(d) & " - " & Format(m, "00") & " (" & d & ").xls"

=> MyFile = "Récapitulatif" & " - " & Year(d) & "-" & Format(m, "00") & " (" & d & ").xls"

Bonjour, merci Ferrand, pour ton aide, :-)

Publicité
Page : [1] 
Page 1 sur 1

Vous devez être connecté pour participer à la discussion.
Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !
Recevoir PC Astuces par e-mail


La Lettre quotidienne +226 000 inscrits
Avec l'actu, des logiciels, des applis, des astuces, des bons plans, ...

Les bonnes affaires
Une fois par semaine, un récap des meilleurs offres.

Les fonds d'écran
De jolies photos pour personnaliser votre bureau. Une fois par semaine.

Les nouveaux Bons Plans
Des notifications pour ne pas rater les bons plans publiés sur le site.

Les bons plans du moment PC Astuces

Tous les Bons Plans
SSD Transcend 220S 2 To (M.2, NVMe, TLC, 3500 Mo/s) à 124,43 € livré
124,43 € 150 € -17% @Amazon Allemagne
Eplucheur universel à lame pendulaire Victorinox à 4,90 €
4,90 € 7,10 € -31% @Amazon
Souris Logitech MX Master 2S + tapis de souris Pad Studio Series à 49,90 €
49,90 € 70 € -29% @Cdiscount
Pack SSD WD Black SN850X 1 To (PCIe Gen4, NMVe M.2, 7300 Mo/s) + 16 Go (2x8 Go) Corsair Vengeance RGB PRO SL 3600 MHz à 169,90 €
169,90 € 209 € -19% @RueDuCommerce
Kit de 32 Go (2 x 16 Go) de mémoire DDR4 Corsair Vengeance LPX 3200 MHz à 79,90 €
79,90 € 100 € -20% @Amazon Belgique
Processeur AMD Ryzen 5 5500 à 110,49 € livré
110,49 € 145 € -24% @Amazon Allemagne
Batterie Bosch Professional 18V System 5Ah à 65,05 € livrée
65,05 € 85 € -23% @Amazon Allemagne
Four à pizza Ariete 919 (pierre réfractaire 32 cm, 1200W, 400 degrés) à 73,99 €
73,99 € 92 € -20% @Amazon
SSD Corsair Force MP600 Pro XT 2 To (NVMe M.2 Gen4, 7100/5800 Mo/s) à 185,95 €
185,95 € 220 € -15% @LDLC
Amazon Fire TV Stick 4K Max à 39,99 €
39,99 € 64,99 € -38% @Amazon

Sujets relatifs
Macro excel pour enregistrer sous
excel : macro pour enregistrer un fichier
Creation d' une boucle macro dans fichier EXCEL pour impression
Macro pour ouverture d'un fichier Excel
Macro pour créer un Gencode sur Excel - EAN 18
Macro pour un envoi feuille excel par mail
macro excel pour convertir données
EXCEL RECHERCHEV pour autre fichier. Macro?
macro pour passer de word vers excel
Excel : macro pour récupérer ttes les données ?
Plus de sujets relatifs à Macro excel pour enregistrer
 > Tous les forums > Forum Bureautique