Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 VBA / copier onglet selectionné dans nouveau classeur

  • Initiateur de la discussion Initiateur de la discussion JANO
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

JANO

XLDnaute Occasionnel
Bonjour à tous,
Je souhaiterais copier l'onglet sélectionné dans un nouveau classeur sans m’occuper du nom de la feuille. (ensuite, je l'envoi par mail)
Je veux bien de l'aide, merci

Sub mail()
Sheets("3116").Select
Sheets("3116").Copy

Dim Wbk As Workbook
Set Wbk = ActiveWorkbook
Wbk.SendMail "test", "Terre - " & Range("C6").Value
Set Wbk = Nothing
End Sub
 
Solution
Dans ce cas si je comprend bien il suffit de faire ceci :

Sub mail()

ActiveSheet.Copy

Dim Wbk As Workbook
Set Wbk = ActiveWorkbook
'Wbk.SendMail "mon email", " Terre : " & Range("C6").Value
Set Wbk = Nothing

End Sub


Marche qu'importe le nom de la feuille 😉

PS : Ah ba tu as trouvé tout seul avant, parfois c'est quand c'est simple qu'on se prend le plus la tête 😉

Bonne soirée
Bonjour,

Je ne suis pas sûr de comprendre ton problème mais si c'est le nom de la feuille qui pose pb pourquoi ne pas simplement faire ActiveSheets ?

Un fichier exemple pourrais aider à mieux comprendre ton pb !

Bonne soirée 😉
 
Merci [U]Koko74[/U],
Dans le fichier ci-joint lorsque je clique sur le bouton envoyer, je copie la feuille dans un nouveau classeur, mais ce n'ait pas toujours le même non de feuille que j'envoie. Je ne sais pas si je suis plus claire. cordialement
 

Pièces jointes

Cela fonctionne avec : ActiveWindow.SelectedSheets.Copy
j'ai longtemps cherché 😱, mais j'oubliai le ActiveWindow devant SelectedSheets.Copy.
merci beaucoup @Koko74, désolé du dérangement
Bonne soirée 🙂
 
Dans ce cas si je comprend bien il suffit de faire ceci :

Sub mail()

ActiveSheet.Copy

Dim Wbk As Workbook
Set Wbk = ActiveWorkbook
'Wbk.SendMail "mon email", " Terre : " & Range("C6").Value
Set Wbk = Nothing

End Sub


Marche qu'importe le nom de la feuille 😉

PS : Ah ba tu as trouvé tout seul avant, parfois c'est quand c'est simple qu'on se prend le plus la tête 😉

Bonne soirée
 
j'ai encore une question : vu que je copie la feuille dans un nouveau classeur et que je ne l'enregistre pas (je l'envoie via excel).
Est ce que c'est possible de le nommer autrement que par défaut : classeur1 ?
Je crois que non. merci
 
Hello,

Sauf erreur de ma part tu es obligé de l'enregistrer pour changer le nom, mais rien ne t'empêche de le supprimer après 😉

Tout cela est faisable via ta macro bien sûr 😉

J'essaye de te faire ça dans la journée
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 Code VBA
Réponses
7
Affichages
822
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
183
Réponses
9
Affichages
600
Réponses
5
Affichages
482
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…