Comment copier et renomer un onglet en VBA

Bonjour le forum

Je cherche le moyen de copier et renommer un onglet en vba , et le nouveau nom de l'onglet est a prendre en cellule B2 qui reprend le numéro de la Semaine

Quelqu'un peut il m'aider ou me donner quelques Indication , pour réaliser ma demande

Je vous remercie par avance pour votre aide

Vus souhaitant a toute et tous une bonne Journée

Cordialement

Nathalie

bonjour,

un exemple de code pour copier la feuille sheet1

Sub aargh()
    Sheets("Sheet1").Copy After:=Sheets(1)
    ActiveSheet.Name = Range("B2")
End Sub

Super Merci pour le code , mais je vais peut être abusé de ton aide , est il possible dans ton code de rajouter qu'une fois copier , l'onglet soit Masqué

En attente de ta réponse

Et encore merci pour ton aide

Nathalie

Désolé , mais est il possible aussi quand l'onglet et copier , rajouter au nom de l'onglet : N° Semaine B2

Je sais , je demande Beaucoup , mais si tu as la solution , je suis preneuse

cordialement

Nathalie

j ai testé la macro , mais si je copie chaque semaine l'onglet cela ne fonctionne pas

La j'ai copier et renommer semaine 1, cela fonctionne , car ensuite je copie sur mon onglet de Base Feuille Horaire la semaine 2 , la cela ne fonctionne plus

Tu sais Pourquoi

En attente de ta réponse

Nathalie

bonjour

voici réponse à tes questions

Sub aargh()
    Sheets("Sheet1").Visible = True
    Sheets("sheet1").Copy before:=Sheets(1)
    ActiveSheet.Name = "N° Semaine " & Range("B2") 'nom de la feuille copiée
    Sheets("Sheet1").Visible = False 'on cache la feuille modèle
End Sub

pour le dernier problème. je suppose que tu reçois un message d'erreur t'indiquant que le nom de feuille existe déjà.c'est bien cela ?

dans ce cas, il faut adapter B2 dans la feuille modèle avant de faire la copie ou adapter la macro de copie pour déterminer son nom d'une autre manière.

Merci , mais ce n'est pas la feuille modèle que je veux masquer , mais la nouvelle

La si je teste ta macro , c'est ma feuille Type qui est Masqué

En attente de te lire

Merci beaucoup pour ta patience et pour ton aide

Cordialement

Nathalie

re-bonjour

pas de souci

voici

Sub aargh()
    Sheets("sheet1").Copy before:=Sheets(1)
    ActiveSheet.Name = "N° Semaine " & Range("B2") 'nom de la feuille copiée
    ActiveSheet.Visible = False 'on cache la feuille copiée
End Sub

Super , cela fonctionne correctement , tu es vraiment Super Sympa

Tu a l'air d'être Excellente en VBA , et j'ose de demander si c'est possible de rajouter dans ta macro , un envoi par mail en automatique

En attente de ta réponse

Nathalie

re-bonjour,

envoi par mail de quoi ? avec quel système de mail (outlook, autre )?

Envoi par mail de l'onglet copier ET RENOMER via OUTLOOK

Suite a ta création de la macro pour copie et renommer onglet , j'aimerais envoyé la copie créé directement a une personne dédié

J'espère que mon explication t'aide

Cordialement

Nathalie

bonjour,

voici la macro adaptée pour l'envoi de la feuille par mail.

Sub aargh()
    Set twb = ThisWorkbook
    twb.Sheets("sheet1").Copy before:=Sheets(1)
    ActiveSheet.Name = "N° Semaine " & Range("B2")    'nom de la feuille copiée
    ActiveSheet.Copy
    Set wb = ActiveWorkbook
    wb.SaveAs "classeur.xlsx", 51
    nf = wb.FullName
    wb.Close False
    Set ol = CreateObject("outlook.application")
    Set msg = ol.createitem(0)
    With msg
        .to = "mail@address.com"
        .Subject = "document important pour vous"
        .body = "veuillez trouver ci-joint, bla,bla"
        .attachments.Add nf
        .display 'on affiche le mail créé
        '.send 'enlever le commentaire pour faire l'envoi automatique du message
    End With
    Kill nf
    ActiveSheet.Visible = False    'on cache la feuille copiée
End Sub

Super et encore merci pour ton aide

Je te souhaite un bon Week end

Cordialement

Nathalie

Rechercher des sujets similaires à "comment copier renomer onglet vba"