Macro enregistrer

je souhaite créer une macro qui m'enregistre mon classeur avec le nom de plusieurs cellules ça c'est ok (formule ci après) mais ensuite je veux rester sur mon fichier de départ et non pas sur le fichier que je viens d'enregistrer.

merci pour votre aide

Sub enregistrer_classeur()

Dim chemin As String, fichier As String

chemin = ThisWorkbook.Path

fichier = chemin & "\" & Range("G3") & " à " & Range("K3") & Range("L3") & ".xls"

ActiveWorkbook.SaveAs Filename:=fichier

End Sub

Bonsoir,

en enregistrant au préalable ton nom de fichier, il te suffira de l'appeler ensuite à la fin de ta macro.

Enfin, c'est comme ça que je précéderai, il a peut-être plus propre

Sub enregistrer_classeur()

Dim fichierOrigine as String
Dim chemin As String, fichier As String

chemin = ThisWorkbook.Path
fichierOrigine = ThisWorkbook.Name

fichier = chemin & "\" & Range("G3") & " à " & Range("K3") & Range("L3") & ".xls"
ActiveWorkbook.SaveAs Filename:=fichier

Workbooks.Open Filename:=chemin & "\" & fichierOrigine
End Sub

A tester !

Cdlt

bonsoir,

utilise SaveCopyAs :

Sub enregistrer_classeur()
Dim chemin As String, fichier As String
chemin = ThisWorkbook.Path
fichier = chemin & "\" & Range("G3") & " à " & Range("K3") & Range("L3") & ".xls"
ActiveWorkbook.SaveCopyAs Filename:=fichier
 End Sub

A+

Effectivement ça évite d'avoir à ré-ouvrir le fichier.

Me semblait bien qui avait qqch mais pas moyen de remettre la main dessus.

Je vais mettre ça sur le dos de la fin de week-end ^^

merci pour vos réponses rapides et efficaces. La réponse de galopin01 correspond à mes attentes car le fichier enregistré reste fermé.

néanmoins j'ai un autre problème qui apparait : je veux supprimer sur le fichier que j'enregistre le bouton qui me sert à enregistrer

j'utilise ActiveSheet.Shapes("Picture 694").Delete avant la macro enregistrer

avec la formule de plop ça fonctionne bien mais si le fichier a déjà le même nom j'ai le débogueur qui apparait et perd la macro sur mon fichier d'origine

avec la formule de galopin01 je la perd aussi sur mon fichier d'origine.

j'ai alors essayé couper/coller avant et après la macro enregistrer mais là j'ai une erreur

merci

Il y a plusieurs feuilles dans ton classeur ?

voici le fichier ça sera plus simple.

Après ma copie je remet à zéro mon fichier d'origine

merci

24sup-enr.zip (101.71 Ko)

j'ai résolu mon problème en supprimant les images APRÈS avoir copié mon classeur.

Sub enregistrer_classeur()

Dim fichierOrigine As String

Dim chemin As String, fichier As String

chemin = ThisWorkbook.Path

fichierOrigine = ThisWorkbook.Name

fichier = chemin & "\" & Range("G3") & " à " & Range("K3") & Range("L3") & ".xls"

ActiveWorkbook.SaveAs Filename:=fichier

'Le nom de la feuille existe déjà veuillez fermer cette fenêtre,Modifier la date ou l'heure

'suppression macro enrg ET raz

ActiveSheet.Shapes("Picture 694").Delete

ActiveSheet.Shapes("Picture 699").Delete

Workbooks.Open Filename:=chemin & "\" & fichierOrigine

End Sub

Maintenant je souhaiterai qu'il se ferme et repartir sur le fichier d'origine.

si je mets Workbooks.close à la fin c'est mon fichier d'origine qui se ferme

si je le met avant Workbooks.Open Filename:=chemin & "\" & fichierOrigine mon fichier origine ne se ré ouvre pas car mon fichier est fermé.

18supprime.zip (88.97 Ko)

Bonsoir,

Tu mélanges tout.

Si tu utilises SaveCopyAs tu crées une copie du fichier d'origine. Cette copie est fermée et tu restes sur le fichier d'origine.

Si tu utilises SaveAs tu enregistres ton classeur sous un autre nom et tes modifications sur le fichier d'origine sont perdues.

Si tu veux y revenir il faut mettre un :

Workbooks.Open(fichierOrigine)

'puis réactiver le fichier que tu viens de renommer

ThisWorkbook.Activate '

'Supprimer les boutons

ThisWorkbook.Close True

End Sub

Il ne reste plus que le fichier d'origine qui reste ouvert.

Ok ?

Merci galopin01 pour tes conseils, j'ai réussi à faire ce que je voulais

Rechercher des sujets similaires à "macro enregistrer"