[EXCEL] trier vers des tableaux (création)
Fermé
dom
-
22 janv. 2007 à 11:37
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 27 janv. 2007 à 09:30
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 27 janv. 2007 à 09:30
A voir également:
- [EXCEL] trier vers des tableaux (création)
- Trier tableau excel - Guide
- Liste déroulante excel - Guide
- Creation compte gmail - Guide
- Si et excel - Guide
- Tableau croisé dynamique excel - Guide
3 réponses
xkristi
Messages postés
4264
Date d'inscription
lundi 18 décembre 2006
Statut
Membre
Dernière intervention
19 août 2022
564
22 janv. 2007 à 16:55
22 janv. 2007 à 16:55
ton tableau est une feuille Excel ???????
ou déjà un tableau croisé dynamique ?
ou déjà un tableau croisé dynamique ?
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 714
23 janv. 2007 à 09:09
23 janv. 2007 à 09:09
bonjour
Voici une macro qui devrait te donner satisfaction.
Pour chaque colonne d'inscription, elle crée une feuille,
du nom de ta colonne et tu peux relancer
car après elle fonctionne aussi en mise à jour.
Tu copies la macro ci-dessous dans le code VBA de ta feuille,
puis tu l'exécutes et tu as tes sélections dans chaque feuille crée.
Public i As Integer 'inscrit
Public k As Integer 'colonne
Public f As Integer 'feuille
Public l As Integer 'ligne
Public p As Integer 'present
Option Explicit
Public Sub extrac()
For k = Cells(1, 256).End(xlToLeft).Column To 3 Step -1
p = 0
For f = 1 To Sheets.Count
If Cells(1, k).Value = Sheets(f).Name Then
p = 1 'la feuille existe
Exit For
End If
Next f
If p = 0 Then 'création feuille
Sheets.Add(, Sheets(1)).Name = Cells(1, k).Value
Sheets(1).Activate
Else 'initialisation feuille
Sheets(f).Cells(1, 1).Resize(65356, 2).ClearContents
End If
i = 0 'sélection d'une colonne
For l = 2 To Cells(65356, 1).End(xlUp).Row
If Not Cells(l, k).Value = "" Then
i = i + 1
Sheets(Cells(1, k).Value).Cells(i, 1).Value = Cells(l, 1).Value
Sheets(Cells(1, k).Value).Cells(i, 2).Value = Cells(l, 2).Value
End If
Next l
Next k
End Sub
un classeur de test est ici : https://www.cjoint.com/?bxjdgDOZRG
Si c'est vraiment un classeur à créer, c'est possible aussi,
il suffit de demander...
Voici une macro qui devrait te donner satisfaction.
Pour chaque colonne d'inscription, elle crée une feuille,
du nom de ta colonne et tu peux relancer
car après elle fonctionne aussi en mise à jour.
Tu copies la macro ci-dessous dans le code VBA de ta feuille,
puis tu l'exécutes et tu as tes sélections dans chaque feuille crée.
Public i As Integer 'inscrit
Public k As Integer 'colonne
Public f As Integer 'feuille
Public l As Integer 'ligne
Public p As Integer 'present
Option Explicit
Public Sub extrac()
For k = Cells(1, 256).End(xlToLeft).Column To 3 Step -1
p = 0
For f = 1 To Sheets.Count
If Cells(1, k).Value = Sheets(f).Name Then
p = 1 'la feuille existe
Exit For
End If
Next f
If p = 0 Then 'création feuille
Sheets.Add(, Sheets(1)).Name = Cells(1, k).Value
Sheets(1).Activate
Else 'initialisation feuille
Sheets(f).Cells(1, 1).Resize(65356, 2).ClearContents
End If
i = 0 'sélection d'une colonne
For l = 2 To Cells(65356, 1).End(xlUp).Row
If Not Cells(l, k).Value = "" Then
i = i + 1
Sheets(Cells(1, k).Value).Cells(i, 1).Value = Cells(l, 1).Value
Sheets(Cells(1, k).Value).Cells(i, 2).Value = Cells(l, 2).Value
End If
Next l
Next k
End Sub
un classeur de test est ici : https://www.cjoint.com/?bxjdgDOZRG
Si c'est vraiment un classeur à créer, c'est possible aussi,
il suffit de demander...
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 714
27 janv. 2007 à 09:30
27 janv. 2007 à 09:30
bonjour
Pas de nouvelles pour ma solution ?
Pas de nouvelles pour ma solution ?
22 janv. 2007 à 17:25
Simplement quend je récupère ca, j'en ai à chaque fois pour la journée à faire des filtre/copier/collé pour récupérer les listes des inscrits aux 150 trucs...