Bonjour à tous,
De la même façon que le temps d'exécution du code VBA (I) est 100 fois plus rapide que celui du code (II) …
(I)
A = range(''A1 :A100'').value
(II)
Dim A(1 To 100) As Variant: For k = 1 To 100: A(k) = Cells(k, 1).Value
Car les temps de lecture/écriture sont long et le code II ne fait qu'un seul accès à la page
… y 'a-t-il un moyen de récupérer toutes les valeurs de couleur d'un range d'une seule lecture pour gagner du temps avec une fonction miracle qui ressemblerait à çà :
C = range(''A1 :A100'').interior.color
qui renverrait dans C un array de toutes les couleurs ?
Nota: pour gagner du temps j'ai déjà désactivé tous les trucs ralentissant du style :
Application.ScreenUpdating = False
Application.DisplayStatusBar = False
Application.Calculation = xlManual
Application.EnableEvents = False
Merci pour votre aide !
Nicolas
De la même façon que le temps d'exécution du code VBA (I) est 100 fois plus rapide que celui du code (II) …
(I)
A = range(''A1 :A100'').value
(II)
Dim A(1 To 100) As Variant: For k = 1 To 100: A(k) = Cells(k, 1).Value
Car les temps de lecture/écriture sont long et le code II ne fait qu'un seul accès à la page
… y 'a-t-il un moyen de récupérer toutes les valeurs de couleur d'un range d'une seule lecture pour gagner du temps avec une fonction miracle qui ressemblerait à çà :
C = range(''A1 :A100'').interior.color
qui renverrait dans C un array de toutes les couleurs ?
Nota: pour gagner du temps j'ai déjà désactivé tous les trucs ralentissant du style :
Application.ScreenUpdating = False
Application.DisplayStatusBar = False
Application.Calculation = xlManual
Application.EnableEvents = False
Merci pour votre aide !
Nicolas