enregistrer-sous et rester sur la page active

moff

XLDnaute Nouveau
Bonjour et a l'aiiide

je cherche a obtenir une macro qui enregistre mon fichier excel, nommé par le contenu d'une cellule MAIS sans changer la feuille active. Je dois continuer a travailler sur celle-ci:

Dim str As String

Dim dir As String

dir = "J:\pro\Compta\facturations\Archives/"

Range("U28").Select

str = dir & ActiveCell.Text & ".xls"

ActiveWorkbook.SaveAs Filename:= _
str, FileFormat:=xlNormal, _
Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False

End Sub


:mad: je me retrouve sur le nouveau fichier U28


la solution peut etre
ActiveWorkbook.SaveCopyAs "J:\pro\Compta\facturations\Archives\MonDouble.xls"

End Sub

Et la le drame je n'arrive pas a definir une cellule pour nommer le fichier



Merci d avance
 

Roland_M

XLDnaute Barbatruc
Re : enregistrer-sous et rester sur la page active

bonjour

ceci est normal un classeur enregistré sous un autre nom porte le nouveau nom

tu dois créer un nouveau classeur dans lequel tu copy tes données
et que tu enregistres sous le nom que tu veux et tu le close
tu restera dans ton classeur d'origine

A plus. Roland_M
 

JYLL

Nous a quitté
Repose en paix
Re : enregistrer-sous et rester sur la page active

Bonsoir Mof et le Forum,

Voici ta macro modifiée très peu, et mise dans "ThisWorkBooks":

Code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
   Dim str As String
   Dim dir As String
   dir = "J:\pro\Compta\facturations\Archives\"
   Range("U28").Select
   str = dir & ActiveCell.Text & ".xls"
   ActiveWorkbook.SaveAs Filename:=str
End Sub

Il suffit de cliquer sur l'icône de la disquette dans la barre d'outils pour faire fonctionner la macro.

Bon test
 

moff

XLDnaute Nouveau
Re : enregistrer-sous et rester sur la page active

merci....

seul petit hic, ma macro est vraiement longue, et l enregistrement est final.
je ne peux pas l inclure dans thisworkbooks, je dois la lancer depuis un boutton.

et donc la re-hic, l enregistrement se fait mais je me retrouve sur la nouvelle page enregistré....

Si vous avez une idée?????

merci encore de la rapidité de réponse
 

Roland_M

XLDnaute Barbatruc
Re : enregistrer-sous et rester sur la page active

re bonjour,
Créer 2 CommandButtons 1'pour SaveNew 2'pour rappelOld
Essai ceci dans classeur vierge et tu verras ça marche !
Public NomDuClasseurOrigine$, NomDuNouveauClasseur$ ' à toi de voir ou tu initialises tes noms !?

Public Sub ButtonSaveNouveauClasseur_Click()
NomDuClasseurOrigine$ = ThisWorkbook.Name
NomDuNouveauClasseur$ = "ClasseurNEW.xls" ' à toi de voir ou tu initialises le nom !?
Workbooks(ThisWorkbook.Name).SaveAs Filename:=NomDuNouveauClasseur$
End Sub

Public Sub ButtonLoadClasseurOrigine_Click()
Workbooks.Open Filename:=NomDuClasseurOrigine$
Workbooks(NomDuNouveauClasseur$).Close SaveChanges:=False
End Sub

A plus Roland_M
 

JYLL

Nous a quitté
Repose en paix
Re : enregistrer-sous et rester sur la page active

Rebonsoir Moff et le Forum,

Voici ma macro précédente amèliorée pour faire ce que tu veux. Sauvegarde du classeur et retour sur le classeur d'origine. j'ai supposé qu'ils étaient dans le même répertoire. Créer un seul bouton pour appeler la macro "Sauvegarde"

Code:
Sub Sauvegarde()
Dim str As String Dim dir As String, Nom as string
Nom = ActiveWorkbook.Name
dir = "J:\pro\Compta\facturations\Archives\"
Range("U28").Select
str = dir & ActiveCell.Text & ".xls"
ActiveWorkbook.SaveAs Filename:=str
Workbooks.Open dir & Nom
Workbooks(str).Activate
ActiveWorkbook.Close Savechanges:=True
End Sub

Bon test.

Ps : Bonsoir Merda Roland, je n'avais pas vu ta réponse.
 
Dernière édition:

moff

XLDnaute Nouveau
Re : enregistrer-sous et rester sur la page active

Merci beaucoup tout le monde, probleme résolu... je dispose d un bon outils de travail maintenant.:)
La solution adopté:


Sub sauvegarde ()


ActiveWorkbook.Save


Dim str As String

Dim dir As String

dir = "J:\pro\Compta\facturations\Archives/"

Range("u28").Select

str = dir & ActiveCell.Text & ".xls"

ActiveWorkbook.SaveCopyAs Filename:=str

Range("A1").Select



End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 515
Messages
2 089 235
Membres
104 074
dernier inscrit
Romuald MORVAN