Création de feuilles via VBA

Résolu/Fermé
jenor Messages postés 51 Date d'inscription mercredi 10 juin 2015 Statut Membre Dernière intervention 24 juillet 2015 - 30 juin 2015 à 09:49
jenor Messages postés 51 Date d'inscription mercredi 10 juin 2015 Statut Membre Dernière intervention 24 juillet 2015 - 30 juin 2015 à 10:55
Bonjour,

Je viens à nouveau vers vous pour créer des feuilles via VBA.

Dans le fichier ci-joint, sur la première feuille ("Principale") se trouve un tableau avec une colonne contenant différents noms de type de feuilles et le nombre de copies qu'il faudrait créer. Il faut savoir que le nombre peut varier. En effet, il peut y avoir qu'un seul type (comme tata) ou encore 6. Dans l'exemple que je fournis il y a 2 types de feuilles.

Pour chaque type je voudrais qu'il soit créé le nombre de copie renseigné dans la colonne B. Par exemple, pour le type tata il sera créé 3 copies de la feuille 1, pour le type toto il sera créé 3 copies de la feuille 1 etc ... Il faut savoir que la feuille 1 est la même base pour tout les types.

De plus :
- pour chaque type, le nom de l'onglet sera : Feuille 1 ('nom du type'). Ce qui donne pour tata : Feuille 1 (tata), Feuille 2 (tata), Feuille 3 (tata).
- pour chaque type, on trouvera en A1 le nom du type
- pour numéro de feuille, on trouvera ce numéro en B1

Je sais très bien que mon explication n'est pas très claire, alors pour mieux comprendre ce que je dis, voici le fichier avant et après.

Fichier avant création des feuilles : https://mon-partage.fr/f/T6JVyQKs/
Fichier après création des feuilles : https://mon-partage.fr/f/dcVa7Wsz/


J'espère que vous pourrez m'aider. Je vous remercie par avance.
A voir également:

2 réponses

Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 523
30 juin 2015 à 10:27
Bonjour,

Une proposition (lancer la macro "CreerLesFeuilles")
https://www.cjoint.com/c/EFEizIkG3fW

A+
0
jenor Messages postés 51 Date d'inscription mercredi 10 juin 2015 Statut Membre Dernière intervention 24 juillet 2015
30 juin 2015 à 10:34
Je te remercie pour la rapidité et la qualité de ta réponse.
Ton fichier est bon, les onglets se créés correctement avec le bon nom. Cependant, il manque le nom du type en A1 et le numéro en B1. Comment procéder ?
(j'ai du mal avec VBA ...)
0
Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 523
30 juin 2015 à 10:47
Voici le code modifié
Sub CreerLesFeuilles()
Dim DerLig As Long
Dim Cel As Range
Dim i As Integer
Application.ScreenUpdating = False
With Worksheets("Principale")
DerLig = Range("A" & Rows.Count).End(xlUp).Row
If DerLig > 1 Then
For Each Cel In Range("A2:A" & DerLig)
If Cel.Offset(0, 1) > 0 Then
For i = 1 To Cel.Offset(0, 1).Value
Sheets("Feuille 1").Copy After:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = "Feuille " & i & " (" & Cel.Value & ")"
Sheets(Sheets.Count).Range("A1") = Cel.Value
Sheets(Sheets.Count).Range("B1") = i
Next i
End If
Next Cel
Application.DisplayAlerts = False
Sheets("Feuille 1").Delete
Application.DisplayAlerts = True
.Activate
End If
End With
End Sub

A+
0
jenor Messages postés 51 Date d'inscription mercredi 10 juin 2015 Statut Membre Dernière intervention 24 juillet 2015
30 juin 2015 à 10:55
C'est parfait, c'est exactement ce que j'attendais. Merci beaucoup
0