Bonjour,
J'ai fixé les problèmes que vous avez trouvés. Le code suivant devrait maintenant fonctionner bien mieux pour vous :
splitVersion2 secondaire ()
Faible lastOrder, inkooporder comme corde
Faible rowCount comme nombre entier
lastrow = [b65536]. Extrémité (xlUp). Rangée
rowCount = 2
Colonnes (« A : S »). Choisi
ActiveWorkbook.Worksheets (« Sheet1 »). Sort.SortFields.Clear
ActiveWorkbook.Worksheets (« Sheet1 »). Clef de Sort.SortFields.Add : =Range (« C2 : C34 ») _
, SortOn : =xlSortOnValues, ordre : =xlAscending, DataOption : =xlSortNormal
Avec ActiveWorkbook.Worksheets (« Sheet1 »). Sorte
gamme de .SetRange (« A1 : S34 »)
. En-tête = xlYes
.MatchCase = faux
. Orientation = xlTopToBottom
.SortMethod = xlPinYin
. Appliquer
ActiveSheet.Cells (1, 1).Select
Finir avec
lastOrder = 0
Pour I = 2 au lastrow
inkooporder = feuilles (« Sheet1 »). Cellules (I, 3)
Sinon inkooporder = puis lastOrder
Worksheets.Add (ensuite : =Worksheets (1)). Nom = inkooporder
Feuilles (« Sheet1 »). Choisi
Cells.Select
Selection.Copy
Feuilles (inkooporder). Choisi
Cells.Select
Pâte de Selection.PasteSpecial : =xlPasteFormats, opération : =xlNone, _
SkipBlanks : Le =False, transposent : =False
Gamme (« A1 »). Choisi
Pour x = 1 à 19
Feuilles (inkooporder). Cellules (1, x) = feuilles (« Sheet1 »). Cellules (1, x)
Prochain x
rowCount = 2
Finir si
Pour x = 1 à 19
Feuilles (inkooporder). Cellules (rowCount, x) = feuilles (« Sheet1 »). Cellules (I, x)
Prochain x
rowCount = rowCount + 1
lastOrder = inkooporder
Après i
Feuilles (« Sheet1 »). Choisi
Gamme (« A1 »). Choisi
Sous-marin d'extrémité