Copier le contenu d'une cellule

Bonjour,

Comment faire pour reporter dans une autre feuille d'un même classeur le contenu d'une cellule en fonction du contenu d'une autre cellule.

Pour être plus clair je joint un fichier d'exemple

merci

22test1.xlsm (9.90 Ko)

bonjour

avec un filtre avancé

zone jaune = zone de critères

(j'ai mis tes données sous forme de tableau pour plus de facilité)

clic dans le tableau, puis menu Données Filtrer et Trier, Avancé, cocher "autre emplacement", choisir une cellule éloignée sur la même feuille, valider

ceci peut s'enregistrer en macro

si tu veux sur une autre feuille, il faut alors couper/coller la zone de résultat sur feuille 2. (encore en macro)

Bonjour à tous

Variante pour une autre interprétation de la demande.

A tester.

Bye !

17test1-v1.xlsm (16.54 Ko)

Bonjour à tous,

Et une nouvelle proposition.

Bonnes fêtes de fin d'année.

Cdlt.

12test1.xlsm (24.47 Ko)
Option Explicit

Private Sub cmdFilter_Click()
Dim ws As Worksheet
Dim lo As ListObject
Dim FieldNum As Long, lRow As Long
Dim rng As Range, rng2 As Range

    Application.ScreenUpdating = False

    Set lo = Me.ListObjects(1)
    Set ws = ActiveWorkbook.Worksheets("Feuil2")
    FieldNum = 2: lRow = 2

    With ws
        If Not .ListObjects(1).DataBodyRange Is Nothing Then .ListObjects(1).DataBodyRange.Delete
    End With

    If Not lo.ShowAutoFilter Then
        lo.ShowAutoFilter = True
    Else
        If lo.AutoFilter.FilterMode Then lo.AutoFilter.ShowAllData
    End If

    lo.Range.AutoFilter field:=FieldNum, Criteria1:="=x"

    With lo.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 aucune donnée filtrée.", vbOKOnly + vbInformation, "Filtre"
        GoTo exit_Handler
    Else
        Set rng = lo.AutoFilter.Range
        rng.Offset(1, 0).Resize(rng.Rows.Count - 1) _
                .SpecialCells(xlCellTypeVisible).Copy
        ws.Cells(lRow, 1).PasteSpecial xlPasteValues
        Application.CutCopyMode = False
    End If

    ws.Activate

exit_Handler:
    lo.Range.AutoFilter field:=FieldNum
    Set rng = Nothing: Set rng2 = Nothing
    Set lo = Nothing
    Set ws = Nothing

End Sub

Bonjour micpid, gmb, jmd, Jean-Eric

Encore une autre interprétation

(avec l'inconvénient que les tableaux doivent être de même hauteur - nombre de lignes identiques)

14test1-3.xlsm (18.01 Ko)
Rechercher des sujets similaires à "copier contenu"