Extraire des lignes en fonction d un critere variable

Bonjour tout le monde,

Je suis devant un mur: je cherche à extraire, de manière automatique, certaines lignes d’un tableau en fonction d’un critère C variant entre 0 et 4000.

L’objectif est de pouvoir dire : si cette feuille je veux récupérer toutes les lignes dont le critère C est supérieur à X. Dans un sens ce serait automatiser un filtre valeur au-dessus de X, puis copier et coller dans une nouvelle feuille.

Voilà si vous avez des idées je suis tout ouïe ! VBA bienvenu !

Merci davance aux braves guerriers d´Office

David

Bonjour,

Une proposition à étudier.

Cdlt.

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
Dim wsData As Worksheet
Dim Table As ListObject
Dim rng As Range

    If Target.Address = "$C$2" Then
        Me.Cells(4, 2).CurrentRegion.Clear
        If Not IsNumeric(Target) Or Target.Value <= 0 Then
            Application.EnableEvents = False
            Target.Value = ""
            Application.EnableEvents = True
            Exit Sub
        End If
        Set wsData = Worksheets("Data")
        Set Table = wsData.ListObjects(1)
        With Table
            If .AutoFilter.FilterMode Then .AutoFilter.ShowAllData
            .Range.AutoFilter field:=5, Criteria1:=">" & Target.Value
            With .AutoFilter.Range
                On Error Resume Next
                Set rng = .Offset(1, 0).Resize(.Rows.Count - 1, 1) _
                          .SpecialCells(xlCellTypeVisible)
                On Error GoTo 0
            End With
            If rng Is Nothing Then
                MsgBox "Il n'y as pas de données à copier", _
                       vbOKOnly + vbInformation, "Information"
                Me.Cells(4, 2) = vbNullString
            Else
                Set rng = .AutoFilter.Range
                rng.SpecialCells(xlCellTypeVisible).Copy _
                        Destination:=Me.Cells(4, 2)
            End If
            .Range.AutoFilter field:=5
        End With
    End If

    Set rng = Nothing
    Set Table = Nothing
    Set wsData = Nothing

End Sub

Bonjour et bienvenue sur le forum

Bonjour à tous

Une variante.

Bye !

Bonsoir a tous les deux,

Merci à vous !

Ça marche super bien. Il me manque un peu de temps pour comprendre et adapter certaines parties, mais je ne m´attendais pas à une réponse aussi rapide : alors deux, mon probleme principal est celui du choix

Je vous recontacte si j’ai des problèmes d’adaptation !

Bon weekend à vous

David

Bonjour,

Une petite mise à jour.

Cdlt.

Super merci pour ce super travail!

J’ai bien avance mais du coup vous m’avez donne envie de plus, et comme il semblerait que ça ait été un peu trop facile pour vous je vous transmets le challenge!

Du coup je mes nouveaux défis sont:

  • intégrer la fonction qui me donne le critère C dans le calcul et qu´elle n’apparaisse plus comme colonne,
  • n´afficher dans l’onglet dashboard que certaines colonnes en fonction de ce critère (il y a deux colonnes qui ne m´intéressent pas, par exemple la colonne E, pas si importante que ca)
  • afficher également des moyennes par exemple sur la colonne D (ambiant, froid, frais)

Lire vos codes m´a donné envie de m’y mettre, je viens de terminer l’initiation du site du 0, mais si vous pouviez ajouter quelques commentaires rapidement cela m’aiderait également énormément !

Un grand merci, ca m’impressionne de voir que ce site fonctionne aussi bien il n’y a pas beaucoup de domaines ou l’on a de l’aide spontanée comme ça!

David

PS: Je dois ajouter que j’ai des idées et que j’essaie de mon cote, mais pour l’instant rien ne fonctionne.. donc j’évite de polluer!

Bonjour

Nouvelle version.

Pour les moyennes, sur quoi veux-tu qu'elles portent vu que dans ton tableau Data, les produits sont uniques ?

Bye !

Salut Lucky Luke,

Je pensais sur les donnés de la colonne D: faire la moyenne de C en fonction des différentes catégories (froid, ambiant,...) dans mon tableau réel et top secret (bien entendu)

Merci beaucoup en tout cas, comme toujours réactivité impressionnante, et cool, je commence à pouvoir comprendre et comparer vos codes !

Votre éternel abonné,

David

draynaud a écrit :

faire la moyenne de C en fonction des différentes catégories (froid, ambiant,...) dans mon tableau réel et top secret

Alors, ça restera comme le tableau réel : ''Top Secret"

Bye !

Salut,

Tout fonctionne, et j’ai réussi à ajouter ce que je souhaitais, merci beaucoup à vous deux !

A bientôt,

Rechercher des sujets similaires à "extraire lignes fonction critere variable"