Recopier une feuille

M

Marie

Guest
Bonsoir le forum

Je ne sais pas écrire en VBA et j’ai besoin d’une macro qui recopie la page « X » d’un classeur, la place en dernier, la renomme « Y », et si « Y » existe déjà ouvre une boite de dialogue pour le signaler .

Merci de m’aider ;
 
M

michel

Guest
bonjour Marie

j'espere que la macro ci dessous repondra à ta demande

Sub CopieNouvelleFeuille()
On Error GoTo Fin

Worksheets("X").Copy After:=Worksheets("X") ' copie feuille X dans une nouvelle feuille
ActiveSheet.Name = ("Y") ' renommer la nouvelle feuille
Sheets("Y").Move After:=Sheets(Sheets.Count) 'deplace la nouvelle feuille à la fin
Exit Sub

Fin: 'gestion erreur si la feuille Y existe deja
If Err = 1004 Then MsgBox " La feuille Y existe déja dans le classeur . "
'Application.DisplayAlerts = False ' pour ne pas avoir le message excel qui valide la suppression de la feuille
ActiveSheet.Delete ' en option en fonction de ton projet : suppression de la feuille qui existe deja
'Application.DisplayAlerts = True ' ! pas de false sans true
End Sub


bon debut de week end
michel
lapin4.gif
 
M

michel

Guest
oouuppss
excuse moi , je ne suis pas bien réveillé ce matin , ... il y avait plus simple....

Sub CopieNouvelleFeuilleV02()
On Error GoTo Fin

Worksheets("X").Copy After:=Sheets(Sheets.Count) ' copie feuille X dans une nouvelle feuille ( à la fin )
ActiveSheet.Name = ("Y") ' renommer la nouvelle feuille
Exit Sub

Fin: 'gestion erreur si la feuille Y existe deja
If Err = 1004 Then MsgBox " La feuille Y existe déja dans le classeur . "
'Application.DisplayAlerts = False ' option pour ne pas avoir le message excel qui valide la suppression de la feuille
ActiveSheet.Delete ' suppression de la feuille qui existe deja
'Application.DisplayAlerts = True ' ! pas de false sans true
End Sub


bonne journée
michel
lapin4.gif
 

Discussions similaires

Réponses
10
Affichages
329

Statistiques des forums

Discussions
312 294
Messages
2 086 880
Membres
103 404
dernier inscrit
sultan87