Copier et sortinger la macro en vba

Je suis en train de concevoir une macro qui copyra et sortinger des données par une key dans vba. J'ai commencé à écrire le code et ça a fonctionné bien jusqu'à maintenant, mais pour une raison quelconque, je reçois une erreur Object Required à la ligne: Set rng1 = SourceData.Cells.Range("A2:A" & N) . Je ne sais pas pourquoi cela se produit. Toute aide serait grandement appréciée.

 Sub crossUpdate() Dim rng1 As Range, rng1Row As Range N = Cells(Rows.Count, "A").End(xlUp).row Sheet1.Cells.Select Selection.Copy Sheets.Add.Name = "SourceData" ActiveSheet.Paste Range("A1").Select Set rng1 = SourceData.Cells.Range("A2:A" & N) Set rng1Row = rng1.EntireRow rng1Row.Sort Key1:=Range("A1") End Sub 

Vous obtenez une erreur car SourceData n'est pas une chose. Il semble que cela soit censé être une feuille de travail ou une gamme ou quelque chose, mais vous ne l'avez pas déclaré, et vous ne l'avez pas non plus défini.

Mise à jour: SourceData est une feuille. Pour vous référer à une fiche par nom, vous devez utiliser Sheets("Sheetname") . En outre, il n'est pas nécessaire de se référer aux cells de la feuille pour get une plage spécifique dans la feuille, allez directement dans la plage: Sheets("SourceData").Range("A2:A" & N)