Créer un nvx classeur depuis un classeur open
Résolu
Mistral_13200
Messages postés
636
Date d'inscription
Statut
Membre
Dernière intervention
-
pijaku Messages postés 12263 Date d'inscription Statut Modérateur Dernière intervention -
pijaku Messages postés 12263 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour à tous,
Tout d’abord, en cette période de vœux permettez moi de vous présenter tous les miens pour que cette année soit faite de joie et de partage.
Voilà j’ai deux problèmes.
Le premier. A partir d’un classeur « A » Excel, comportant une dizaine de feuilles dont une seule est active à la fois, je souhaiterais créer automatiquement, dans le même répertoire ou se trouve le classeur « A », un nouveau classeur « B » dans lequel je ne copierais qu’une seule feuille du classeur « A ». La feuille copiée portera le même nom et le classeur portera le nom contenu dans une cellule d’une feuille appelée « Menu ».
Le second. Toujours à partir du même classeur « A » je souhaiterais envoyer automatiquement, et sans aucune intervention, une feuille, je dis bien une seule feuille, par Internet. L’adresse Internet sera inscrite dans une cellule de la feuille à envoyer. Il est bien entendu que cette fonction devra être valable pour les navigateurs les plus courants.
J'utilise Office 2003.
En vous remerciant par avance pour votre aide.
Cordialement.
Mistral
Tout d’abord, en cette période de vœux permettez moi de vous présenter tous les miens pour que cette année soit faite de joie et de partage.
Voilà j’ai deux problèmes.
Le premier. A partir d’un classeur « A » Excel, comportant une dizaine de feuilles dont une seule est active à la fois, je souhaiterais créer automatiquement, dans le même répertoire ou se trouve le classeur « A », un nouveau classeur « B » dans lequel je ne copierais qu’une seule feuille du classeur « A ». La feuille copiée portera le même nom et le classeur portera le nom contenu dans une cellule d’une feuille appelée « Menu ».
Le second. Toujours à partir du même classeur « A » je souhaiterais envoyer automatiquement, et sans aucune intervention, une feuille, je dis bien une seule feuille, par Internet. L’adresse Internet sera inscrite dans une cellule de la feuille à envoyer. Il est bien entendu que cette fonction devra être valable pour les navigateurs les plus courants.
J'utilise Office 2003.
En vous remerciant par avance pour votre aide.
Cordialement.
Mistral
A voir également:
- Créer un nvx classeur depuis un classeur open
- Créer un compte google - Guide
- Comment créer un groupe whatsapp - Guide
- Open office gratuit - Télécharger - Suite bureautique
- Créer un lien pour partager des photos - Guide
- Créer un compte gmail - Guide
2 réponses
Bonjour,
Pour ta deuxième interrogation, je ne sais pas (encore). Par contre pour la première :
Tu ouvres ton classeur, tape ALT + F11, une fenêtre Visual Basic s'ouvre.
Insertion / Module
Dans la fenêtre copie/colle ce code :
Pour tester cette procédure, active la feuille que tu veux copier, tape ALT + F8, sélectionnes copie_feuille_et_enregistre_sous_nom_feuille et cliques sur "exécuter".
Pour voir le résultat, va voir dans ton répertoire...
Teste ceci et reviens en cas de problème et/ou pour ta deuxième question.
Pour ta deuxième interrogation, je ne sais pas (encore). Par contre pour la première :
Tu ouvres ton classeur, tape ALT + F11, une fenêtre Visual Basic s'ouvre.
Insertion / Module
Dans la fenêtre copie/colle ce code :
Sub copie_feuille_et_enregistre_sous_nom_feuille() Dim chemin As String, nomfic As String chemin = ActiveWorkbook.Path 'stocke dans une variable le chemin d'accès (répertoire) de ton classeur nomfic = ActiveSheet.Name 'stocke dans une variable le nom de la feuille active ActiveSheet.Copy 'copie la feuille active dans un nouveau classeur ActiveWorkbook.SaveAs (chemin & "\" & nomfic & " " & Format(Date, "dd mm yyyy")) 'enregistre ce nouveau classeur dans le même répertoire, sous le nom de la feuille active + la date du jour ActiveWorkbook.Close 'ferme ce nouveau classeur End Sub
Pour tester cette procédure, active la feuille que tu veux copier, tape ALT + F8, sélectionnes copie_feuille_et_enregistre_sous_nom_feuille et cliques sur "exécuter".
Pour voir le résultat, va voir dans ton répertoire...
Teste ceci et reviens en cas de problème et/ou pour ta deuxième question.
RE-
Pour ta 2ème question j'ai trouvé ceci :
ici :
https://forums.commentcamarche.net/forum/affich-2253001-macro-excel-envoi-email-avec-piece-jointe
Pour ta 2ème question j'ai trouvé ceci :
Sub EnvoiMail() Workbooks("UnClasseur").SendMail Recipients:="tartem.pion@mimi.com", _ Subject:="Test envoi classeur", _ ReturnReceipt:=True End Sub
ici :
https://forums.commentcamarche.net/forum/affich-2253001-macro-excel-envoi-email-avec-piece-jointe
J'ai testé la solution pour la création et la sauvegarde d'un classeur et cela fonctionne dans l'absolu. Rajouter la date de création me convient également très bien.
Par contre ce n'est pas la feuille active que je souhaite sauvegarder alors comment remplacer :
nomfic = ActiveSheet.Name
par le nom de la feuille à sauvegarder qui se trouvera dans une cellule de la feuille « Menu ».
D’avance merci.
Cordialement
Mistral
Pour choisir de manière définitive ta feuille :
nomfic = Sheets("nom_de_ta_feuille").Name
Mais cela ne réponds pas exactement à mes attentes.
Le nom de la feuille qui sera copiée n'est pas toujours le même.
Pour cela j'ai pensé qu'il était plus judicieux de mettre ce nom dans un cellule de la feuille principale appelée "Menu".
Il faut donc récupérer dans la variable nomfic le nom de la feuille(Menu) et le contenu de la cellule.
'A1 à remplacer par l'adresse de la cellule "à renseigner"