Bonjour,
J'ai une macro qui traite énormément de fichiers, beaucoup de ligne, qui remplit des formules.
Voici mon problème, si je lance la macro et que je ne touche plus à rien, alors j'obtiens le bon résultat sinon, j'ai des incohérences dans les résultats.
J'aimerais pouvoir faire autre chose pendant que ma macro tourne.
Je pense que le problème vient du fait que j'utilise des select/activesheet...Mais comment faire autrement??
Voici une de mes procédures pour vous donner une idée:
J'ai une macro qui traite énormément de fichiers, beaucoup de ligne, qui remplit des formules.
Voici mon problème, si je lance la macro et que je ne touche plus à rien, alors j'obtiens le bon résultat sinon, j'ai des incohérences dans les résultats.
J'aimerais pouvoir faire autre chose pendant que ma macro tourne.
Je pense que le problème vient du fait que j'utilise des select/activesheet...Mais comment faire autrement??
Voici une de mes procédures pour vous donner une idée:
Code:
Private Sub Copy_Neighbour_from_RNO()
wkb_RNP.Activate
Sheets.Add after:=Sheets(Worksheets.Count)
ActiveSheet.name = RNP_in_RNO_results_sh
ligne = 2
For i = 1 To UBound(wkb_RNO)
wkb_RNO(i).Activate
Sheets(RNO_results_sh).Select
If (RNO_col_request < RNO_col_UniqID) Then
Range(Cells(2, RNO_col_request), Cells(2, RNO_col_UniqID)).Select
Else
Range(Cells(2, RNO_col_UniqID), Cells(2, RNO_col_request)).Select
End If
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
wkb_RNP.Activate
Sheets(RNP_in_RNO_results_sh).Select
Cells(ligne, 1).Select
ActiveSheet.Paste
ligne = Rows(ActiveSheet.UsedRange.Rows.Count + 1).Row + 1
Next i
wkb_RNO(1).Activate
'Copy Title from RNO
Sheets(RNO_results_sh).Select
If (RNO_col_request < RNO_col_UniqID) Then
Range(Cells(1, RNO_col_request), Cells(1, RNO_col_UniqID)).Select
Else
Range(Cells(1, RNO_col_UniqID), Cells(1, RNO_col_request)).Select
End If
Selection.Copy
wkb_RNP.Activate
Sheets(RNP_in_RNO_results_sh).Select
Cells(1, 1).Select
ActiveSheet.Paste
Columns("A:B").Select
Selection.Interior.ColorIndex = 35
Columns("A:B").EntireColumn.AutoFit
wkb_RNP.Activate
Sheets(RNP_in_RNO_results_sh).Select
NB_INTRA_FROM_RNO = Rows(ActiveSheet.UsedRange.Rows.Count + 1).Row - 2
End Sub