Alimenter autres feuilles avec données de la 1er selon critères

Bonjour,

Je cherche une solution facile pour alimenter d'autres feuilles sur base de la première qui est en sorte ma base de donnée selon ce qui est rempli dans ma colonne B de la première feuille.

Cela concerne des chiens

Feuille1 base de données avecnom du chien, sexe, ages, parents,...

colonne B nous avons soit F pour femelle ou M pour mâle

Je voudrais que sur le feuille 2 apparaissent automatiquement les données de tous les M et sur la feuille 3 les données de tous les F

J'utilise actuellement la fonction filtre et je fait des copier coller mais c'est toujours la course et j'ai peur des erreurs.

Est ce que je peux utiliser la fonction si ? Si cette cellule comporte la lettre M alors recopier toute le ligne ?

Mais je ne sais pas comment faire

Merci de votre aide précieuse

Pat

Bonjour et bienvenue sur le forum

Tu devrais joindre ton fichier et on te proposerait quelque chose.

Bye !

Bonjour et bienvenue,

Merci de joindre un fichier à ta demande.

Cdlt.

Voilà le fichier

merci à vous

Bonjour,

Une proposition à étudier.

ALT F8, exécuter la procédure Filter_Data.

Cdlt.

Public Sub Filter_Data()
Dim wb As Workbook
Dim ws As Worksheet, wsData As Worksheet
Dim tbl As Variant, tbl2 As Variant
Dim rng As Range, rng2 As Range
Dim i As Long

    Application.ScreenUpdating = False

    Set wb = ActiveWorkbook
    Set wsData = wb.Worksheets("BLRC2018")

    tbl = Array("F", "M")
    tbl2 = Array("lstFemelles", "lstMâles")

    With wsData
        If .FilterMode Then .ShowAllData
        For i = LBound(tbl) To UBound(tbl)
            .Cells(1).CurrentRegion.AutoFilter Field:=3, Criteria1:=tbl(i)
            With .AutoFilter.Range
                On Error Resume Next
                Set rng2 = .Offset(1, 0).Resize(.Rows.Count - 1, 1).SpecialCells(xlCellTypeVisible)
                On Error GoTo 0
            End With
            If rng2 Is Nothing Then
                MsgBox "Il n'y a pas de données à copier", vbInformation, "Information"
            Else
                Set ws = wb.Worksheets(tbl2(i))
                ws.Cells(1).CurrentRegion.Offset(1).ClearContents
                Set rng = .AutoFilter.Range
                rng.Offset(1, 0).Resize(rng.Rows.Count - 1).Copy Destination:=ws.Cells(2, 1)
            End If
        Next i
        .Cells(1).CurrentRegion.AutoFilter Field:=3
        .AutoFilterMode = False
    End With

End Sub
Rechercher des sujets similaires à "alimenter feuilles donnees 1er criteres"