Création de feuille et vérification d’existence

Bonjour,

Je cherche à créer une nouvelle feuille de calcul pour chaque nouveau nom d'en une colonne.

Par exemple, feuille 1, colonne 1 :

A

A

B

C

D

Creer une feuille 2 "A", puis feuille 3 "B", etc

Voilà ce que j'ai écris :

Sub decoupage()

Range("F3:F20000").Select

For Each cell In Selection

Dim ws As Worksheet

Set ws = Sheets(cell.Value)

    If ws Is Nothing Then

        Sheets.Add.Name = cell.Value

    Else

    End If

Next cell

End Sub

"L'indice n'appartient pas à la sélection"

Je n'arrive pas à trouver la bonne méthode à insérer dans le If, quand pensez vous ?

Je précise que je débute

Bonjour,

Comme ceci :

Sub decoupage()

    Dim ws As Worksheet
    Dim Cell As Range

    For Each Cell In Range("F3:F20000")

        On Error Resume Next 'il te faut gérer l'erreur provoquée par l'absence de la feuille !
        Set ws = Sheets(Cell.Value)

        If ws Is Nothing Then

            Sheets.Add.Name = Cell.Value

        Else

        End If

    Next Cell

End Sub

Il te faut gérer l'erreur de la feuille absente avec un gestionnaire d'erreur comme "On Error Resume Next"

Bonjour à tous,

une autre solution, sans passer par les erreurs:

Sub decoupage()
Dim ws As Worksheet, Dico
Set Dico = CreateObject("Scripting.Dictionary")

For Each ws In Worksheets
    Dico(ws.Name) = ""
Next
With Worksheets("Feuil3") '  feuille où se trouvent les données. à adapter
For Each cell In .Range("F3:F" & .Range("F" & Rows.Count).End(xlUp).Row)
    If Not Dico.Exists(cell.Value) Then Sheets.Add.Name = cell.Value
Next cell
End With

A+

Bonjour,

Merci AlgoPlus !

Peux tu m'expliquer à quoi sert cette ligne :

For Each cell In .Range("F3:F" & .Range("F" & Rows.Count).End(xlUp).Row)

A part ça je comprend !

Merci

N'oublie pas Theze qui a proposé une solution en premier !!

.Range("F" & Rows.Count).End(xlUp).Row)

permet de déterminer la ligne de la dernière cellule utilisée de la colonne F

.Range("F3:F" & .Range("F" & Rows.Count).End(xlUp).Row)

détermine une plage de cellule allant de F3 à la dernière cellule utilisée de la colonne F

le . devant les range permet de rattacher range à une feuille précisée dans le with... qui précède

A+

Je n'avais même pas vu !

Merci à tous c'est plus clair

Bonne soirée A+

Rechercher des sujets similaires à "creation feuille verification existence"