> 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, :-)

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
59,99 €Kit de 16 Go (2 x 8 Go) de mémoire DDR4 Corsair Vengeance LPX 3200 MHz à 59,99 €
Valable jusqu'au 08 Décembre

Amazon fait une promotion sur le kit de 16 Go (2x8 Go) de mémoire DDR4 Corsair Vengeance LPX 3200 MHz CL16 qui passe à 59,99 € livré gratuitement. On le trouve ailleurs autour de 80 €.


> Voir l'offre
-5 €-5 € dès 20 € pour une première livraison en point de retrait Amazon (selon éligibilité)
Valable jusqu'au 31 Décembre

Amazon propose actuellement 5 euros de remise dès 20 euros d'achats avec le code 5RETRAIT pour une première livraison en point de retrait Amazon. Vous pouvez vérifier votre éligibilité à cette offre en vous rendant sur cette page. Vous trouverez la liste des points de retrait sur cette page.


> Voir l'offre
271,99 €Kit 5.1 Logitech Speaker System Z906 à 271,99 €
Valable jusqu'au 08 Décembre

Amazon fait une promotion sur le kit 5.1 Logitech Speaker System Z906 qui passe à 271,99 € livré gratuitement alors qu'on le trouve ailleurs à partir de 350 €. Avec une puissance de diffusion de 500 watts (RMS), ce système 5.1 certifié THX produit un son de qualité cinéma. Profitez d'un contrôle total sur votre système multimédia grâce à ses entrées numériques et analogiques, un pupitre de commande facile à lire et empilable et une télécommande sans fil.


> Voir l'offre

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