Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

tri d'un tableau par date

Eclipto

XLDnaute Junior
BOnjour,

J'ai mis les explications sur le fichier
 

Pièces jointes

  • Classeur1.xls
    42.5 KB · Affichages: 97
  • Classeur1.xls
    42.5 KB · Affichages: 100
  • Classeur1.xls
    42.5 KB · Affichages: 93

pierrejean

XLDnaute Barbatruc
Re : tri d'un tableau par date

Re

Le mieux est de copier integralement la feuille dans le nouveau classeur
Sinon copier la macro du module de la feuille dans le module de la feuille concernée du nouveau classeur
Ensuite il faut transferer integralement les macros du module1 dans un module standard du nouveau classeur
 

Eclipto

XLDnaute Junior
Re : tri d'un tableau par date

Merci
ca marche...
Mais est il possible intégré ta macro dans celle-ci pour quelle s'applique en même temps si c'est possible...


Code:
Sub Infos()
'
' Infos Macro
'

'
    ActiveCell.FormulaR1C1 = _
        "=IF(ISERROR(INDEX(extract!R1C6:R1500C7,MATCH(SMALL(extract!R1C6:R1500C6,COLUMN()-2),extract!R1C6:R1500C6,0),2)),"""",INDEX(extract!R1C6:R1500C7,MATCH(SMALL(extract!R1C6:R1500C6,COLUMN()-2),extract!R1C6:R1500C6,0),2))"
    Range("C1").Select
    Selection.AutoFill Destination:=Range("C1:IV1"), Type:=xlFillDefault
    Range("C1:IV1").Select
  
    Rows("1:1").EntireRow.AutoFit
    Range("C2").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(ISERROR(LOOKUP(R[-1]C,extract!RC7:R[1500]C7,extract!RC14:R[1500]C14)),"""",LOOKUP(R[-1]C,extract!RC7:R[1498]C7,extract!RC14:R[1498]C14))"
    Range("C2").Select
    Selection.AutoFill Destination:=Range("C2:IV2"), Type:=xlFillDefault
    Range("C2:IV2").Select

    Range("C3").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(ISERROR(LOOKUP(R[-2]C,extract!R[-1]C7:R[1497]C7,extract!R[-1]C9:R[1497]C9)),"""",LOOKUP(R[-2]C,extract!R[-1]C7:R[1497]C7,extract!R[-1]C9:R[1497]C9))"
    Range("C3").Select
    Selection.AutoFill Destination:=Range("C3:IV3"), Type:=xlFillDefault
    Range("C3:IV3").Select
 
    Range("C4").Select
    ActiveCell.FormulaR1C1 = _
        "=SUMPRODUCT((extract!R2C13:R1500C13=R[-1]C1)*(extract!R2C7:R1500C7=R1C)*(((R[-1]C2=""S"")*extract!R2C30:R1500C30)+((R[-1]C2=""E"")*extract!R2C22:R1500C22)))"
    Range("C4").Select
    Selection.AutoFill Destination:=Range("C4:C109"), Type:=xlFillDefault
    Range("C4:C109").Select
    Selection.AutoFill Destination:=Range("C4:IV109"), Type:=xlFillDefault
    Range("C4:IV109").Select
 
Dernière édition:

Eclipto

XLDnaute Junior
Re : tri d'un tableau par date

Quand j'essaie de relancé la macro infos apres l'application du filtre tout bug
 

Pièces jointes

  • Histo.zip
    24.6 KB · Affichages: 18
  • Histo.zip
    24.6 KB · Affichages: 21
  • Histo.zip
    24.6 KB · Affichages: 19

Eclipto

XLDnaute Junior
Re : tri d'un tableau par date

Le fichier marche comme ca:

1) J'utilise la macro "vidé" sur l'onglet "liaison" (car les ordinateur sur lequel le fichier est utilisé sont lent)

2) Puis des données sont copier/coller dans l'onglet "extract", je lance la macro "ajouts" pour ajouter des colonnes et des calculs nécessaire pour exécuter la macro "infos".

3) Enfin je lance la macro "Infos", la première fois le fichier marche bien.

Le problème, c'est qu'après le premier essai si je relance la procédure l'onglet "liaison" bug.

Je pense que ca vient du tri car si j'affiche les lignes masquées que supprime les lignes de 110 à 187 que relance je refais les étapes 1 et 3 (l'étape 2 étant inutile l'onglet extract est déjà comme il devrait être) ça marche

C'est pour cela que je pense qu'en intégrant le tri dans la macro infos cela résoudrait le problème mais je n'arrive pas a le faire. dans le fichier ci-dessus il y a le code de pierrejean que j'ai intégré a mon fichier
 
Dernière édition:

pierrejean

XLDnaute Barbatruc
Re : tri d'un tableau par date

Re

le probleme est le suivant
Tes macros modifient la cellule A1 de la feuille Liaison et par consequent lancent la macro evenementielle
Private Sub Worksheet_Change(ByVal Target As Range)
laquelle trouve en A1 autre chose qu'une date et donc tousse
J'ai supprimé la modification de A1 feuille liaison dans la macro Ajouts
et reporté la macro
Private Sub Worksheet_Change(ByVal Target As Range)
en module 2 (devint tri() )
Vois si cela te convient
Il te reste tout de meme a mettre en A1 quelque chose de coherent !!!

Ps: Je te laise la paternité de tes macros (lol)
 

Pièces jointes

  • Histo_d.zip
    28.9 KB · Affichages: 23
Dernière édition:

Eclipto

XLDnaute Junior
Re : tri d'un tableau par date

pour la date en A1 c'est un report de la date en A1 dans l'onglet "extract" qui elle même est une formule car dans la colonne A de l'onglet "extract" la date n'a pas l'ordre reconnue par Excel. j'avais fait un report car ton tri avait besoin d'une date référence

"Infos"

1) copie cette formule en C1 est l'étire jusqu'à IV1

Code:
=SI(ESTERREUR(INDEX(extract!$F$1:$G$1500;EQUIV(PETITE.VALEUR(extract!$F$1:$F$1500;COLONNE()-2);extract!$F$1:$F$1500;0);2));"";INDEX(extract!$F$1:$G$1500;EQUIV(PETITE.VALEUR(extract!$F$1:$F$1500;COLONNE()-2);extract!$F$1:$F$1500;0);2))

2) copie cette formule en C2 est l'étire jusqu'à IV2

Code:
=SI(ESTERREUR(RECHERCHE(C1;extract!$G2:$G1502;extract!$N2:$N1502));"";RECHERCHE(C1;extract!$G2:$G1500;extract!$N2:$N1500))

3) copie cette formule en C3 est l'étire jusqu'à IV109

Code:
SOMMEPROD((extract!$M$2:$M$1500=$A4)*(extract!$G$2:$G$1500=C$1)*((($B4="S")*extract!$AD$2:$AD$1500)+(($B4="E")*extract!$V$2:$V$1500)))
 
Dernière édition:

pierrejean

XLDnaute Barbatruc
Re : tri d'un tableau par date

Re

# 25
je croyais que la sequence etait
vidé ajouts Infos

#26
Tu pourrais essayer d'etre un peu plus precis S.T.P

Ligne 1 de quelle feuille ?
Quelle formule ?
Quelle macro ?
 

Eclipto

XLDnaute Junior
Re : tri d'un tableau par date

Re

# 25
je croyais que la sequence etait
vidé ajouts Infos

#26
Tu pourrais essayer d'etre un peu plus precis S.T.P

Ligne 1 de quelle feuille ?
Quelle formule ?
Quelle macro ?

#25

Dans la version original du fichier quand je copie un nouveau tableau dans "extract" il manque les colonnes F/O/V/W/AD ainsi que les infos dedans et une modification de la colonne G. la macro "ajouts" est la pour les ajouter.
Si il n'y pas de modification dans l'onglet extract comme dans l'exemple pas besoin de l'utiliser.


#26

Désolé, dans l'onglet liaison quand tu applique la macro infos elle commence pas copier et étiré la ligne 1 hors actuellement ce n'est pas le cas si tu vis l'onglet liaison avec la macro.

la formule

Code:
=SI(ESTERREUR(INDEX(extract!$F$1:$G$1500;EQUIV(PETITE.VALEUR(extract!$F$1:$F$1500;COLONNE()-2);extract!$F$1:$F$1500;0);2));"";INDEX(extract!$F$1:$G$1500;EQUIV(PETITE.VALEUR(extract!$F$1:$F$1500;COLONNE()-2);extract!$F$1:$F$1500;0);2))

dans la macro infos

Code:
ActiveCell.FormulaR1C1 = _
        "=IF(ISERROR(INDEX(extract!R1C6:R1500C7,MATCH(SMALL(extract!R1C6:R1500C6,COLUMN()-2),extract!R1C6:R1500C6,0),2)),"""",INDEX(extract!R1C6:R1500C7,MATCH(SMALL(extract!R1C6:R1500C6,COLUMN()-2),extract!R1C6:R1500C6,0),2))"
    Range("C1").Select
    Selection.AutoFill Destination:=Range("C1:IV1"), Type:=xlFillDefault
    Range("C1:IV1").Select
 

pierrejean

XLDnaute Barbatruc
Re : tri d'un tableau par date

Re

TA macro ecrit une formule dans ActiveCell
Si cette cellule est la cellule C1 la ligne 1 sera remplie
Sois gentil ,pour les problemes concernant ces macros adresse toi a leur auteur
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…