Copier valeur d'une colonne sous condition dans une boucle

Bonjour,

Ayant un probléme avec une macro VBA, je me permet de demander votre aide!

Je voudrais copier les donnée d'une colonne d'une feuille à l'autre sous condition.

Par exemple dans la feuille "Temp" pour l'intitulé de colonne "Succursale" copier les données de cette colonne dans ma feuille "MesValeurs" à condition qu'il trouve l'intitulé "Succursale".

Sachant que mes intitulé dans ma feuille "Temp" peuvent bouger.

Mais hélas, pour l'instant ma macro ne marche pas vraiment comme prévu. (probléme de boucle je pense)

Je joins un fichier testcolonne.

D'avance merci de votre aide et de votre temps. !!!

Cordialement,

Sub Testcolonne2()

Dim i As Integer

Dim Nom As Integer

i = 1

Sheets("Temp").Select

While Cells(1, i + 1) <> ""

Select Case Cells(1, i + 1)

Case Is = "Statut"

Range(Cells(2, i + 1), Cells(100, i + 1)).Select

Application.CutCopyMode = False

Selection.Copy

Sheets("Temp1").Select

Range("D2:D100").Select

ActiveSheet.Paste

Case Is = "Niveau Unite"

Range(Cells(2, i + 1), Cells(100, i + 1)).Select

Application.CutCopyMode = False

Selection.Copy

Sheets("Temp1").Select

Range("E2:E100").Select

ActiveSheet.Paste

'Case Is= pour les autre colonne

Case Else

MsgBox ("rien")

End Select

MsgBox ("OK")

i = i + 1

Wend

End Sub

Problème résolu avec ce code! !!!

Sub Copie()
    Dim C As Range, Plage As Range, Ligne As Long, Sh As Worksheet, Col As Variant
    Ligne = 1
    With Sheets("Temp")
        Set Plage = .Range("A2", .Cells(.Rows.Count, 1).End(xlUp))
    End With
    Set Sh = Sheets("Temp")
    With Sheets("MesValeurs")
        For Each C In Plage
            Ligne = Ligne + 1
            For i = 1 To .Cells(1, .Columns.Count).End(xlToLeft).Column
                Col = Application.Match(Sh.Cells(1, i), .[1:1], 0)
                If IsNumeric(Col) Then
                    .Cells(Ligne, Col) = C.Offset(, i - 1)
                End If
            Next i
        Next C
    End With
End Sub
Rechercher des sujets similaires à "copier valeur colonne condition boucle"