Private Sub Command6_Click() 'rapatrier soldes newedge
Dim appExcel As Excel.Application 'Application Excel
Dim wbExcel As Workbook 'Classeur Excel
Dim wsExcel As Worksheet 'Feuille Excel
'Ouverture de l'application
Set appExcel = CreateObject("Excel.Application")
appExcel.Visible = True
'Ouverture d'un fichier Excel
Set wbExcel = appExcel.Workbooks.Open("C:\Users\H\Documents\Appel marge Tawfik\Etat newedge.xls")
'wsExcel correspond à la première feuille du fichier
Set wsExcel = wbExcel.ActiveSheet
'''''''''''''''''
'''''''''''''''''
With ActiveSheet
Sheets("Récap positions Newedge").Select
Dim i As Long
Dim J As Long
Dim montableau(5000, 4) As Variant
'Dim Rg As wbExcel.Range
Dim Plage As String
Dim myrange As String
Dim myrange1 As String
Plage = "D1:D5000"
'Désactive la mise à jour de l'affichage
'Application.ScreenUpdating = False
'Désactive la mise à jour des recalculs
'appExcel.Application.Calculation = xlCalculationManual
With Form1.Text14
'Set Rg = Range(plage).Find(Text14)
i = 2
J = 0
myrange = Sheets("Récap positions Newedge").Range("D" & i).Value
myrange1 = Sheets("Récap positions Newedge").Range("G" & i).Value
While myrange <> ""
myrange = Sheets("Récap positions Newedge").Range("D" & i).Value
myrange1 = Sheets("Récap positions Newedge").Range("G" & i).Value
If myrange = Text14 And myrange1 = "F" Then
montableau(J, 0) = Sheets("Récap positions Newedge").Range("D" & i).Value 'code newedge
montableau(J, 1) = Sheets("Récap positions Newedge").Range("L" & i).Value 'qté futures
montableau(J, 2) = Sheets("Récap positions Newedge").Range("N" & i).Value 'VB
montableau(J, 3) = Sheets("Récap positions Newedge").Range("T" & i).Value 'Cours j
montableau(J, 4) = Sheets("Récap positions Newedge").Range("U" & i).Value 'Devise
End If
i = i + 1
J = J + 1
Wend
End With
''''''''''''''''''''''
'vérif existance feuille
With Text14
'Dim sh As Worksheet
' For Each sh In Worksheets
'If sh.Name = Text14 Then
' sh.Select
'End If
'Next
' wbExcel.sh.Add
'ActiveSheet.Name = Range("A2").Value
' End With
Dim AN As Byte
For AN = 1 To Sheets.Count
If Sheets(AN).Name = Text14 Then
Sheets(AN).Select
Exit For
End If
Next AN
If ActiveSheet.Name = Text14 Then
ActiveSheet.Select
Else
Sheets.Add.Name = Text14
End If
End With
''''''''''''''''''''''
'active la feuil1 pour y mettre Montableau
Set wsExcel = ActiveSheet
Derligne = J - 1
For i = 0 To Derligne 'UBound(Montableau, 2)
For J = 0 To UBound(montableau, 2) 'UBound(Montableau, 1) il fallait mettre 2 au lieu de 1 car
ActiveSheet.Cells(i + 3, J + 1) = montableau(i, J)
Next J
Next i
ActiveSheet.Range("A1") = "Code newedge"
ActiveSheet.Range("B1") = "Qté Futures"
ActiveSheet.Range("C1") = "VB"
ActiveSheet.Range("D1") = "Cours j"
ActiveSheet.Range("E1") = "Devise"
Erase montableau
' On Error Resume Next
'supprime les lignes vides
ActiveSheet.Range("A2:A" & Range("A65226").End(xlUp).Row).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
'mettre sous totaux
Selection.Subtotal GroupBy:=5, Function:=xlSum, TotalList:=Array(3, 5), _
Replace:=True, PageBreaks:=False, SummaryBelowData:=True
Cells.Select
Cells.EntireColumn.AutoFit
'''''''''''''''''''''''''''''''''''
Dim Y As Long
Dim myrange2 As String
'boucler sur listbox
With Form1.Label10
Y = 2
myrange2 = Range("D" & Y).Value
While myrange2 <> ""
myrange2 = Range("D" & Y).Value
If Right(Range("D" & Y).Value, 3) = Label10.Caption Then
Form1.Text1 = Range("D" & Y).Offset(0, -1).Value
End If
Y = Y + 1
Wend
End With
End With
wbExcel.Save
wbExcel.Close
appExcel.Quit
Set wsExcel = Nothing
Set wbExcel = Nothing
Set appExcel = Nothing
End Sub