Exécution de la macro trop longue
Résolu/Fermé
A voir également:
- Exécution de la macro trop longue
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Macro word - Guide
- Jitbit macro recorder - Télécharger - Confidentialité
- Macro logiciel - Télécharger - Organisation
- Microsoft excel attend la fin de l'exécution d'une action ole d'une autre application ✓ - Forum Word
2 réponses
Gyrus
Messages postés
3334
Date d'inscription
samedi 20 juillet 2013
Statut
Membre
Dernière intervention
9 décembre 2016
524
4 mars 2015 à 15:30
4 mars 2015 à 15:30
Bonjour,
Essaie comme cela
A+
Essaie comme cela
Sub figer_index()
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
With Range("S8:S" & Range("S" & Rows.Count).End(xlUp).Row)
.Copy
.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End With
Range("S1").Select
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub
A+
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 311
4 mars 2015 à 15:38
4 mars 2015 à 15:38
Bonjour
peut-^tre le + rapide
peut-^tre le + rapide
Option Explicit
Sub figer_index()
Dim Derlig As Integer, Lig As Integer, T
Application.ScreenUpdating = False
Derlig = Columns("S").Find("*", , , , , xlPrevious).Row
T = Application.Transpose(Range("S8:S" & Derlig))
For Lig = 1 To UBound(T)
T(Lig) = T(Lig)
Next
Range("S8:S" & Derlig) = Application.Transpose(T)
End Sub
4 mars 2015 à 15:44
En tout cas merci de ton aide
4 mars 2015 à 15:57
encore + rapide quand m^me
ecore 1 fois, mes excuses pour avoir oser te pr^ter main forte, mais ca ne se reproduira plus
4 mars 2015 à 16:04
4 mars 2015 à 16:10
Ensuite, j'ai opté pour un traitement direct de la plage à traiter (pas de boucle).
Pour info, j'ai fais la manip en manuel sur 300 lignes (copie/collage spécial valeurs), le résultat est quasi immédiat.
A+
4 mars 2015 à 16:12