excel créer une nouvelle feuille si vrai

J'ai le problème suivant: j'ai une feuille excel avec 5000 lignes et 50 colonnes. je dois copyr et coller des feuilles et exporter des valeurs de cellules spécifiques en ligne dans la première feuille sur cette feuille, mais si la valeur de B1 et B2 est identique, ne créez pas une autre feuille, mais copyz-la dans la même feuille sous la première ligne . J'ai ajouté la condition "07" parce que je ne veux pas que Excel crée 5000 feuilles en un seul process. Jusqu'à présent, j'ai ceci:

Sub Button1_Click() Dim newsheetname As Ssortingng Dim isometry As Ssortingng Application.ScreenUpdating = False Worksheets("Sheet1").Activate x = 2 Do While Cells(x, 4) <> "" If Cells(x, 1) = "07" Then Sheets(Sheets.Count).Select Cells(33, 2) = Sheet1.Cells(x, 4) Cells(33, 28) = Sheet1.Cells(x, 32) End If If Cells(x, 4) <> Cells(x + 1, 4) Then Sheets("template").Copy After:=Sheets(Sheets.Count) ActiveSheet.Name = isometry End If isometry = Sheet1.Cells(x + 1, 4) x = x + 1 Worksheets("Sheet1").Activate Loop End Sub 

Je sais que mon "code" est très simple et n'est pas parfait, je commence par VBA. Quelqu'un conseille comment le compléter, je suppose que c'est presque terminé, mais je me manque de la string pour la "nouvelle" feuille, maintenant, j'ai une erreur en disant que je ne peux pas avoir 2 feuilles avec le même nom, bien sûr. Merci

 Sub Button1_Click() Dim newsheetname As Ssortingng Dim isometry As Ssortingng Dim newSheet As Worksheet Application.ScreenUpdating = False x = 2 'Go down the Sheet1 until we find a blank cell in column 4 Do While Worksheets("Sheet1").Cells(x, 4) <> "" 'If we find the value 07, copy two values to the isometry sheet If Sheet1.Cells(x, 1) = "07" Then isometry = Sheet1.Cells(x, 4) 'create the sheet if it does not exist If Not SheetExists(isometry) Then Sheets("template").Copy After:=Sheets(Sheets.Count) Sheets(Sheets.Count).Name = isometry End If 'Copy our data Sheets(isometry).Cells(33, 2) = Sheet1.Cells(x, 4) Sheets(isometry).Cells(33, 28) = Sheet1.Cells(x, 32) End If 'Move on to the next row x = x + 1 Loop Application.ScreenUpdating = True End Sub Function SheetExists(isometry) As Boolean Dim exists As Boolean exists = False For Each Sheet In Worksheets If Sheet.Name = isometry Then exists = True Exit For End If Next SheetExists = exists End Function