Sub a()
Dim c As Range, t, x%
'tableau avec les colonnes de destination
t = Array("C", "A", "G", "E", "I")
For Each c In Columns(1).SpecialCells(xlCellTypeConstants)
'BCDFA = chaine dans laquelle on cherchera le 1er caractère de c
If InStr(1, "BCDFA", Left(c.Text, 1), vbTextCompare) > 0 Then
'x renvoie la position du caractère dans la chaine
x = InStr(1, "BCDFA", Left(c.Text, 1), vbTextCompare)
't(x-1) renvoie la lettre de colonne de destination
Sheets("PLAN donnée").Cells(Rows.Count, t(x - 1)).End(xlUp)(2).Resize(, 2).Value = c.Offset(, 4).Resize(, 2).Value
'on "recopie" les données sur la feuille Plan donnée
End If
Next
End Sub