reorganiser un tableau avec une macro ou autre ?

assniok

XLDnaute Occasionnel
Bonjour a tous,

dans mon tableau excel (joint) je voudrais avoir la possibilité de réorganiser les lignes de celui ci.

Je m'explique :)

lorsque dans mon tableau une date est entrée dans la colone I, la ligne est grisée par une MFC.

Mon probleme est que dans la realité mon tableau comporte des centaines de lignes, et j'aimerais qu'une fois grisées, les lignes soient automatiquement misent en début de tableau pour n'avoir que les taches à réaliser groupées en fin de tableau...

est ce que cela est possible et si oui, pouvez vous m'orienter ?

merci d'avance pour votre aide ;)
 

Pièces jointes

  • exemple.xls
    20.5 KB · Affichages: 120
  • exemple.xls
    20.5 KB · Affichages: 115
  • exemple.xls
    20.5 KB · Affichages: 112

smotty

XLDnaute Occasionnel
Re : reorganiser un tableau avec une macro ou autre ?

Salut,


Essaie ça, je l'ai fait sous 2007, j'espère que ça sera compatible.

Il te suffit de rentrer une date

Sous 2007 le grisé se fait automatiquement, sous 2003, je ne sais pas

A+
 

Pièces jointes

  • exemple(1).xls
    45.5 KB · Affichages: 113
  • exemple(1).xls
    45.5 KB · Affichages: 102
  • exemple(1).xls
    45.5 KB · Affichages: 109

assniok

XLDnaute Occasionnel
Re : reorganiser un tableau avec une macro ou autre ?

merci de ton aide ;)

cependant, sous excel 2003, j'ai un message d'erreur apres avoir entré la date :

Erreur d'execution '438':
Propriété ou méthode non gérée par cet objet

a priori, ça bloque sur With ActiveWorkbook.Worksheets("Feuil1").Sort

une idée ?
 

smotty

XLDnaute Occasionnel
Re : reorganiser un tableau avec une macro ou autre ?

Certainement une incompatibilité 2003/2007

Je verrai ce soir depuis mon ordi perso pour te proposer une aleternative 2003.

Sinon, si tu connais vba, tu peux enregistrer une macro en faisant le tri manuellement et adapter le code.

Car c'est juste à ce niveau que ça bloque.

Sinon, je te tiens au courant...

A+
 
G

Guest

Guest
Re : reorganiser un tableau avec une macro ou autre ?

Bonjour Assniok,Smothy

Voici une macro:

Code:
Sub TrierFaitLe()
'Active la feuille nommée "Feuil1" si la macro est appelée d'une autre feuille
    If ActiveSheet.Name <> "Feuil1" Then Sheets("Feuil1").Activate
    'Trier le tableau sur la colonne Fait le:
    Range("A1:K1").CurrentRegion.Sort Key1:=Range("I2"), Order1:=xlAscending, Header:= xlYes, OrderCustom:=1, MatchCase:=False
End Sub

A bientôt
 

assniok

XLDnaute Occasionnel
Re : reorganiser un tableau avec une macro ou autre ?

petite suggestion :)

serait-il possible de réaliser deux actions suplementaires dans cette macro :

1) Effacer le contenu de la cellule E si la ligne est grisée ?

2) Trier les lignes grisées et les autres entres elles en fonction de leur date de la colonne A ? (pour avoir en tête du tableau les lignes grisées classées de la plus ancienne date a la plus recente en fonction de la colonne A, et pareil pour les lignes non grisées en dessous...)

question, subsidiaire ^^

est il possible d'avoir une macro permettant de masquer/afficher via un bouton ces lignes grisées et que ce soit egalement valable pour l'impression... (si je souhaite masquer les lignes grisées, j'imprime uniquement les lignes non grisées...) ??

merci d'avance pour votre aide et bonne journée :)
 
Dernière édition:
G

Guest

Guest
Re : reorganiser un tableau avec une macro ou autre ?

Bonjour Assniok,

comme nous ne sommes pas au marché à la macro, d'autant plus gratuit, je vais te demander un petit effort:

Pour le tri comme tu le souhaites, fais des essais avec l'enregistreur de macro. Puis lorsque tu as obtenu ce que tu voulais(tri sur colonne I et A), essaies d'adapter ce que l'enregistreur de macro t'aura donné avec la macro que tu as déjà, en essayant de comprendre ce que je t'ai donné. Fait appel à l'aide d'excel.

Ensuite reviens ici si tu as des problèmes.

A bientôt
 

assniok

XLDnaute Occasionnel
Re : reorganiser un tableau avec une macro ou autre ?

salut :)

oui, j'essaye toujours de comprendre ce que je fais ou ce que l'on me donne, histoire d'avancer... et je me sers bien sur de l'aide excel ;)

j'ai bien essayé d'enregistrer des macros pour tester... mais le meilleur resultat que j'obtiens est avec ce code :

Code:
Range("A1:K1").CurrentRegion.Sort _
    Key1:=Range("I2"), Order1:=xlAscending, _
    Key2:=Range("A2"), Order2:=xlAscending, Header:=xlYes, OrderCustom:=1, MatchCase:=False

cependant, ça ne trie pas comme je le souaite exactement...

dans l'ideal, il me faudrait une fonction si la dedans mais je n'y arrive pas :(

pour faire un tri suivant la colonne A dans un premier temps si I contient une date, puis toujours un tri sur la colonne A si I est vide...

je vais continuer a chercher... si vous avez des idées, je reste bien sur preneur ;)

@+
 

assniok

XLDnaute Occasionnel
Re : reorganiser un tableau avec une macro ou autre ?

en fait je voudrais avoir les lignes grisées en entête du tableau (en premier) et classées pas date (colonne A)
a la suite, j'aimerais avoir les lignes non grisées, elles aussi classées par date (colonne A)...
le truc, c'est d'avoir deux plages distinctes (les grisées et les non grisées) pour pouvoir les classer entres elles....

pas facile d'etre clair...

en fait, ce que j'essaye de faire c'est ça :

Si I=date, alors on classe les lignes grisées (puisque SI I contient une date, la ligne est grisée) suivant leur date et on les met en entête du tableau

ensuite, les autres lignes, ou I=rien, on les classes entres elles a la suite des lignes grisées...

je ne sais pas si c'est plus clair ?

je pense que cela est possible, mais surement avec des fonctions que je ne connais pas....
 
Dernière édition:
G

Guest

Guest
Re : reorganiser un tableau avec une macro ou autre ?

Assniok,

Voici une solution automatisée avec le tri comme on l'a dit précédement et qui fait ce que tu veux. Les cellules grisées se retrouve en haut et les cellules non grisée en bas.

La seule différence dans ce fichier c'est que le tri est effectué dès qu'une valeur de la colonne I du tableau est changée (voir le module de code de Feuil1)

A+
 

assniok

XLDnaute Occasionnel
Re : reorganiser un tableau avec une macro ou autre ?

le fait que le code s'execute des qu'une date est entrée me convient sans pb, par contre ça ne me trie toujours pas suivant les dates de la colonne A...

j'ouvre ton fichier, je met la date d'aujourd'hui dans la cellule I7, dont la cellule A7 est a la date du 12/10/2008, or cette ligne vient se placer en derniere position car elle se trie sur la colonne I...

En fait, la colonne I est pour moi une condition de trie.. mais ne sert pas de reference pour le trie...
 

Discussions similaires

Statistiques des forums

Discussions
312 166
Messages
2 085 899
Membres
103 024
dernier inscrit
rdge