nouveau tableau

azzouzze

XLDnaute Junior
bonjour,

J'ai un tableau de données à partir duquel, je récupère le nombre d'élémént pas personnes. et en fait un nouveau tableau.
Je voudrai savoir s il est possible à partir du nouveau tableau :
- faire une nouvelle page avec un tableau qui reprend chaque colonne mais trier pour chaque colonne.

exemple de nouveau tableau:

personne val1 val2
julien 18 24
marie 22 45
francois 10 88

je veux faire deux nouveau tableau qui seront des tries sur chaque colonne (afin de faire des graph de pareto):

tableau N°1
personne val1
marie 22
julien 18
Francois 10


tableau N° 2
personne val2
francois 88
marie 45
julien 24


Merci d'avance
 

Excel-lent

XLDnaute Barbatruc
Re : nouveau tableau

Bonjour Azzouzze,

Pour le trie de tes 2 nouveaux tableau trié, tu n'as pas dit comment tu voulais les trier!

Par défaut, j'ai les ai triés en fonction de la colonne "Valeur x" dans l'ordre décroissant.

Voici ci-joint la macro (elle s'adapte automatiquement en fonction du nombre de ligne du tableau principal).

Bonne après midi
 

Pièces jointes

  • Création 2 tablo trié.xls
    27.5 KB · Affichages: 75

azzouzze

XLDnaute Junior
Re : nouveau tableau

WAW merci désolé de ne pas avoir été précis.
une dernieère chose, est il possible de supprimer les lignes ou la valeur est nulle dans le nouveau tableau? et de faire deux nouvelles colonne avec le pourcentage et le pourcentage cumulé?

Merci beaucoup
 

Catrice

XLDnaute Barbatruc
Re : nouveau tableau

Re,

J'ai quelques metros de retard, mais voici mon code corrigé, qui trie et qui ne copie pas les lignes à zéro...
A suivre ...

J'ai un également un peu "lighté" le code de Excel-lent

Sub Tablo()
'Excel-lent le 21/09/07
Dim derligne As Integer
derligne = Range("a1").End(xlDown).Row
'Constitution 1er tableau
Range(Cells(1, 1), Cells(derligne, 2)).Copy (ActiveSheet.Range("E1"))
'tri 1er tableau
Cells(1, 5).Sort Key1:=Cells(2, 6), Order1:=xlDescending, Header:=xlYes
'Constitution 2ème tableau
Range(Cells(1, 1), Cells(derligne, 1)).Copy (ActiveSheet.Range("H1"))
Range(Cells(1, 3), Cells(derligne, 3)).Copy (ActiveSheet.Range("I1"))
'tri 2ème tableau
Cells(1, 8).Sort Key1:=Cells(2, 9), Order1:=xlDescending, Header:=xlYes
End Sub
 

Pièces jointes

  • nouveau tableau2.xls
    28 KB · Affichages: 61
Dernière édition:

Excel-lent

XLDnaute Barbatruc
Re : nouveau tableau

Bonjour Catrice,

Merci pour ton nettoyage de printemps, je vais étudier cela pour améliorer ma technique.

Azzouze, n'ayant pas vu le message de Catrice à temps, je n'ai pas pris en compte son code. Donc tu trouveras mon code surement long et fastidieux, mais il fonctionne.

Tous les chemins conduisent à Rome! :D
 

Excel-lent

XLDnaute Barbatruc
Re : nouveau tableau

Slt,

Pourtant je n'arrive pas à la cheville de Catrice!

Pour le PS1. : Cells(n° ligne, n° colonne)

Pour le PS2. :
Code:
For x = 2 To derligne
    If Cells(x, ColPourcentage - 1) = 0 Then
    Range(Cells(x, ColPourcentage - 2), Cells(x, ColPourcentage - 1)).Select
    Selection.Delete Shift:=xlUp
    End If
Next x

Edition : pas la peine de te casser la tête avec mon code, celui de Catrice gére les valeurs nulls
 
Dernière édition:

Excel-lent

XLDnaute Barbatruc
Re : nouveau tableau

??? Le code ci-dessus sélectionne et efface les lignes vide!
Il ne sélectionne pas les zone renseigné et non nulle!

L'idéal :
-> reprend le code de Catrice, plus simple et plus léger que le mien (gére les cellules nulls)
-> rajoute la création des colonnes "%age" et "%age cumulé" en t'inspirant de mon code

=> tu obtiendras ainsi ce que tu voulais au départ.

PS. : si à ton tour, tu pouvais aider quelqu'un se sera sympa ;)
 

Discussions similaires

Réponses
4
Affichages
306
Réponses
36
Affichages
2 K

Statistiques des forums

Discussions
312 338
Messages
2 087 396
Membres
103 534
dernier inscrit
Kalamymustapha