Exporter feuille avec macro
Romain
-
Romain -
Romain -
Bonjour,
J'ai un fichier excel avec plusieurs onglets : Voiture, Moto, Bateau. Ces onglets sont construits de la même manière et font tous appel à la même macro "module1".
Ce fichier est un "master", et ainsi me sert de modèle. Je souhaiterais pouvoir exporter 1 seul onglet dans mes documents (par exemple n'enregistrer que "Voiture.xlsm" depuis mon master) et que la macro associée à cette feuille fonctionne toujours.
Je me pose donc la question : Faut il, pour chaque feuille réécrire la macro ? ou bien que faut il faire ???
Avez vous des idées ?
Cordialement
Romain
J'ai un fichier excel avec plusieurs onglets : Voiture, Moto, Bateau. Ces onglets sont construits de la même manière et font tous appel à la même macro "module1".
Ce fichier est un "master", et ainsi me sert de modèle. Je souhaiterais pouvoir exporter 1 seul onglet dans mes documents (par exemple n'enregistrer que "Voiture.xlsm" depuis mon master) et que la macro associée à cette feuille fonctionne toujours.
Je me pose donc la question : Faut il, pour chaque feuille réécrire la macro ? ou bien que faut il faire ???
Avez vous des idées ?
Cordialement
Romain
A voir également:
- Exporter macro excel
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Exporter favoris chrome - Guide
- Exporter conversation sms android - Guide
8 réponses
Bonjour,
Je te propose de faire un enregistrer sous, et soit de supprimer les deux onglet que tu veux pas soit de les cacher.
Comme ça tu conserve tout.
C'est bien ça que tu veux ?
Je te propose de faire un enregistrer sous, et soit de supprimer les deux onglet que tu veux pas soit de les cacher.
Comme ça tu conserve tout.
C'est bien ça que tu veux ?
Bonjour a vous deux,
Si une macro par feuille, copie dans un autre classeur suffi (en code VBA)
Si une seule macro dans un module, faire copie dans autre classeur et allez sur ce site pour un exemple de copie de macro dans un autre calsseur (le tout en VBA bien sur)
https://www.developpez.net/forums/d604294/logiciels/microsoft-office/excel/macros-vba-excel/copier-macro-vba-d-classeur/
A+
Si une macro par feuille, copie dans un autre classeur suffi (en code VBA)
Si une seule macro dans un module, faire copie dans autre classeur et allez sur ce site pour un exemple de copie de macro dans un autre calsseur (le tout en VBA bien sur)
https://www.developpez.net/forums/d604294/logiciels/microsoft-office/excel/macros-vba-excel/copier-macro-vba-d-classeur/
A+
Bonjour
Voila une macro qui peur le faire
a toi de voir si ca te convient
Bien sur il faut faire un peux de menage
Sub ExportXLS()
Application.ScreenUpdating = False
'Crée une copie de la Feuil1 dans un nouveau classeur
Chemin = ActiveWorkbook.Path
NomFiche = F05.Range("B15")
ChemFiche = Chemin & "\" & NomFiche & ".xls"
Temp = F06.Name
On Error GoTo Erreur
F06.Copy
ActiveWorkbook.Activate
Sheets(Temp).Name = NomFiche
For Each Shap In ActiveSheet.Shapes
If Shap.Name <> "Logo2" And Shap.Name <> "Logo3" Then
Shap.Delete
End If
Next
ActiveWindow.FreezePanes = False
Rows("1:1").Delete
Range("A1").Select
'Sauvegarde la copie
ActiveWorkbook.SaveAs ChemFiche
'Ferme le classeur sauvegardé
ActiveWorkbook.Close True
Application.ScreenUpdating = True
MsgBox "Création dans " & ChemFiche
F04.Select
Exit Sub
Erreur:
Application.DisplayAlerts = False
ActiveWorkbook.Close
Err.Clear
Application.DisplayAlerts = True
F04.Select
'F05.Visible = 2
End Sub
A+
Voila une macro qui peur le faire
a toi de voir si ca te convient
Bien sur il faut faire un peux de menage
Sub ExportXLS()
Application.ScreenUpdating = False
'Crée une copie de la Feuil1 dans un nouveau classeur
Chemin = ActiveWorkbook.Path
NomFiche = F05.Range("B15")
ChemFiche = Chemin & "\" & NomFiche & ".xls"
Temp = F06.Name
On Error GoTo Erreur
F06.Copy
ActiveWorkbook.Activate
Sheets(Temp).Name = NomFiche
For Each Shap In ActiveSheet.Shapes
If Shap.Name <> "Logo2" And Shap.Name <> "Logo3" Then
Shap.Delete
End If
Next
ActiveWindow.FreezePanes = False
Rows("1:1").Delete
Range("A1").Select
'Sauvegarde la copie
ActiveWorkbook.SaveAs ChemFiche
'Ferme le classeur sauvegardé
ActiveWorkbook.Close True
Application.ScreenUpdating = True
MsgBox "Création dans " & ChemFiche
F04.Select
Exit Sub
Erreur:
Application.DisplayAlerts = False
ActiveWorkbook.Close
Err.Clear
Application.DisplayAlerts = True
F04.Select
'F05.Visible = 2
End Sub
A+
Re,
J'ai finalement fait comme eljojo_e l'a proposé. En effet, cette solution reste plus légère en terme de code, ainsi qu'en terme de manipulation de fichiers. De plus elle est plus rapide. C'est donc la meilleur solution à adapter :
- on supprime tous les onglets qui ne nous interessent pas dans une boucle
- on fait un "enregistrer sous"
- on ferme le classeur sans l'enregistrer
Ainsi, on garde le master tel quel et on obtient le résultat : la feuille enregistrée avec toutes les macros dans un fichier à part, sans avoir eu à manipuler une macro !
Encore merci eljojo_e pour cette solution, et merci à f894009 pour m'avoir proposé ta solution.
A+
J'ai finalement fait comme eljojo_e l'a proposé. En effet, cette solution reste plus légère en terme de code, ainsi qu'en terme de manipulation de fichiers. De plus elle est plus rapide. C'est donc la meilleur solution à adapter :
- on supprime tous les onglets qui ne nous interessent pas dans une boucle
- on fait un "enregistrer sous"
- on ferme le classeur sans l'enregistrer
Ainsi, on garde le master tel quel et on obtient le résultat : la feuille enregistrée avec toutes les macros dans un fichier à part, sans avoir eu à manipuler une macro !
Encore merci eljojo_e pour cette solution, et merci à f894009 pour m'avoir proposé ta solution.
A+
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
Oui c'est ca que je veux faire, mais j'aurais souhaité que l'utilisateur n'ai rien à faire. Mon classeur final va comporter une vingtaine de feuilles ! Je me vois mal dire à mon utilisateur "supprime les 19 feuilles dont tu n'as pas besoin". C'est pour cela que j'aurais souhaité n'exporter qu'une seule feuille avec le module1. Que ce soit via un menu d'excel ou une macro, peu m'importe !
Merci quand même pour ta réponse !
Oui c'est ca que je veux faire, mais j'aurais souhaité que l'utilisateur n'ai rien à faire. Mon classeur final va comporter une vingtaine de feuilles ! Je me vois mal dire à mon utilisateur "supprime les 19 feuilles dont tu n'as pas besoin". C'est pour cela que j'aurais souhaité n'exporter qu'une seule feuille avec le module1. Que ce soit via un menu d'excel ou une macro, peu m'importe !
Merci quand même pour ta réponse !
Re,
"Drag&Drop" de la feuille vers une autre instance d'Excel... Si dans la meme instance d'excel et c'est un move de l'onglet (couper/coller ou deplacer) dans le 2eme classeur qui doit etre ouvert. Ceci sans macro, par contre gerer la sauvegarde manuellement.
A vous de voir
macro: vous avez deux solutions qui vous ont ete proposees
sans macro: probleme de gestion sauvegarde
A+
"Drag&Drop" de la feuille vers une autre instance d'Excel... Si dans la meme instance d'excel et c'est un move de l'onglet (couper/coller ou deplacer) dans le 2eme classeur qui doit etre ouvert. Ceci sans macro, par contre gerer la sauvegarde manuellement.
A vous de voir
macro: vous avez deux solutions qui vous ont ete proposees
sans macro: probleme de gestion sauvegarde
A+
Après adaptation, cela fonctionne bien, mais ne copie pas les modules :( Sachant que c'est le coeur de mon fichier Excel...
Quelqu'un aurait il une idée ? est il possible d'adapter cette macro pour qu'elle copie aussi les modules ? ?
Quelqu'un aurait il une idée ? est il possible d'adapter cette macro pour qu'elle copie aussi les modules ? ?
Re,
Auriez-vous la memoire courte????? je vous ai postez un lien voir f894009 28 févr. 2013 à 10:36
A+
Auriez-vous la memoire courte????? je vous ai postez un lien voir f894009 28 févr. 2013 à 10:36
A+
Auriez-vous la memoire courte?????
Non je n'ai pas la mémoire courte!!!!!
C'est seulement qu'après avoir lu les deux liens, ce que j'observe c'est une exportation de fichiers de macros. J'en déduit donc qu'il faut les réimporter par la suite. Seulement je ne vois pas comment le faire via ma premiere feuille, car une fois la feuille copiée et les modules exportés, il faut bien les réimporter... C'est donc pour celà que je viens sur ce forum, en esperant trouver de l'aide à mon problème