Sub Macro1()
Dim cs As Workbook 'déclare la variable cs (Classeur Source)
Dim cc As Workbook 'déclare la variable cc (Classeur Cible)
Dim os As Object 'déclare la variable os (Onglet Source)
Dim oc As Object 'déclare la variable oc (Onglet Cible)
Dim dl As Integer 'déclare la variable dl (Dernière Ligne)
Dim pl As Range 'déclare la variable pl (PLage)
Dim cel As Range 'déclare la variable cel (CELlule)
Dim dest As Range 'déclare la variable dest (cellule de DESTination)
Set cs = ThisWorkbook 'définitle classeur source cs
Set cc = Workbooks("Portfolio test.xlsm") 'définit la classeur cible cc (à adapter à ton vrai fichier)
Set os = cs.Sheets("Sheet1") 'définit l'onglet source os
Set oc = cc.Sheets("Sheet1") 'définit l'onglet cible oc
dl = os.Cells(Application.Rows.Count, 1).End(xlUp).Row 'définit la dernière ligne éditée dl de la colonne 1 (=A) de l'onglet source
Set pl = os.Range("A2:A" & dl) 'définit la plage pl
For Each cel In pl 'boucle sur toutes les cellules cel de la plage pl
If Right(cel.Value, 4) = "Corp" Then 'condition : si les 4 derniers caractères de la cellule cel sont "Corp"
Set dest = IIf(oc.Range("A3").Value = "", oc.Range("A3"), oc.Cells(Application.Rows.Count, 1).End(xlUp).Offset(1, 0)) 'définit la cellule de destination dest
dest.Value = cel.Value 'récupère la valeur de la cellule cel dans dest
dest.Offset(0, 2) = os.Cells(cel.Row, 30).Value 'récupère la valeur de la cellule de la colonne AD et la colle dans la colonne C
dest.Offset(0, 3) = os.Cells(cel.Row, 46).Value 'récupère la valeur de la cellule de la colonne AT et la colle dans la colonne D
dest.Offset(0, 4).Value = "S" 'place "S" dans la colonne E
End If 'fin de la condition
Next cel 'prochaine cellule de la boucle
End Sub