Création de feuille a partir d'une liste

Bonjour tous le monde,

J'ai encore uen fois besoin de votre aide pour faire ce que mon esprit souhaite.

Dans le fichier ci joint :

46000-test.xlsm (257.24 Ko)

J'aurais dans le future la colonne A qui sera remplie par des mots. J'aimerais tous simplement qu'une macro me permette de creer automatiquement une nouvelle feuille lorsqu'une nouvelle ligne est ajoutée. Aussi, si la feuille existe déja, qu'il ne se passé rien.

Le but étant d'obtenir rapidement tous mes onglets car j'ai du le faire manuellement pour un autre fichier, et c'est très long.

Merci bcp pour votre aide

Cordialement,

Tanguy

Bonjour,

D'après ce que j'ai compris, vous pouvez créer un bouton qui lancera la macro "AjoutOnglets" :

'Fonction pour vérifier si un onglet existe à partir de son nom
Function FeuilExiste(f As String) As Boolean
    On Error Resume Next
    FeuilExiste = Not Sheets(f) Is Nothing
End Function
'Procédure pour créer les onglets inexistants de la colonne A
Sub AjoutOnglets()

Dim vide As Boolean
Dim LigneTableau As Integer
Dim ValeurATester As String

vide = False
LigneTableau = 15

While vide = False

    ValeurATester = Sheets("List of tasks").Range("A" & LigneTableau).Value

    If FeuilExiste(ValeurATester) = False Then
        Sheets.Add After:=Sheets("Tools box")
        ActiveSheet.Name = ValeurATester
    End If

    LigneTableau = LigneTableau + 1

    If Sheets("List of tasks").Range("A" & LigneTableau).Value = "" Then
        vide = True
    End If
Wend
End Sub

Si cette réponse résoud votre problème, n'hésitez pas à valider la réponse.

Bonne journée,

Cindy

Bonjour Tanguy

Une première piste :

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim Message As String
Dim NOM_Feuille

NOM_Feuille = ActiveCell
MsgBox NOM_Feuille
If Not Application.Intersect(Target, Range("A15:A300")) Is Nothing Then
On Error GoTo Message
 Sheets.Add After:=Sheets("Tools box")
 ' on donne comme nouveau nom à la feuille
 ActiveSheet.Name = NOM_Feuille
Exit Sub
Message:   MsgBox "cette feuille existe déjà"
ActiveSheet.Delete

End If
End Sub

sur la base de changement entre la cellule A15 et A300 .

Cela ajoute un onglet vide et le nomme avec le texte de la cellule

On peut aussi dupliquer une feuille en lui donnant le nom de la cellule et éventuellement la pré-remplir, mais ne sachant pas quel onglet dupliquer je suis resté sur la version basique

Super merci beaucoup pour votre travail, c'est exactement ce a quoi je pensais.

Mille merci

Rechercher des sujets similaires à "creation feuille partir liste"