Microsoft 365 Extraire des lignes en fonction d'un critère

  • Initiateur de la discussion Initiateur de la discussion sr94
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

sr94

XLDnaute Occasionnel
Bonjour

J'ai cherché mais pas trouvé ce que je voulais.

A partir d'un fichier contenant plusieurs feuilles j'aimerais copier dans un nouveau classeur les lignes (colonnes A à E) suivant un critère en colonne F, qui est une date donnée (le 24/03/22 par exemple dans le fichier joint).

En plus de ça j'aimerais insérer avant la première colonne une colonne reprenant la référence présente dans la cellule qui est en dessous de "PO" pour chaque tableau, si c'est possible.

J'ai mis un exemple de ce qui était souhaité dans Feuil1.

Merci beaucoup
 

Pièces jointes

Bonsoir SR,
Un ex en PJ avec :
VB:
Sub Compile()
    Application.ScreenUpdating = False
    DL = Range("A65500").End(xlUp).Row
    If DL > 1 Then Range("A2:F" & DL).ClearContents
    DueDate = [EndateDu]: Lecr = 2
    For Each sh In Worksheets
        With Sheets(sh.Name)
            If .[A1] = "ORDER NO" Then
                Order = .[B1]
                DL = .Range("F65500").End(xlUp).Row
                    For L = 1 To DL
                        If .Cells(L, "A") = "PO" Then PO = .Cells(L + 1, "A")
                        If .Cells(L, "F") = DueDate Then
                            Cells(Lecr, "A") = Order
                            Cells(Lecr, "B") = PO
                            Cells(Lecr, "C") = .Cells(L, "A") ' Invoice
                            Cells(Lecr, "D") = .Cells(L, "B") ' Nbpieces
                            Cells(Lecr, "E") = .Cells(L, "C") ' Total
                            Cells(Lecr, "F") = .Cells(L, "D") ' Advance
                            Cells(Lecr, "G") = .Cells(L, "E") ' Balance
                            Lecr = Lecr + 1
                        End If
                    Next L
            End If
        End With
    Next sh
End Sub
En première colonne j'ai rajouté Order car je ne trouve pas le même résultat que vous. vous en avez 14 et moi 17 pour le 13/04/2022. La colonne pourra être supprimée après verif.
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour