Bonjour
Mon code ci dessous me permet de tirer un tableau plus succint d'un onglet à un autre
Voici un exemple avec un fichier excel ci dessous!
J'aimerais maintenant rajouté une deuxieme condition a ce code
Si dans la colonne B il y a marqué Momentum alors on reprend la ligne dans le tableau plus succint sinon non
Thanks in advance
Bonne journée
Mon code ci dessous me permet de tirer un tableau plus succint d'un onglet à un autre
Code:
Sub Macro1()
Dim ad As Range 'déclare la variable ad (Anciennes Données)
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 ad = Sheets("Port_MOMENTUM").Range("BT173").CurrentRegion 'définit la plage des anciennes données
If ad.Rows.Count > 1 Then 'condition : si ad contient plus d'une seule ligne
Set ad = ad.Offset(1, 0).Resize(ad.Rows.Count - 1, ad.Columns.Count) 'redéfinit ad (sans la première ligne)
ad.Clear 'efface ad
End If 'fin de la condition
With Sheets("Daily Equity") 'prend en compte l'onglet "Feuil1"
dl = .Cells(Application.Rows.Count, 1).End(xlUp).Row 'définit la dernière ligne éditée de la colonne A
Set pl = .Range("A2:A" & dl) 'définit la plage pl
End With 'fin de la prise en compte de l'onglet "Feuil1"
For Each cel In pl 'boucle sur toutes les cellule cel de la plage pl
'condition : si la date correspond
If Day(cel.Value) = Day(Date) And Month(cel.Value) = Month(Date) And Year(cel.Value) = Year(Date) Then
'définit la cellle de destination
Set dest = IIf(Sheets("Port_MOMENTUM").Range("BT173") = "", Sheets("Port_MOMENTUM").Range("BT173"), Sheets("Port_MOMENTUM").Cells(Application.Rows.Count, 72).End(xlUp).Offset(1, 0))
dest.Value = cel.Value 'récupère la date
dest.Offset(0, 1).Value = cel.Offset(0, 4).Value 'récupère le code isin
dest.Offset(0, 2).Value = cel.Offset(0, 3).Value 'reçupère le nom de la valeur
dest.Offset(0, 3).Value = cel.Offset(0, 12).Value 'récupère la devise
dest.Offset(0, 4).Value = cel.Offset(0, 11).Value 'récupère la quantité
dest.Offset(0, 5).Value = cel.Offset(0, 6).Value 'récupère le sens
dest.Offset(0, 6).Value = cel.Offset(0, 15).Value 'récupère le cours
End If 'fin de la condition
Next cel 'prochaine celllule de la boucle
End Sub
Voici un exemple avec un fichier excel ci dessous!
J'aimerais maintenant rajouté une deuxieme condition a ce code
Si dans la colonne B il y a marqué Momentum alors on reprend la ligne dans le tableau plus succint sinon non
Thanks in advance
Bonne journée