Code pour dispatcher

Bonjour,

J'interviens pour rendre service a une demandeuse

j'ai trouvé ce code pour diviser une liste en plusieurs feuille de 30 lignes

le souci c'est qu'il crée les feuilles exemple de 1 à 31 ,de 31 à 61 etc alors qu'il ne devrait pas reprendre le 31 puisque déjà présent dans la feuille de 1 à 31

avez vous une solution au problème

je vous remercie ci-dessous le code

Option Explicit

Sub dispatcher()
    Dim i&, fin&, aa
    Application.ScreenUpdating = 0
    With Feuil1
        fin = .Range("A" & Rows.Count).End(3).Row
        For i = 1 To fin Step 30
            aa = .Range("A" & i & ": W" & i + 30)
            Sheets.Add after:=Sheets(Sheets.Count)
            ActiveSheet.Name = i & " à " & i + 30
            .Rows(1).Copy ActiveSheet.Rows(1)
            ActiveSheet.Range("A2").Resize(UBound(aa), UBound(aa, 2)) = aa
        Next i
    End With
    MsgBox "Listes Dispatchées", , "Traitement Terminé"
End Sub

Bonjour Joco7915

For i = 1 To fin Step 31

Puisque dans la boucle tu as "& i + 30" donc 1+30 = 31

A+

bonjour,

non testé

Sub dispatcher()
    Dim i&, fin&, aa
    Application.ScreenUpdating = 0
    With Feuil1
        fin = .Range("A" & Rows.Count).End(3).Row
        For i = 1 To fin Step 30
            aa = .Range("A" & i & ": W" & i + 29)
            Sheets.Add after:=Sheets(Sheets.Count)
            ActiveSheet.Name = i & " à " & i + 29
            .Rows(1).Copy ActiveSheet.Rows(1)
            ActiveSheet.Range("A2").Resize(UBound(aa), UBound(aa, 2)) = aa
        Next i
    End With
    MsgBox "Listes Dispatchées", , "Traitement Terminé"
End Sub

Bonjour Bruno45

Merci pour ta solution qui répond à la demande ,je transmet à la demandeuse

Bonne journée

Rechercher des sujets similaires à "code dispatcher"