Création de feuilles via VBA [Résolu/Fermé]

Signaler
Messages postés
51
Date d'inscription
mercredi 10 juin 2015
Statut
Membre
Dernière intervention
24 juillet 2015
-
Messages postés
51
Date d'inscription
mercredi 10 juin 2015
Statut
Membre
Dernière intervention
24 juillet 2015
-
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.

2 réponses

Messages postés
3341
Date d'inscription
samedi 20 juillet 2013
Statut
Membre
Dernière intervention
9 décembre 2016
475
Bonjour,

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

A+
Messages postés
51
Date d'inscription
mercredi 10 juin 2015
Statut
Membre
Dernière intervention
24 juillet 2015

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 ...)
Messages postés
3341
Date d'inscription
samedi 20 juillet 2013
Statut
Membre
Dernière intervention
9 décembre 2016
475
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+
Messages postés
51
Date d'inscription
mercredi 10 juin 2015
Statut
Membre
Dernière intervention
24 juillet 2015

C'est parfait, c'est exactement ce que j'attendais. Merci beaucoup