Bonjour a tous,
je tente de faire une macro mais elle prend bien trop de temps
voici le code que j'emploie:
Sub Macro2()
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
fin = Sheets("error-report").Range("b65536").End(xlUp).Row
For a = 6 To fin
If Sheets("error-report").Cells(a, 7) <> "" Then
Set SKU = Sheets("data").Columns(1).Find(Sheets("error-report").Cells(a, 2), LookIn:=xlValues, LookAt:=xlWhole)
If Not SKU Is Nothing Then
'aie = MsgBox("sku" & Sheets("error-report").Cells(a, 2) & " not found", vbCritical, "SKU not found")
'Exit Sub
Set Column = Sheets("data").Rows(3).Find(Sheets("error-report").Cells(a, 7), LookIn:=xlValues, LookAt:=xlWhole)
If Not Column Is Nothing Then
' aiee = MsgBox("column " & Sheets("error-report").Cells(a, 7) & " not found", vbCritical, "SKU not found")
' Exit Sub
Sheets("data").Cells(SKU.Row, Column.Column).Interior.Color = 16711935
End If
End If
End If
Next
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomati
End Sub
*********************************
l'objectif de la macro:
que en page data la cellule qui fait l'intersection de la ligne x et de la colonne y soit mis en couleur
le x est determiné en page error report colonne B et le y en page error report colonne G
je mets donc un for next pour faire une boucle
jai fait un essai avec 5000 sku en page 1 et page 2 : ca a mis + de 10 minutes.
Je dois a tout prix reduire le temps
quelqu'un aurait une idée ou un code tout a fait different poiur reduire ce temps?
Merci a tous
je tente de faire une macro mais elle prend bien trop de temps
voici le code que j'emploie:
Sub Macro2()
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
fin = Sheets("error-report").Range("b65536").End(xlUp).Row
For a = 6 To fin
If Sheets("error-report").Cells(a, 7) <> "" Then
Set SKU = Sheets("data").Columns(1).Find(Sheets("error-report").Cells(a, 2), LookIn:=xlValues, LookAt:=xlWhole)
If Not SKU Is Nothing Then
'aie = MsgBox("sku" & Sheets("error-report").Cells(a, 2) & " not found", vbCritical, "SKU not found")
'Exit Sub
Set Column = Sheets("data").Rows(3).Find(Sheets("error-report").Cells(a, 7), LookIn:=xlValues, LookAt:=xlWhole)
If Not Column Is Nothing Then
' aiee = MsgBox("column " & Sheets("error-report").Cells(a, 7) & " not found", vbCritical, "SKU not found")
' Exit Sub
Sheets("data").Cells(SKU.Row, Column.Column).Interior.Color = 16711935
End If
End If
End If
Next
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomati
End Sub
*********************************
l'objectif de la macro:
que en page data la cellule qui fait l'intersection de la ligne x et de la colonne y soit mis en couleur
le x est determiné en page error report colonne B et le y en page error report colonne G
je mets donc un for next pour faire une boucle
jai fait un essai avec 5000 sku en page 1 et page 2 : ca a mis + de 10 minutes.
Je dois a tout prix reduire le temps
quelqu'un aurait une idée ou un code tout a fait different poiur reduire ce temps?
Merci a tous