Separer liste

Bonjour le forum,

J'ai besoin d'aide pour une macro...

J'ai dans le fichier joint une liste onglet choupi (dont le nombre de lignes varie)

Ce que je veux c'est obtenir les onglets resultats1 et resultat2...

Le critere pour les trier ? si colonne A ca passe d'une valeur a une autre alors on crée un onglet avec la nouvelle valeur

Je souhaiterais que la colonne de titre soit conservée pour les onglets resultats

Juste pour info jamais plus de 3 changements donc jamais plus de 3 onglets à créer

Merci

4exple.zip (3.16 Ko)

Bonjour,

Si onglet existe déjà, il est remplacé, sinon créé.

Sub Feuilles()
Dim Lg&, Cel As Range, f$
'macro Claude pour choupi_nette le 08/12/2011
    Application.ScreenUpdating = False
    '--- extrait liste Titre 1 ---
    With Sheets("choupi")
        Lg = .Range("a" & Rows.Count).End(xlUp).Row
        .Range("t1") = .Range("a1")     'en-tête critère
        .Range("a1:a" & Lg).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=.Range("u1"), Unique:=True

        '--- création feuilles ---
        For Each Cel In .Range("u2:u" & .[u65000].End(xlUp).Row)
            f = Cel
            On Error Resume Next
            Application.DisplayAlerts = False
            Sheets(f).Delete            'supprime feuille si existe
            On Error GoTo 0
            Sheets.Add.Name = Cel       'ajoute feuille
            f = Cel
            .Activate
            '--- filtre ---
            .Range("t2") = Cel          'critère
            .Range("a1:q" & Lg).AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
            .Range("t1:t2"), CopyToRange:=Sheets(f).Range("a1:q1"), Unique:=False
        Next Cel
        .Range("t1:u5").ClearContents
    End With
End Sub

Bonne journée

Claude

Cher Dubois,

Un seul mot a dire c'est parfait...

Merci beaucoup

A+

Choupi

RE,

j'ai deux questions:

Les onglets nouvellement crés par la macro, peuvent ils etre supprimés au debut de la macro suivante si ils ont été crées ? ou est-ce trop compliqué à programmer ?

Est il possible d'inclure seulement sur les onglets nouvellement crés par la macro un export de chacun en csv ?

Je sais faire l'export csv en macro mais pas lui dire qu'il prenne seulement les onglets generés par cette macro

Merci

re,

remplace la dernière ligne

.Range("t1:u5").ClearContents

par celle-ci

.Range("t1:t2").ClearContents

il te restera en colonne "U" de la feuille "choupi", la liste des onglets nouvellement crées

pour le reste, je ne sais pas

Claude

ok merci pour tes lumieres

A +

Choupi

si tu peux t'en sortir comme çà

Rechercher des sujets similaires à "separer liste"