Copier x feuille excel 2007 en fonction d'un nombre x de cellules en VB

pmansard - 28 févr. 2013 à 11:58
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 - 28 févr. 2013 à 13:38
Bonjour,

J'ai fais cette fonction qui me permet de copier une feuille et de la renommer.
Maintenant j'ai plusieurs feuilles à créer. J'ai une plage de cellules pour le "NomFeuille" et également pour le "NewFeuille". J'ai essayé avec la fonction située plus bas (2), mais cela ne marche pas
Comment faire ?
Merci

1-essai copie feuille
Function CopyFeuille(NomFeuille As String, NewFeuille As String) As Boolean
'copy feuille et renomme la nouvelle feuille
Sheets(NomFeuille).Select
Sheets(NomFeuille).Copy after:=Sheets(ThisWorkbook.Sheets.Count)
ActiveSheet.Name = NewFeuille
CopyFeuille = True
End Function

2-essai pour plusieurs feuilles
Function Copy_Feuille(NomFeuille As Range, NewFeuille As Range, Nbre As Byte) As Boolean
For x = 1 To Nbre
Sheets(NomFeuille).Select
Sheets(NomFeuille).Copy after:=Sheets(ThisWorkbook.Sheets.Count)
ActiveSheet.Name = NewFeuille

'If NomFeuille.Cells(x, 1) "" Then Copy_Feuille True
'If NomFeuille.Cells(x, 1) <> "" Then Sheets(NomFeuille.Cells(x, 1)).Select
'Sheets(NomFeuille.Cells(x, 1)).Copy After:=Sheets(ThisWorkbook.Sheets.Count)
'ActiveSheet.Name = NewFeuille
Next x
Copy_Feuille = True
End Function

1 réponse

jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344
28 févr. 2013 à 13:38
bonjour,

oula...
For x = 1 To Nbre 
Sheets(NomFeuille).Select 

Comment le nom de la feuille à copier et celui de la nouvelle feuille est-il initialisé ?

Si tu disposes d'une fonction effectuant la copie pour une feuille.. il suffit de l'appeller autant de fois que tu as de feuilles à nomer
( -> En gros, faire une boucle sur ta plage de cellules contenant les noms de feuilles à copier, puis pour chacune, faire appel à ta premiere fonction)


PS: à l'avenir, merci d'utiliser les balises de code lorque l'on colle du "code" dans les messages !
-> 3eme Icone en partant de la droite dans la barre d'outils (là où il y a la mise en gras, italic...etc..).


Cordialement,
Jordane
_____________________________________________________
Règles du forum à lire avant de poster une question : ICI
0
Rejoignez-nous