XL 2010 Enregistrement fichier via inputbox

Michael78

XLDnaute Nouveau
Bonjour,

J'ai un fichier qui listes les évènements de la semaine. Et chaque semaine je dois créer celui de la nouvelle semaine. j'ai du coup créé un macro qui va me demander le numéro de la semaine (via InputBox), elle l'intègre dans la cellule I3, puis elle doit enregistrer le nouveau fichier avec son nom : BRH semaine XX - MLF. XX étant le numéro de la semaine que je lui demande d'aller cherche en cellule I3.

le problème : la macro me créé bien le nouveau fichier avec le bon nom, mais me modifie l'ancien fichier.
Ex on est en semaine 32 :
* j'ouvre le fichier "BRH semaine 32 - MLF" (dans la cellule I3 la valeur est 32)
* je lance la macro
* j'indique "33" dans l'InputBox
* la macro modifie la cellule I3 du fichier "BRH semaine 32.." enregistre et ferme le fichier (je souhaite supprimer la partie en rouge de la ligne)
* la macro modifie la cellule I3 du fichier "BRH semaine 33..." et l'enregistre.

je vois pas la solution,

voici le code:

Sub Nouvel_Semaine()
'Demande du numéro de semaine
Semaine = InputBox("Numéro de la semaine:")
Range("I3").Value = Semaine

'Enregistrement du fichier avec nouveau nom
Dim memPath As String
Dim Path As String
Dim nom As String
Path = ActiveWorkbook.Path & "\"
nom = "BRH semaine " & Format(Sheets("Page garde").Range("I3")) & " - MLF" & ".xlsm"
ActiveWorkbook.Save
ActiveWorkbook.SaveAs Filename:=Path & nom

End Sub
 

Robert

XLDnaute Barbatruc
Repose en paix
Bonjour Michael, bonjour le forum,

Peut-être comme ça :

VB:
Sub Nouvel_Semaine()
Dim Path As String
Dim nom As String

Semaine = InputBox("Numéro de la semaine:")
Path = ActiveWorkbook.Path & "\"
nom = "BRH semaine " & Semaine & " - MLF.xlsm"
ActiveWorkbook.SaveAs Filename:=Path & nom
Range("I3").Value = Semaine
ActiveWorkbook.Save
End Sub
 

Michael78

XLDnaute Nouveau
Merci pour la rapidité et la qualité de votre réponse !!

si j'ai compris mon erreur :
*suppression de la ligne : ActiveWorkbook.Save (cela enregistrait le premier fichier)
* Déplacement de la ligne : Range("I3").Value = Semaine (j'enregistre mon nouveau fichier puis je fais les modifs)

Merci!!
 

Discussions similaires

Réponses
1
Affichages
326

Statistiques des forums

Discussions
312 105
Messages
2 085 350
Membres
102 870
dernier inscrit
Armisa