Copier colonne dont l’entête est égale à une valeur

Bonjour

je débute sur VBA, j'aurai s'il vous plait besoin de votre aide pour la réalisation d'une macro .

J'ai besoin de copier la colonne entière dont l’entête est égale à une valeur précise .

exemple :

source => Fichier 1

karine jean franck

A 1 3 4

X 3 5 5 *

B 4 5 7

C 1 8 6

Y 5 7 7 *

D 3 10 1

Cible => Fichier 2 =>sélectionner uniquement les données de Franck et jean correspondants aux lignes A B C D uniquement

pour avoir ce résultat final

jean franck

A 3 4

B 5 7

C 8 6

D 10 1

Merci pour votre aide precieuse

Bonsoir,

Un fichier représentatf illustrant ce que tu veux obtenir, à partir de quoi, permettra d'examiner les réponses possibles...

Cordialement.

Je reformule

Voir en pièce jointe un fichier excel avec un exemple

Fichier source => Fichier 1 contient les données de karine / jean / franck

28classeur2.xlsx (9.39 Ko)

Résultat Cible => Fichier 2 =>sélectionner uniquement les données de Franck et jean correspondants aux lignes A B C D uniquement et ignorer les lignes X et Y

Merci pour votre aide

Voilà qui fait ce que tu demandes :

Sub Samira()
    Dim lgn, col, k%, n%, i%, wsRE As Worksheet
    lgn = Split("A B C")
    col = Split("Jean;Franck", ";")
    Set wsRE = Worksheets("REsultat final")
    wsRE.Range("A1").CurrentRegion.Offset(1).ClearContents
    k = 1: n = 1
    Application.ScreenUpdating = False
    With Worksheets("DOnnées source").Range("B2")
        Do While .Cells(1, k + 1) <> ""
            k = k + 1
            For i = 0 To UBound(col)
                If .Cells(1, k) = col(i) Then Exit For
            Next i
            If i > UBound(col) Then .Cells(1, k).EntireColumn.Hidden = True
        Loop
        Do While .Cells(n + 1, 1) <> ""
            n = n + 1
            For i = 0 To UBound(lgn)
                If .Cells(n, 1) = lgn(i) Then Exit For
            Next i
            If i > UBound(lgn) Then .Cells(n, 1).EntireRow.Hidden = True
        Loop
        With .Resize(n, k)
            .SpecialCells(xlCellTypeVisible).Copy wsRE.Range("B2")
            .EntireColumn.Hidden = False
            .EntireRow.Hidden = False
        End With
    End With
    wsRE.Activate
End Sub

Cordialement.

MErci infiniment !!!

Rechercher des sujets similaires à "copier colonne entete egale valeur"