Grouper et créer un plan

andré

XLDnaute Barbatruc
Bonjour à vous tous,

Une base de données de quelques milliers de lignes.
En colonne A un code composé de maximum 4 lettres, exemple : A, ou CHG, ou XY, ou LJEF, ...
Le tri se fait sans problème.

Je souhaite grouper et créer un plan automatique(menu Données), en cascade, donc à 3 niveaux, sur base du nombre de caractères du code (idem à la MFC mise en place).
Cela ne fonctionne évidemment pas !

En pièce jointe un exemple, établi manuellement, de ce que je voudrais obtenir de façon automatisée.

Le problème est qu'il n'y a pas moyen de trier un plan, si ce n'est dans chaque division.
Pour trier, il faut donc effecer le plan (cette fonction existe), mais je n'ai pas envie de le recréer manuellement à chaque fois.

Quelqu'un a-t-il déjà été confronté à ce problème ?
Je vous en remercie d'avance.

Â+ [file name=PlanLettres.zip size=2040]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/PlanLettres.zip[/file]
 

andré

XLDnaute Barbatruc
Salut Abel, salut le forum,

Abel a eu la gentilesse de m'écrire une macro qui trie un plan.

Problème : lorsque le plan est fermé et que la macro est lancée il y a un bug.

Si on clique sur 'continuer', le tri se fait, le plan s'ouvre et les en-têtes de colonnes sont également triées (ce qui n'est pas souhaité).

Ne faudrait-il pas y ajouter une ligne qui ouvre d'abord le plan ?
Mais je suis totalement incapable de le faire moi-même.

Si quelqu'un d'entre-vous avait le temps d'y jeter un coup d'oeil et de me dépanner ?

Je vous en remerdcie d'avance.
@Â+ [file name=PlanLettreV5.zip size=15701]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/PlanLettreV5.zip[/file]

Message édité par: andré, à: 23/02/2006 17:22
 

Abel

XLDnaute Accro
Bonjour andré, le forum,

Dans la procédure de tri, il faut faire une petite correction :

Selection.Sort Key1:=Range('A' & DebutTableau + 1), Order1:=xlAscending, Key2:=Range('B' & DebutTableau + 1) _
, Order2:=xlAscending, Header:=xlYes, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom


Remplace 'header:=xlguess' par 'header:=xlyes'.

Une petite erreur de ma part. C'est pour dire à la macro qu'il y a une ligne de titre à prendre en compte lors du tri.
C'est marrant, parce que sur mon fichier joint, ça marchait avec le 'xlguess'.

A+

Abel.

Edition :
Par contre la première référence doit faire un caractère de long.
Je regarde pour le cas où cette première référence fait plus de un caractère.

Message édité par: Abel, à: 24/02/2006 09:55
 

andré

XLDnaute Barbatruc
Bonjour Abel,
salut le forum,

Je viens de faire la modification, c'est parfait !
Comme quoi les macros c'est comme les formules, la moindre petite erreur de syntaxe, et ça buge !

Je te remercie une fois de plus.
A titre de revanche (j'espère) pour l'une ou l'autre formule (lol).

Â+
 

Discussions similaires

Réponses
5
Affichages
205

Statistiques des forums

Discussions
312 198
Messages
2 086 107
Membres
103 120
dernier inscrit
83400ren