Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel
Excel Forum d'entraide sur Excel. Vos questions sur les fonctions, formules, manipulations, et tout sujet qui ne trouve pas sa place dans un sous-forum.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/10/2011, 16h22   #1
Invité de passage
 
Inscription : octobre 2011
Messages : 1
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : octobre 2011
Messages : 1
Points : 0
Points : 0
Par défaut générer feuilles selon conditions

Bonjour à tous,

J'aimerai pouvoir générer des feuilles dans excel à partir d'une donnée dans une colone d'un tableau.

Par exemple si ai 10 lignes contenant la donnée CHAT dans la colone E et que j'ai 20 lignes contenant la donnée CHIEN dans le colonne E, je voudrais que toutes les lignes ayant la donnée CHAT en E soient copiées dans une nouvelle feuille et que toutes les lignes contenant la donné CHIEN le soit aussi dans une autre nouvelle feuille, ainsi de suite.

J'ai en effet, une soixantaine de données différentes dans cette colone E avec un certain nombre de lignes ayant la même donnée en E, et donc je ne voudrais pas avoir à créer 60 feuilles manuellement et copier 60 fois ces lignes manuellement dans chacune de ces feuilles.

Je ne sais pas si en + de cela il est possible de donner aux feuilles générées le nom de la donnée de la colone E afin qu'elle soit nommée directement.

Merci d'avance pour votre aide.

Cordialement.
copernik est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/10/2011, 16h43   #2
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Bonjour,

En supposant que les données soient sur Feuil2 avec une ligne d'entêtes :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Sub Test1()
    'Réf. 111020.xlsm copernik
    Dim Dico As Object, c As Range
    Set Dico = CreateObject("Scripting.Dictionary")
    With Sheets("Feuil2")
        For Each c In .Range(.[E1], .Cells(.Rows.Count, 5).End(xlUp))
            If Not Dico.exists(c.Value) Then
                Dico.Add c.Value, c.Value
            End If
        Next c
        For Each Item In Dico.items
            Sheets.Add.Name = Item
            .[E1].AutoFilter 5, Item
            .AutoFilter.Range.SpecialCells(xlCellTypeVisible).EntireRow.Copy [A1]
        Next Item
    End With
End Sub
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h35.


 
 
 
 
Partenaires

Hébergement Web