Bonjour,
J’utilise une macro pour consolider des données se trouvant sur plusieurs feuilles Excel (nommées X, Y et Z dans mon code). Ma feuille de consolidation se nomme « Conso ».
La macro est très lente, surtout au moment de coller les données dans le tableau de la feuille Conso.
La principale raison est le fait que le collage sur un tableau Excel ralentit vraiment la macro...
Si quelqu’un peut me donner des conseils pour réduire le temps de ma macro ou l’améliorer...
Merci par avance !
J’utilise une macro pour consolider des données se trouvant sur plusieurs feuilles Excel (nommées X, Y et Z dans mon code). Ma feuille de consolidation se nomme « Conso ».
La macro est très lente, surtout au moment de coller les données dans le tableau de la feuille Conso.
La principale raison est le fait que le collage sur un tableau Excel ralentit vraiment la macro...
Si quelqu’un peut me donner des conseils pour réduire le temps de ma macro ou l’améliorer...
Merci par avance !
VB:
Sub MAJ_Database()
Application.ScreenUpdating = False
On Error Resume Next
'Sélection de la feuille Conso pour supprimer les précédentes données
Sheets("Conso").Activate
Range("B2", Selection.End(xlDown)).EntireRow.Delete
On Error GoTo 0
'--- ONGLET X ---
'Sélection de la feuille X et copie des valeurs
Sheets("X").Activate
Range("A2:Z2", Selection.End(xlDown)).Copy
'Sélection de la feuille Conso pour coller les valeurs
Sheets("Conso").Activate
Range("B2").PasteSpecial xlPasteValues
'--- ONGLET Y ---
Sheets("Y").Activate
Range("A2:Z2", Selection.End(xlDown)).Copy
'Sélection de la feuille Conso pour coller les valeurs
Sheets("Conso").Activate
Range("B" & Rows.Count).End(xlUp).Offset(1).PasteSpecial xlPasteValues
'--- ONGLET Z ---
Sheets("Z").Activate
Range("A2:Z2", Selection.End(xlDown)).Copy
'Sélection de la feuille Conso pour coller les valeurs
Sheets("Conso").Activate
Range("B" & Rows.Count).End(xlUp).Offset(1).PasteSpecial xlPasteValues
Application.ScreenUpdating = True
MsgBox "Le contenu a été actualisé dans l'onglet 'Conso' !"
End Sub