Creer un tableau automatiquement a partir d'un autre tableau selon valeur

Spitfire26

XLDnaute Nouveau
Bonjour a tous,

J'ai besoin de votre aide.

J'ai fichier excel de 16000 lignes dans l'onglet Feuil1.

Je souhaite que dans l'onglet Feuil2, on copie les lignes (du tableau de la feuil1) ou La valeur de la Colonne 2 est inferieur a la valeur de la colonne 25.

En automatisant le systeme.

Merci de votre aide
 

Modeste

XLDnaute Barbatruc
Re : Creer un tableau automatiquement a partir d'un autre tableau selon valeur

Bonjour Spitfire26, Hi James :)

En complément à la première proposition ... une autre qui ne recopiera que les lignes concernées (pas de lignes vides dans les résultats, donc)
Si le tableau commence en A3 de la feuille1, indiquer en A3 de la feuille2:
Code:
=INDEX(Feuil1!$A$3:$Z$20;PETITE.VALEUR(SI(Feuil1!$B$3:$B$20<Feuil1!$Y$3:$Y$20;LIGNE(Feuil1!$A$3:$A$20)-2);LIGNES(Feuil1!$1:1));COLONNE())
Valider avec Ctrl+Shift+Enter ... et recopier à droite et vers le bas
Si c'est ok, il ne restera plus qu'à masquer les messages d'erreurs (avec une MFC ou en modifiant la formule)
 

Spitfire26

XLDnaute Nouveau
Re : Creer un tableau automatiquement a partir d'un autre tableau selon valeur

Bonjour Modeste

Merci pour ta formule elle fonctionne sur 1 seule ligne.

En dehors de la ligne de la cellule A3 ca indique #nombre!

Malheureusement j'en ai pres de 16000
De plus, je vais jusqu'a la colonne AF

=INDEX(Feuil1!$A$3:$Z$20;PETITE.VALEUR(SI(Feuil1!$B$3:$B$20<Feuil1!$Y$3:$Y$20;LIGNE(Feuil1!$A$3:$A$20)-2);LIGNES(Feuil1!$1:1));COLONNE())

Puis-je transformer ta formule comme ceci?
=INDEX(Feuil1!$A3:$AF16000;PETITE.VALEUR(SI(Feuil1!$d3:$B16000<Feuil1!$Y3:$Y16000;LIGNE(Feuil1!$A3:$A16000)-2);LIGNES(Feuil1!$1:1));COLONNE())

Merci pour votre aide
 

James007

XLDnaute Barbatruc
Re : Creer un tableau automatiquement a partir d'un autre tableau selon valeur

Re, Salut Modeste :)

Personnellement, vu mon manque d'imagination ... un extrait de fichier sur 10 lignes et 25 colonnes serait ... extrêmement utile pour faire ta formule ...

A +
:)
 

Modeste

XLDnaute Barbatruc
Re : Creer un tableau automatiquement a partir d'un autre tableau selon valeur

re-bonjour,

Ce qui aurait été "aidant" aurait été de dire ce qui ne fonctionnait pas dans la formule de James007 ... Là c'est un peu laconique, tout de même (un petit "merci", au passage n'était pas interdit non plus :rolleyes:)

Pour la formule que tu proposes, il y a une bizarrerie (en rouge ci-dessous)
=INDEX(Feuil1!$A3:$AF16000;PETITE.VALEUR(SI(Feuil1 !$d3:$B16000<Feuil1!$Y3:$Y16000;LIGNE(Feuil1!$A3:$A16000)-2);LIGNES(Feuil1!$1:1));COLONNE())

Ne pas oublier la validation Ctrl+Shift+Enter (des accolades devraient apparaître autour de ta formule) c'est peut-être ce qui fait que tu obtiens un message d'erreur en ligne 2.

Edit: il manque des '$' aussi, à certains endroits! Des références absolues sont parfois nécessaires
 
Dernière édition:

Spitfire26

XLDnaute Nouveau
Re : Creer un tableau automatiquement a partir d'un autre tableau selon valeur

Bonjour James007 ,

Je vous remercie de bien vouloir m'aider.

Veuillez trouver ci joint un fichier Excel qui j'espere vous sera utile.

Salutations
 

Pièces jointes

  • TestCS1.xlsx
    15.6 KB · Affichages: 238

James007

XLDnaute Barbatruc
Re : Creer un tableau automatiquement a partir d'un autre tableau selon valeur

Re,

Merci pour le fichier ...

Mais le plus gros MERCI ... va à Modeste :cool: .... :cool:

Car je n'ai fait que copier sa formule ... dans la feuille 2 ...

A +
:)
 

Pièces jointes

  • TestSpitFire.xlsx
    23.5 KB · Affichages: 385

Spitfire26

XLDnaute Nouveau
Re : Creer un tableau automatiquement a partir d'un autre tableau selon valeur

Re-bonjour James 007 et Modeste,

Merci pour la formule et les corrections de la formule, et elle fonctionne.

Y aurait il un moyen de faire cette formule dans un module Visual basic?

En effet mon ordi ne doit pas etre assez puissant car quand j'applique la formule sur les 16000 lignes il se bloque.

Merci pour votre aide.
 

James007

XLDnaute Barbatruc
Re : Creer un tableau automatiquement a partir d'un autre tableau selon valeur

Re,

Effectivement sur 16'000 lignes, les formules matricielles ... ce n'est pas l'idéal ...

Bien sûr qu'une solution VBA est possible ... mais ce n'est pas une formule ... c'est un code qui teste les valeurs des colonnes D et Y pour copier ou pas les lignes ...

Dès que je trouve un moment, je le ferai rapidement ...

A +
:)
 

James007

XLDnaute Barbatruc
Re : Creer un tableau automatiquement a partir d'un autre tableau selon valeur

Re,

Voilà la macro à recopier ...

VB:
Option Explicit

Sub Extract()
Dim i%
Dim x%
Dim c As Range

x = Feuil1.Cells(Application.Rows.Count, "A").End(xlUp).Row
i = Feuil2.Cells(Application.Rows.Count, "A").End(xlUp).Row
Feuil2.Range("A2:AF" & i).ClearContents
For Each c In Feuil1.Range("D2:D" & x)
    If c < c.Offset(0, 21) Then
    i = Feuil2.Cells(Application.Rows.Count, "A").End(xlUp).Row + 1
    c.EntireRow.Copy Destination:=Feuil2.Range("A" & i)
    End If
Next c
End Sub

A +
:)
 

Discussions similaires

Statistiques des forums

Discussions
312 177
Messages
2 085 973
Membres
103 073
dernier inscrit
MSCHOE16