Copier et nommer des onglets dans excel

Fermé
Jo - 11 nov. 2011 à 18:20
Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 - 13 nov. 2011 à 13:30
Bonjour,
je souhaite à partir d'un fichier excel comprenant (mais il comprend avant l'onglet liste d'autres onglets)
- un onglet avec une liste de nom (exemple en feuille 1, ou, ou 3..),
- un onglet avec une matrice vierge,

Copier l'onglet matrice autant de fois que j'ai de noms dans mon onglet liste tout en renommant les onglets du nom des personnes nommées dans ma liste.

je me doute qu'il y a du sheets.copy, sheets.name mais je suis un peu perdu;

Si vous avez l'astuce, ce serait super.
Merci à vous.


A voir également:

2 réponses

Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
11 nov. 2011 à 22:52
Salut,

colle ce code dans un module après avoir adapté les noms des deux feuilles "liste de nom" et "matrice vierge"


Sub Créer_Feuille()
Dim A, x As Range
Application.ScreenUpdating = False
For Each A In Sheets("liste de nom").Range(("A1"), Range("A65536").End(xlUp))
If A = "" Then Sheets("liste de nom").Select: Exit Sub
Sheets("matrice vierge").Copy after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = A
Next A
Sheets("liste de nom").Activate
Application.ScreenUpdating = True
End Sub
0
merci de l'info,

j'ai copié la macro en supprimant les noms avant (macro 7) et les " ' ' mais j'ai un message d'erreur avec une flèche jaune sur la ligne <FOR EACH"
Mille excuses, je viens de ressayer en arrêtant le débogueur et en me placnat sur l'onglet liste de nom et ça marche 1 fois, 2 fois et à chaquez fois.

merci beaucoup pour votre aide, et cela m'a permis de comprendre la macro.
cordialement
0
Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
13 nov. 2011 à 13:30
Re,

je pense que le probème doit venir du nom de tes feuilles.

dans le code, tu as deux lignes ou tu trouveras

Sheets("liste de nom").
liste de nom doit être le nom de l'onglet ou se trouve la liste des noms que tu souhaites créer. si cette liste se trouve sur une feuille nommée Feuil1 tu saisis Sheets("Feuil1").

de même pour cette ligne
Sheets("matrice vierge"). matrice vierge est le nom de la feuille qui sert de modèle pour la création de tes onglets. si le nom de l'onglet à dupliquer se nomme Feuil2 tu remplaces par Sheets("Feuil2").

contôle la liste de noms que tu souhaites donner à tes onglets créés, dans mon code, cette liste est colonne A et commence en A1
.Range(("A1"),
0