| ||||||||
Petit astucien | Bonjour à tous, A partir d'un tableau XLS, j'ai fais des sous-totaux, mais ces derniers s'affichent dans la même colonne que les données composant ces sous-totaux. Est-il possible d'afficher ces sous-totaux dans un colonne à droite des données (4è colonne dans l'exemple ci dessous) . Sinon comment classer ces sous-totaux par ordre croissant ou décroissant (du + grand au plus petit ou vice versa) tout en conservant l'intégralité des données des colonnes date, nom, et montant? Remerciements pour votre aide. En pièce jointe exemple de fichier Modifié par mpbn le 04/05/2007 20:05 | |||||||
Publicité | ||||||||
| ||||||||
Astucien ![]() | Bonsoir, Je pense qu'on pourrait t'aider plus efficacement si tu nous faisais parvenir une petit fichier de démonstration. Pour cela tu peux aller sur http://cjoint.com/index.php. | |||||||
Petit astucien |
mpbn, tu ne devrais pas mettre ton adresse mail dans tes messages, tu risques d'être envahi de spams. Bonne journée,
| |||||||
![]() | bonjour, C'est vrai que la question est vraiment floue... Tu peux bien mettre tes sous-totaux ou tu veux et les trier comme tu veux. : il suffit que la plage de référence soit indiquée de manière absolue. Une possibilité A+ Modifié par galopin01 le 04/05/2007 21:54 | |||||||
![]() ![]() | Bonjour, Ce n'est pas tout à fait cela mais si tu insères une colone tu pourrais y indiquer un n° d'ordre avec la fonction rang. Pour décaller le sous total dans une autre colonne, il suffit de le glisser jusqu'à la cellule à côté Chronologiquement veut dire dans l'ordre en fonction de la date ou de l'heure. Ce que tu as voulu dire est tout simplement l'ordre croissant ou décroissant "tout en conservant l'intégralite des ..." peut-être ! et sans doute certainement avec une macro
| |||||||
Petit astucien | Marmotte18 a écrit :
| |||||||
Astucien ![]() | Bonjour, Je te propose 2 approches de la solution : - l'une, en utilisant (Données < Sous-totaux) : 2ème feuille tu peux cliquer sur les chiffres 1, 2 ou 3 se trouvant en haut à gauche dans la marge tu peux aussi cliquer sur les signes + ou - afin de faire apparaître les lignes détail ou les faire disparaître momentanément - l'autre, par voir de formules : 3ème feuille le tri se fait alors manuellement NB : il existe aussi une 3ème méthode, c'est de faire une macro Modifié par Marmotte18 le 04/05/2007 20:54 | |||||||
![]() | bonsoir, Dans cette démo l'exemple de marmotte18 à été combiné avec le mien pour le tri automatique par macro A+ Modifié par galopin01 le 04/05/2007 21:42 | |||||||
Astucien ![]() | Bonjour, Pour galopin01 : Joli ton code ! Pourrais-tu me l'expliquer, instruction par instruction, en français ? Merci par avance Modifié par Marmotte18 le 05/05/2007 06:50 | |||||||
![]() | bonjour, Application.EnableEvents = False 'empêche la macro de tourner en boucle, sinon l'évènement calculate serait appelé à chaque tri par le recalcul des sommeprod. Set Arr = Range("E2").CurrentRegion 'définit la zone à trier (doit être délimitée par des lignes et colonnes vides) Arr.Resize(Arr.Rows.Count, Arr.Columns.Count).Sort [F2], xlAscending 'est sensé redéfinir la zone à trier (inutile dans ce cas car il n'y a pas d'en tête, j'ai juste oublié de le supprimer resize agit un peut comme offset et est d'ailleurs souvent utilisé conjointement pour produire un décalage. A+ | |||||||
Astucien ![]() | Merci galopin01 pour ton explication ! Encore une question : Que représente [F2] ? | |||||||
![]() | [F2] est l'équivalent de Range("F2") ainsi on peut écrire par exemple : [F2].Select Attention cette méthode expéditive dans des codes brefs peut s'avérer couteuse en temps de traitement dans des boucles. A+ | |||||||
Petit astucien | Marmotte18 a écrit :
| |||||||
Astucien ![]() | Bonjour mpbn et galopin01, Merci galopin01 pour ton explication complémentaire. Je vais garder ta macro précieusement en mémoire ! | |||||||
|
Les bons plans du moment PC Astuces | Tous les Bons Plans | ||||||||||||||||||
|