Macro enregistrer sous par clic cellule
Bonjour à tous !
Pardonnez mon ignorance mais je cherche à créer une macro qui enregistre une zone de ma feuille (A1 / B2 par exemple) dans un nouveau fichier excel (à choix de destination), tout ceci à partir d'un clic bouton ou si possible un clic cellule . J'espere avoir été assez clair !
Merci de vos contributions !
Salut et bienvenue sur le Forum,
Avec le fichier ci-joint, tu peux effectuer une sélection quelconque sur la feuille 1 et lancer la macro par la combinaison de touche Ctrl +y.
Option Explicit
Sub Report()
' Touches de raccourci : Strg+y
Application.ScreenUpdating = False
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Name = "wwww"
Sheets("Feuil1").Activate
Selection.Copy Destination:=Sheets("wwww").Range("A1")
Application.CutCopyMode = False
Range("A1").Activate
ThisWorkbook.Sheets("wwww").Move
Application.Dialogs(xlDialogSaveAs).Show
ActiveWorkbook.Save
End SubUn nouveau fichier est alors créé et une boîte de dialogue s’ouvre afin que tu puisses le nommer comme tu l’entends et l’enregistrer où bon te semble (ou voudrais-tu l’enregistrer toujours au même endroit avec un nom prédéfini ?). La seule feuille présente dans le nouveau fichier créé automatiquement se nomme « wwww » (je n’ai pas été chercher trop loin) ; comment voudrais-tu quelle se nomme ? Ou voudrais-tu lui donner un nom prédéfini et/ou variable ? Sur cette unique feuille est inscrit, dès la cellule A1, la sélection que tu avais tout d'abord effectuée. Le nouveau fichier créé ainsi que le fichier de base restent ouverts à l’écran à la fin de la macro ; faudrait-il refermer automatiquement l’un ou l’autre ?
A te relire.
Bonjour Yvouille et merci pour cette réponse éclairante !
Sur la partie enregistrement de la nouvelle feuille c'est parfait c'est exactement ça (pour le nom et le lieux de l'enregistrement je me "dépatouille"
Par contre, au lieu de faire une sélection manuelle de la zone à enregistrer (Ctrl Y), est t'il possible, au sein d'une commande, de sélectionner une partie de la feuille par choix de cellules (RANGE?) sachant qu'une des séries est fixe ?
Plus clairement, par rapport au fichier Gysco, le fichier nouvellement crée devra contenir les cellules A1,B1,C1 (fixe) et une sélection au choix dans le reste du document. (A3,B3,C3 par ex).
J’espère que je n'abuse pas trop !
Merci à tous.
Non, tu n'abuses pas. Un principe de ce Forum est que tu offres si possible de l'aide à quelqu'un qui en a besoin, à condition qu'il ne change pas perpétuellement de demande, ou qu'il ne soit pas arrogant (ça c'est déjà vu), etc. Donc pas de soucis pour tes demandes à toi
Comme ta demande n'est pas extrêmement précise, je te montre un exemple de ce que tu peux faire.
Dans la macro ci-dessus, remplace la ligne :
Selection.Copy Destination:=Sheets("wwww").Range("A1")
par :
Range("C5:E5").Copy Destination:=Sheets("wwww").Range("A1")
Selection.Copy Destination:=Sheets("wwww").Range("A3")
Amicalement
Yvouille,
A partir de ton exemple gysco_v1, j'ai tâtonner pour aboutir à ce qui suit :
Sub Report()
' Touches de raccourci : Strg+y
Application.ScreenUpdating = False
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Name = "wwww"
Sheets("Feuil1").Activate
ActiveSheet.Range("c5:e5,c7:e7").Copy Destination:=Sheets("wwww").Range("b4")
Application.CutCopyMode = False
Range("b4").Activate
ThisWorkbook.Sheets("wwww").Move
Application.Dialogs(xlDialogSaveAs).Show
ActiveWorkbook.Save
End Sub
..et là ça fonctionne nickel à une exception près
Y'a ti moyen de la contraindre ! (c'est juste pour épater mes collègues)
Re,
Je n'avais pas bien compris ta première demande et pensais (pourquoi ?) que tu voulais absolument copier-coller une zone différente sélectionnée à chaque fois
En ce qui concerne la mise en forme, je ne sais pas vraiment comment faire pour garder la mise en forme d'un groupe de cellules copié-collé, donc je mets en forme par après. Si tu désires, je peux voir ça, mais il faudrait que tu places ton fichier - avec la mise en forme de départ - sur ce fil.
Autrement - si tu désires absolument savoir comment faire pour copier-coller avec mise en forme - tu pourrais indiquer ce fil comme "Résolu" (tu cliques le petit V vert dans l'un de tes messages) et tu commences un nouveau fil avec cette partie du problème.
Cordialement.
Ok Yvouille !
j'en termine avec ce fil....je vais voir pour la suite !
mille fois merci