Création de feuilles à partir d'une liste et nommer

Fermé
Crapoune20 - Modifié le 17 sept. 2019 à 10:50
cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 - 17 sept. 2019 à 11:50
Bonjour,
Je suis novice dans la programmation mais j'aimerai à partir d'une liste de noms en feuille 1 de la cellule A6 à A40 créer des feuilles qui seraient automatiquement nommées par la valeur de la cellule.

Voici ma macro pour l'instant mais plein d'erreurs n'arrêtent pas d'apparaître dès que j'en corrige une.
Pouvez-vous m'aider?

Option Explicit

Sub Ajouter_Feuilles()

Dim J As Long
Dim Ws As Sheets

Dim myRange As Range
Set myRange = Ws("Feuil1").Range("A6:A40")
myRange.Formula = "=RAND()"
myRange.Font.Bold = True


Application.ScreenUpdating = False
Set Ws = ActiveSheet
For J = 1 To myRange("myRange" & Rows.Count).End(xlUp).Row
If Not FeuilleExiste(myRange("myRange" & J).Value) Then
Sheets("Modèle").Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = myRange("myRange" & J)
Range("La classe") = ActiveSheet.Name
End If
Next J
Ws.Select

End Sub

Function FeuilleExiste(Nom As String) As Boolean
On Error Resume Next
FeuilleExiste = Sheets(Nom).Name <> ""
On Error GoTo 0
End Function



En plus de cette macro, j'aimerai que sur ces nouvelles feuilles apparaissent un tableau et un graphique (qui se modifie à chaque feuille en fonction des données rentrées dans la feuille 1) soient automatiquement intégrés. Je n'ai pas encore trouver de macro...

Merci pour votre aide !!!

Configuration: Windows / Chrome 76.0.3809.132
A voir également:

1 réponse

cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 729
Modifié le 17 sept. 2019 à 12:13
Bonjour,

voilà pour créer des feuilles

Sub créer_onglets()
Dim n As Long
' boucle sur les lignes de Feuil1
For n = 6 To 40 
' ajoute une feuille en dernier
Sheets.Add After:=Sheets(Sheets.Count)
' renomme cette feuille avec le nom client
Sheets(Sheets.Count).Select
Sheets(Sheets.Count).Name = Sheets("Feuil1").Range("A" & n) 'MODIFIER Feuil1 si nécessaire
Next
 ' Repositionnement sur Feuil 1
Sheets("Feuil1").Select
End Sub


pour le graphique tout dépend des données qui sont sur la feuille1.

voir ceci:

https://www.mediaforma.com/vba-excel-trace-dun-graphique-vba/

0