Répartition de lignes dans différentes feuilles

Bonjour,

Après quelques recherches personnelles et sur ce forum, je n'ai pas trouvé la solution correspondant à ma situation.

J'ai un fichier, d'environ 50.000 lignes, que j'aimerai répartir par site sur des nouvelles feuilles.

La macro balaie la feuille contenant les données, la colonne 1 contient le numéro du site, et donc chaque ligne ayant le site 1 va sur la feuille x, site 2 = feuille y, ainsi de suite ...

j'ai fait la macro ci-dessous en m'aidant de l'automatisme excel et des mes connaissances très lointaine.

Sub Repartition()

'

' Test Macro

'

Dim i As Byte

'

i = 1

While i <= 3

Sheets("Feuil1").Select

ActiveSheet.Range("$A$1:$B$49").AutoFilter Field:=1, Criteria1:="i"

Cells.Select

Selection.Copy

Sheets.Add After:=Sheets(Sheets.Count)

ActiveSheet.Paste

i = i + 1

Wend

End Sub

Je vous remercie par avance de vos réponses.

Bonne soirée

Gildas

Bonjour,

essaie ceci, enlève les " autour du i

ActiveSheet.Range("$A$1:$B$49").AutoFilter Field:=1, Criteria1:=i

Bonjour,

Merci, c'était tout simple finalement

bonne journée

Re-Bonjour,

Pour éviter d'atteindre le maximum de feuille, je voudrais récupérer le numéro des sites sur une autre feuille.

Je m'explique : Les sites sont numérotés de 115 à 265, mais il n'y en a que 70 ... donc j'ai ajouté en "feuil1" la liste des sites à chercher dans le tableau des données.

Ma macro à jour correspond à ça :

Sub Repartition()

'

' Test Macro

'

Dim i As Byte ' défintion de la variable

Dim y As Byte

'

i = Worksheets("feuil1").Range("A1") ' intialisation de la variable

y = 1

While i <= 120

Sheets("non").Select

ActiveSheet.Range("$A$1:$B$49").AutoFilter Field:=1, Criteria1:=i ' la variable contenu dans i permet de filtrer les données

Cells.Select ' sélection des lignes à copier

Selection.Copy ' copier les données

Sheets.Add After:=Sheets(Sheets.Count) ' ajout d'une feuille

ActiveSheet.Paste ' coller les données

y = y + 1 ' +1 sur la variable y qui permet de récuperer le numéro du site

i = Worksheets("feuil1").Range("A1" + y) ' i récupère le numéro du prochain site à coller

Wend

End Sub

Malheureusement, il fait le 1er site puis : "Erreur d'éxecution 13, incompatibilité de type"

Je ne vois pas que faire

Encore merci de votre aide et aussi de votre réactivité que j'ai apprécié hier.

Bonne journée

J'ai fini par trouver la solution en modifiant la ligne

i = Worksheets("feuil1").Range("A1" + y) ' i récupère le numéro du prochain site à coller

par

i = Sheets("feuil1").Cells(y, 1) ' i récupère le numéro du prochain site à coller

Rechercher des sujets similaires à "repartition lignes differentes feuilles"