× Aidez la recherche contre le COVID-19 avec votre ordi ! Rejoignez l'équipe PC Astuces Folding@home
 > 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.

Publicité
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 poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


Les bons plans du moment PC Astuces

Tous les Bons Plans
29,72 €Carte mémoire microSDXC UHS-I SanDisk Ultra 200 Go à 29,72 € livrée
Valable jusqu'au 07 Juin

Amazon Allemagne fait une promotion sur la carte mémoire microSDHC UHS-I SanDisk Ultra 200 Go qui passe à 25,21 € avec la TVA ajustée. Comptez 4,51 € pour la livraison en France soit un total de 29,72 € livrée en France. On la trouve ailleurs à partir de 40 €. Cette carte mémoire offre des vitesses jusqu'à 90 Mo/s et est idéale pour les téléphones, caméras et appareils photo HD. Elle est certifiée GoPro, Switch et est accompagnée d'un adaptateur SD. Une très bonne affaire. 

Vous pouvez utiliser votre compte Amazon France sur Amazon Allemagne et il n'y a pas de douanes. Si vous êtes perdu en allemand, vous pouvez traduire le site en anglais.


> Voir l'offre
14,90 €Windows 10 Pro 32/64 bits OEM à 14,90 €
Valable jusqu'au 08 Juin

Le vendeur sérieux DIGITAL FR propose sur Amazon  la clé d'activation pour Windows 10 professionnel en français 32 bits / 64 bits à 14,90 €. Cette clé livrée par email fonctionne avec l'outil d'installation et de création de support de Microsoft que vous pouvez télécharger ici ou directement avec l'ISO de Windows 10 Pro. De quoi installer légalement Windows 10 Pro sur un PC. Pour en savoir plus sur l'achat et l'installation d'une clé OEM de Windows 10, suivez les indications de notre dossier pratique.


> Voir l'offre
18,63 €Carte Mémoire microSDXC Transcend 300S 128 Go UHS-I U3 A1 à 18,63 € livrée
Valable jusqu'au 07 Juin

Amazon Allemagne fait une promotion sur la carte mémoire microSDXC Transcend 300S 128 Go UHS-I U3 A1 qui passe à 14,11 €. Comptez 4,52 € pour la livraison en France soit un total de 18,63 € livrée. Cette carte mémoire offre des vitesses jusqu'à 95 Mo/s et est parfaite pour les téléphones, caméras et appareils photo HD/4K.

Vous pouvez utiliser votre compte Amazon France sur Amazon Allemagne et il n'y a pas de douanes. Si vous êtes perdu en allemand, vous pouvez traduire le site en anglais.


> 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