transferer des donnees d'un tableau en fonction d'un critére

VINCE4207

XLDnaute Nouveau
bonjour

je souhaite en fonction de la saisie de la date transférer les lignes concernées sur une autre page(voit fichier joint)

si possible grâce aux fonctions car je ne connait pas du tout vba.

cordialement

vince4207
 

Pièces jointes

  • test bordereau.xls
    14 KB · Affichages: 40

Hulk

XLDnaute Barbatruc
Re : transferer des donnees d'un tableau en fonction d'un critére

Hello tout le monde :)

Si j'ai bien compris, voici une solution avec une colonne à masquer et les fonctions SI, LIGNES, NB, INDEX et PETITE.VALEUR.

À voir si ça te convient.

Me souviens plus de qui c'est, mais merci à lui !
 

Pièces jointes

  • test bordereau(V1).xls
    44.5 KB · Affichages: 26

job75

XLDnaute Barbatruc
Re : transferer des donnees d'un tableau en fonction d'un critére

Bonsoir VINCE4207,

C'est un problème très classique avec de nombreux exemples sur le forum.

Mais comme pour toute formule un peu compliquée il ne faut pas s'emmêler les pédales.

Voyez le fichier joint, il y a 2 formules matricielles à valider par Ctrl+Maj+Entrée :

- en A14 à tirer sur B14 puis vers le bas :

Code:
=SI(LIGNES(A$14:A14)>NB.SI(liste!$B$9:$B$1000;$E$7);"";INDEX(liste!C:C;PETITE.VALEUR(SI(liste!$B$9:$B$1000=$E$7;LIGNE(liste!$B$9:$B$1000));LIGNES(A$14:A14))))
- en C14 à tirer sur D14 puis vers le bas :

Code:
=SI(LIGNES(C$14:C14)>NB.SI(liste!$B$9:$B$1000;$E$7);"";INDEX(liste!F:F;PETITE.VALEUR(SI(liste!$B$9:$B$1000=$E$7;LIGNE(liste!$B$9:$B$1000));LIGNES(C$14:C14))))
Elles sont valables comme on le voit jusqu'à la ligne 1000. Modifier si c'est insuffisant.

Edit : salut Hulk, je ne t'avais pas vu, désolé.

A+
 

Pièces jointes

  • test bordereau(1).xls
    18 KB · Affichages: 38
Dernière édition:

job75

XLDnaute Barbatruc
Re : transferer des donnees d'un tableau en fonction d'un critére

Bonjour VINCE4207, Hulk,

On peut aussi utiliser une seule formule en A14 (toujours matricielle) :

Code:
=SI(LIGNES(A$14:A14)>NB.SI(liste!$B$9:$B$1000;$E$7);"";INDEX(DECALER(liste!$B:$B;;INDEX({1;2;4;5};COLONNES($A1:A1)));PETITE.VALEUR(SI(liste!$B$9:$B$1000=$E$7;LIGNE(liste!$B$9:$B$1000));LIGNES(A$14:A14))))
DECALER(liste!$B:$B;;INDEX({1;2;4;5};COLONNES($A1:A1))) détermine la colonne qu'il faut traiter.

Fichier (2).

A+
 

Pièces jointes

  • test bordereau(2).xls
    23 KB · Affichages: 42

Discussions similaires

Statistiques des forums

Discussions
312 890
Messages
2 093 349
Membres
105 696
dernier inscrit
FrancisR