Création de feuilles via VBA
Résolu
jenor
Messages postés
51
Statut
Membre
-
jenor Messages postés 51 Statut Membre -
jenor Messages postés 51 Statut Membre -
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.
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:
- Création de feuilles via VBA
- Comment faire un livret avec des feuilles a4 - Guide
- Creation de site web - Guide
- Creation compte gmail - Guide
- Creation de compte google - Guide
- Media creation tool - Télécharger - Systèmes d'exploitation
2 réponses
Bonjour,
Une proposition (lancer la macro "CreerLesFeuilles")
https://www.cjoint.com/c/EFEizIkG3fW
A+
Une proposition (lancer la macro "CreerLesFeuilles")
https://www.cjoint.com/c/EFEizIkG3fW
A+
Voici le code modifié
A+
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+
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 ...)