Bonjour à tous,
Je souhaite faire une statistique ( recenser ) certaines données depuis classeur excel fermé et la noter vers un classeur qui existe déjà.
Pour cela, j'établis ma connection qui marche PERFECTO ! Sauf que les lignes du classeur fermé étant de 2000, ma boucle bug (prends trop de temps ) quand je la fais tourner sur 20 ou 30 à peine ( mais ca marche pour <20 avec un temps d'attente de 1-2 min .
Voilà mon code :
Merci beaucoup pour votre aide qui m'aidera énormément !!!!!!!!!
Je souhaite faire une statistique ( recenser ) certaines données depuis classeur excel fermé et la noter vers un classeur qui existe déjà.
Pour cela, j'établis ma connection qui marche PERFECTO ! Sauf que les lignes du classeur fermé étant de 2000, ma boucle bug (prends trop de temps ) quand je la fais tourner sur 20 ou 30 à peine ( mais ca marche pour <20 avec un temps d'attente de 1-2 min .
Voilà mon code :
Code:
Function LitUneCellule(repertoire As String, fichier As String, feuille As String, i As Integer)
Dim cellule As String
cellule = "L" & i & ":L" & i
Application.Volatile
Set cnn = New ADODB.Connection
'--- Connexion ---
With cnn
.Provider = "Microsoft.Jet.OLEDB.12.0"
.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" _
& repertoire & "\" & fichier & ";Extended Properties=""Excel 12.0 Xml;HDR=NO;"""
.Open
End With
'-----------------
Set rs = cnn.Execute("SELECT * FROM [" & feuille & "$" & cellule & "]")
LitUneCellule = rs(0)
rs.Close
cnn.Close
Set rs = Nothing
Set cnn = Nothing
End Function
_______________________________________________________________________________________________
Sub Lit()
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
Dim i As Integer
For i = 2 To 20
ZB = LitUneCellule("S:\PARIS-VAT", "UNDUE_VAT_REPORT_TABLE_Macro1.xlsm", "Zuzana Bugarova", i)
JP = LitUneCellule("S:\PARIS-VAT", "UNDUE_VAT_REPORT_TABLE_Macro1.xlsm", "Johanna PASDELOUP", i)
SM = LitUneCellule("S:\PARIS-VAT", "UNDUE_VAT_REPORT_TABLE_Macro1.xlsm", "Siouzanna MAIGNAN", i)
JM = LitUneCellule("S:\PARIS-VAT", "UNDUE_VAT_REPORT_TABLE_Macro1.xlsm", "John MINCHOM", i)
BD = LitUneCellule("S:\PARIS-VAT", "UNDUE_VAT_REPORT_TABLE_Macro1.xlsm", "Beatrice DURGHEU", i)
FI = LitUneCellule("S:\PARIS-VAT", "UNDUE_VAT_REPORT_TABLE_Macro1.xlsm", "Isabelle FUTIN", i)
RV = LitUneCellule("S:\PARIS-VAT", "UNDUE_VAT_REPORT_TABLE_Macro1.xlsm", "Reka VEGVARI", i)
AM = LitUneCellule("S:\PARIS-VAT", "UNDUE_VAT_REPORT_TABLE_Macro1.xlsm", "Agnieszka MIEDZIK", i)
og = "Ongoing"
dv = "Due VAT"
oh = "On hold"
cnR = "CN received"
rjec = "Rejected"
tbc = "To be contacted"
Select Case cnR
Case ZB, JP, SM, JM, BD, FI, RV, AM
g = g + 1
End Select
Select Case dv
Case ZB, JP, SM, JM, BD, FI, RV, AM
e = e + 1
End Select
Select Case oh
Case ZB, JP, SM, JM, BD, FI, RV, AM
f = f + 1
End Select
Select Case og
Case ZB, JP, SM, JM, BD, FI, RV, AM
k = k + 1
End Select
Select Case rjec
Case ZB, JP, SM, JM, BD, FI, RV, AM
h = h + 1
End Select
Select Case tbc
Case ZB, JP, SM, JM, BD, FI, RV, AM
j = j + 1
End Select
Next
Cells(18, 3) = g
Cells(19, 3) = e
Cells(20, 3) = f
Cells(21, 3) = k
Cells(22, 3) = h
Cells(23, 3) = j
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub
Merci beaucoup pour votre aide qui m'aidera énormément !!!!!!!!!